前言

笔者是前腾讯Android高工,曾经多次担任面试官,现在在字节code。

从毕业到现在,被别人面试过,也面试过别人,大大小小的面试,一两百次,也算久经沙场。

现在,我以腾讯非在职员工的身份来和大家分享一下腾讯、字节等大厂Android岗面试的流程、攻略以及一些建议,希望能帮到看见这篇文章的有缘人。

都是干货,赶紧收藏,三连走起。

提笔初衷

写这篇文的初衷是有很多朋友都在问我腾讯面试相关的问题(嗯哼,不少都是来打探面试真题的)。通过交流得知,不管是老猿还是新手,大家或多或少都有些害怕面试,尤其是大厂的面试。所以,在这里详细的讲一下。

PS:本文涉及的范围很广,对多数面试腾讯的人来说都有参考价值,即便是准备面试其他公司,也有很多相通的地方。相信大家看完本文之后,一定会有所收获。

关于工作的Q&A

应届生的话,这里就不多说了,只有一个建议:去大厂(大厂都可以,都能学到东西,薪资条件什么的自己看着选)。

这里主要给已经有3~5年的Android开发经验的朋友心中的一些疑惑做一些解答。

我现在到底该不该跳槽?

首先你需要想清楚,你想要的待遇薪资、公司平台、团队氛围、老板实力是什么样子。这些因素在综合影响着你的工作和发展,如果只是厌烦当下的工作,没有目标就跳槽的话成本太高了。

第二个需要思考的问题就是:你为面试做好准备了吗?
简历优化好了吗?面试前要准备的技能知识复习好了吗?算法题刷的怎么样了?项目准备好如何去说了吗?如果你的回答是NO,八成会成为炮灰。

腾讯(大厂)面试要怎么准备?

设个问题涉及的内容很多,下面的版块会展开进行详细讲解。

面试流程
大厂的部门一般比较多,岗位类型多,职级差异也大,所以大家的面试流程都是不一样的。

一般来说,针对高开,大部分的大厂面试都会经历2轮技术面,1轮领导面,1轮HR面,如果面试情况有争议(或者面的特别好的情况)会有一轮加面,总体来讲总共会有4轮面试。

以字节为例,基本上所有面试都会在线上进行,一面2轮技术面,2面领导面(也会有一些技术的考察),3面就是HR面谈薪资和定级了。

这里图解说一下普适性的面试流程。
(PS:面试如打怪升级,大家要先通关前面才能进入后面。大家可以通过这张图来看自己打到了那里。)

学习路线以及思路

大家可以先从下面几个方面来准备技术面试:
如下示例,非常详细!!!

  • 泛型原理丶反射原理丶Java虚拟机原理丶线程池原理丶
  • 注解原理丶注解原理丶序列化
  • Activity知识体系(Activity的生命周期丶Activity的任务栈丶Activity的启动模式丶View源码丶Fragment内核相关丶service原理等)
  • 代码框架结构优化(数据结构丶排序算法丶设计模式)
  • APP性能优化(用户体验优化丶适配丶代码调优)
  • 热修复丶热升级丶Hook技术丶IOC架构设计
  • NDK(c编程丶C++丶JNI丶LINUX)
  • 如何提高开发效率?
  • MVC丶MVP丶MVVM
  • jetpack组件库
  • 微信小程序
  • Hybrid
  • Flutter

分享一份由几位大佬一起收录整理的 Android学习PDF+架构视频+面试文档+源码笔记高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料分享出来,希望可以帮助到大家提升进阶。

获取方式

以上完整学习笔记pdf全部免费分享,需要的朋友可以一键三连(点赞+收藏+关注)后,【点击这里直达免费获取方式

部分学习资料

架构师筑基必备技能

知识要点:

  • 1、深入理解Java泛型
  • 2、注解深入浅出
  • 3、并发编程
  • 4、数据传输与序列化
  • 5、Java虚拟机原理
  • 6、高效IO

