Android 面试复盘与跳槽准备实战指南
战绩
先上战绩,仔细看看会发现,多数公司只有一面之缘,有的甚至连见都不愿意见一面。建议大家在找工作的时候自己做个记录,每次面试之后进行反思总结,对于面试过程中发现问题,及时弥补。
| 时间顺序 | 公司 | 岗位 | 状态 | 分析原因 |
|---|---|---|---|---|
| 1 | 快手 | Android 架构开发工程师 -【直播】 | 一面挂 | 表达能力欠佳;知识点不够深入;知识面广度需提高 |
| 2 | Shopee | Android 开发工程师 | 简历挂 | 简历里关于工作经历描述有问题 |
| 3 | 小满科技 | Android 开发工程师 | 简历挂 | 大概率不敢要 |
| 4 | 腾讯音乐 (QQ 音乐商业化) | Android 开发工程师 | 一面挂 | 方向不符合,对工作经历表述有问题,HR 的锅 |
| 5 | 知乎 | Android 开发工程师 | 简历挂 | 无 |
| 6 | 京东 | Android 开发工程师 | 简历挂 | 无 |
| 7 | 快手 | Android 开发工程师-RN 方向 | 简历挂 | 被卡简历了 |
| 8 | 字节跳动 | Android 开发工程师 - 国际化直播 | 一面挂 | 问了好多简历之外的东西,比如性能优化,完全答不上来 |
| 9 | 腾讯音乐 (全民 K 歌) | 互动视频产品 Android 高级工程师 | 五面 (offer) | 都拿到 offer 了还说啥 |
| 10 | b 站 | Android 开发工程师 | 三面挂 | 在想要一份什么样的工作的问题上的表述有问题 |
| 11 | 货拉拉 | Android 开发工程师 | 一面挂 | 不知道要怎么说 (简历没啥可问?),估计又是 HR 的锅 |
跳槽经验总结
1、离职原因
马云说过,员工离职无非两点:钱给少了、心委屈了。其实还有一点:没成长 (成长有限)。
明确自己的离职原因很重要,一方面面试的时候面试官会问,另一方面你提离职的时候也会问,还有就是你的离职理由是你跳槽的动力。当有跳槽想法的时候先想一个问题:你现在有什么,你想要什么,为什么要 (有什么好处,和现在对比呢),明确这个问题的答案再考虑跳槽。
面试的时候,面试官问你为什么跳槽,切忌不要讲现公司的坏话 (即使它真的不太行),尽量往个人发展这个方向上靠。当然面试官有另外一种问法:你想要一份什么样的工作,其实答案是一样的,只不过换了一种描述方式罢了。
提离职的时候,上级问你为什么要走,切忌不要讲坏话 (即使它真的不太行),可以以个人发展和实际工作感受展开讲讲,当然有家庭因素的也可以讲。大家有缘一起共事,有的时候也要好聚好散,撕破脸皮对彼此都不好。
给后辈一些经验:对于刚毕业不久的人,薪资不要看的太重,高薪不是人人都能拿,背后有相应的代价 (当然如果现在的工作回报/投入比太低,那也可作为你跳槽的理由,但不要展现出来)。
2、面试讲稿准备
面试的时候,除了安卓基础和算法需要准备,其他方面的描述也要准备,因为其他方面的描述可能会成为否决你的关键因素 (面 B 站的时候就是),这些描述看着简单,但深藏陷阱,一个不留神会让你前期的努力白费了。
总结一下,需要准备的描述有:
- 自我介绍 (必备)
- 离职原因 (必备)
- 想要一份什么样的工作 (离职原因的另一种说法)(必备)
- 工作经历介绍 (建议准备,可能会问)
- 项目介绍 (必备)
- 收获 (看个人,建议也准备一下,有些公司会问)
- 转行原因 (针对那些转行的同学必备)
对于上述的内容,建议先思考然后再写下来,没事就看两眼,读一读,在不断面试过程中进行修改完善,到最后你就得心应手了。
3、简历撰写和投递
简历撰写这个,我是吃了不少亏,所以在这要重点讲一下。
简历无非介绍你个人情况:个人基本信息,联系方式,毕业学校,工作经历,专业技能,项目经历等等。要记住,简历是要展示你个人实力的,那些与岗位无关的内容就没必要写进去了,或者直接一笔带过。
个人基本信息,联系方式,毕业学校这几个如实填写就好了,别造假 (造假啥结果,你懂的)
专业技能这里,一定要写你会的,你不会的,或者只是了解的就不要写进去了,以免被问到答不上来导致面试官怀疑你的能力;写的时候也不要写的太简单,比如直接写熟悉 Java,熟悉 Android 等等,这样面试官提问就会自由发挥了,应该带有引导性的来写,例如:熟悉 Java 常用的数据结构,对其原理有一定了解。这么写一方面让你在复习的时候方向明确,另一方面就是面试的时候能避免面试官随机提问问到你不熟的领域 (当然还是要看面试官,有的面试官不按套路你就没辙了)。
工作经历和项目经历两块内容可以合并起来写,当然也可以拆开
拆开:拆开来写的话,在工作经历这里就大概写写具体负责什么工作,有什么产出,利用 STAR 法则写更好。重点是项目经验这里,需要写明你具体负责了哪些功能开发 or 优化,用的什么技术 (对于这些技术你也要做相应的功课,必问),带来了什么效果之类的;这部分不用写很多,可以先写下项目介绍的草稿,然后修改修改之后从中提取关键的信息写到简历里。
合并:如果合并来写,无非就是介绍工作同时把负责的项目写进去罢了,写法类似拆开,这里就不再赘述。
对于一些工作经历和意向岗位不匹配的同学 (即转行),建议将工作经历和项目经历拆开来写,工作经历一笔带过,重点写项目经历,项目一定是要匹配意向岗位的,要突出自己的思考以及技术能力。
写完简历之后给朋友或者认识的前辈看看,让他们给你点建议,多找几个人给你看看,这样才能万无一失。
简历投递顺序,可以先从体量较小的公司下手,看一下外面对你的认可程度同时锻炼面试能力 (你要是很自信,那直接投心仪公司也不是不行),面几家之后开始投规模较大的公司,把意向公司放到后面投递,这样稳扎稳打才能取胜 (我是大厂和小厂一起投递了,结果小厂没反馈,大厂先给了面试,前期面试吃了不少亏,如果没有很自信和硬实力,还是由小到大来投递)。
4、心态准备
既然你已经决心要跳槽了,那么你就要坚定自己的意志,不能受外界的影响。面试初期处处碰壁,甚至被面试官嘲讽,一度怀疑是不是自己不行导致找不到工作,甚至想放弃,但后来还是坚持下来了,并收到了 TME 的 offer。
总结一下,面试其实是个双向的过程,这一家看不上你,那就下一家,总会遇到合适的,千万不要别人一句话就全盘否认自己。
Tips:
面试过程中会遇到形形色色的面试官,面试过程要保持一颗平常心,而且不要想这是面试,想着这是一场交流会,通过交流沟通彼此了解。
面试官会给你建议,会指出你的问题,对于这些问题要虚心接受,知道怎么改过。
当然有些面试官就是来嘲讽你的,莫慌,不管就行了,因为即使你后面入职了,面试官会是你的同事 or 上级,你觉得在这种工作环境下还能顺心吗。
5、其他
每次面试都做个记录和总结,然后调整心态继续下一场面试,毕竟知己知彼,才能百战百胜嘛。
技术方向准备
技术方向的准备就看具体岗位了,Android 这边面试常问的分为技术基础 + 算法 + 项目。以下是整理的一些学习方向和知识点,供参考。
1. 2020 大厂面试高频知识点
- 图片
- 网络和安全机制
- 数据库
- 插件化、模块化、组件化、热修复、增量更新、Gradle
- 架构设计和设计模式
- 性能优化
- Android Framework
- Android 优秀三方库源码
2. Jetpack 架构组件从入门到精通
- Android Jetpack - Navigation
- Android Jetpack - Data Binding
- Android Jetpack - ViewModel & LiveData
- Android Jetpack - Room
- Android Jetpack - Paging
- Android Jetpack - WorkManger
- Android Jetpack 架构组件之 Lifecycle
- Android Jetpack Compose 最全上手指南
3. Framework 精编内核解析
主要内容包含:
- 深入解析 Binder
- 深入解析 Handler
- Dalvik VM 进程系统
- 深入解析 WMS
- PackagerManagerService
4. Kotlin 强化实战
- 第一章 Kotlin 入门教程
- 第二章 Kotlin 实战避坑指南
- 第三章 项目实战《Kotlin Jetpack 实战》
- 从一个膜拜大神的 Demo 开始
- Kotlin 写 Gradle 脚本是一种什么体验?
- Kotlin 编程的三重境界
- Kotlin 高阶函数
- Kotlin 泛型
- Kotlin 扩展
- Kotlin 委托
- 协程'不为人知'的调试技巧
- 图解协程:suspend
5. Android 设计思想解读开源框架
- 热修复
- 插件化
- 组件化框架设计
- 图片加载框架
- 网络请求框架
- RXJava 响应式编程框架设计
- IOC 架构设计
- Android 架构组件 Jetpack
6. NDK 模块开发
- NDK 模块开发
- JNI 模块
- Native 开发工具
- Linux 编程
- 底层图片处理
- 音视频开发
- 机器学习
7. Android 源码解析
'编程语言是程序员的表达的方式,而架构是程序员对世界的认知'。所以,程序员要想快速认知并学习架构,读源码是必不可少的。阅读源码,是解决问题 + 理解事物,更重要的:看到源码背后的想法;程序员说:读万行源码,行万种实践。
主要内含微信 MMKV 源码、AsyncTask 源码、Volley 源码、Retrofit 源码、OkHttp 源码等等。
希望以上经验能帮助到大家。求职之路虽充满挑战,但只要不断复盘、持续精进,终会找到适合自己的机会。保持耐心,坚持到底。