设计思想解读开源框架

知识要点:

  • 1、热修复设计
  • 2、插件化框架设计
  • 3、组件化框架设计
  • 4、图片加载框架
  • 5、网络访问框架设计
  • 6、RXJava响应式编程框架设计
  • 7、IOC 架构设计
  • 8、Android 架构组件 Jetpack

360°全方位性能调优

  • 启动速度
  • 流畅度
  • 抖音在APK包大小资源优化的实践
  • 优酷响应式布局技术全解析
  • 网络优化
  • 手机淘宝双十一性能优化项目揭秘
  • 高德APP全链路源码依赖分析
  • 彻底干掉OOM的实战经验分享
  • 微信Android终端内存优化实践

Android框架体系架构

本篇知识要点:

  • 1、高级UI晋升
  • 2、Android内核组件
  • 3、大型项目必备IPC
  • 4、数据持久与序列化
  • 5、Framework内核解析

图片说明

完整学习笔记pdf全部免费分享,需要的朋友只需一键三连(点赞+收藏+关注)后,【点击这里直达免费获取方式

NDK模块开发(音视频系列)

  • 本篇知识要点:
  • 1、NDK开发之C/C++入门
  • 2、JNI模块开发
  • 3、Linux编程
  • 4、底层图片处理
  • 5、音视频开发
  • 6、机器学习

Flutter学习进阶

本篇知识要点:

  • 1、Flutter跨平台开发概述
  • 2、Windows中Flutter开发环境搭建
  • 3、编写你的第一个Flutter APP
  • 4、Flutter Dart语言系统入门

微信小程序开发

知识要点:

  • 1、小程序概述及入门
  • 2、小程序UI开发
  • 3、API操作
  • 4、购物商场项目实战

Android相关源码解读
只要是程序员,不管是Java还是Android,如果不去阅读源码,只看API文档,那就只是停留于皮毛,这对我们知识体系的建立和完备以及实战技术的提升都是不利的。

部分面试题

高级开发面试题1.0

  • 1、Handler相关知识
  • 2、Activity 相关
  • 3、 Fragment
  • 4、Service相关
  • 5、Android布局优化之ViewStub.include.merge
  • 6、 BroadcastReceiver相关
  • 7、AsyncTask 相关
  • 8、Android 事件分发机制
  • 9、Android View 绘制流程
  • 10、Android Window、Activity、 DecorView 以及 ViewRoot
  • 11、Android 的核心 Binder 多进 程 AIDL
  • 12、Android 高级必备 : AMS,WMS,PMS
  • 13、Android ANR
  • 14、Android内存相关
  • 15、Android屏幕适配
  • 16、Android缓存机制
  • 17.Android 性能优化
  • 18、 Android MVC.MVP、MVVM
  • 19、Android Gradle知识
  • 20、RxJava
  • 21.OKHTTP和Retrofit
  • 22、最流行图片加载库:Glide

高级开发面试题2.0

  • 1.Activity
  • 2.Service
  • 3.BroadcastReceiver
  • 4.ContentProvider
  • 5.Handler
  • 6.View绘制
  • 7.View事件分发
  • 8.RecycleView
  • 9.Viewpager&Fragment
  • 10.Webview
  • 11.动画
  • 12.Bitmap
  • 13.mvc&mvp&mvvm
  • 14.Binder
  • 15.内存泄漏&内存溢出
  • 16.性能优化
  • 17.Window&WindowManager
  • 18.AMS
  • 19.系统启动
  • 20.App启动&打包&安装
  • 21.序列化
  • 22.Art & Dalvik及其区别
  • 23.模块化&组件化
  • 24.热修复&插件化
  • 25.AOP
  • 26.jectpack
  • 27.开源框架

获取方式

以上完整学习笔记pdf全部免费分享,需要的朋友可以一键三连(点赞+收藏+关注)后,【点击这里直达免费获取方式