最近跟一个读者“小凡”聊天,他准备了3个月,刚刚参加完腾讯音乐的第三面,嗯,挂了…
让我们来一起看看腾讯音乐,面试官都问了什么呢?你能答上来多少?
一面:
- ArrayList的使用,使用过程中有没有遇到过坑;CAS机制分析;Lock与synchronized基本原理;
- 常用的排序算法有哪些?字符串;反转链表反转(头插法);还问了HashMap,问了差不多20分钟。还有aba问题,GC算法,泛型的边际这些东西;
- 接着问了Handler中loop方法为什么不会导致线程卡死,还有就是动画的原理,问他有没有实战过补间动画;
- Bugly上面收集到的最难的bug是怎样的,如何解决的?
二面:
- MeasureSpec的意义,一般怎样计算MeasureSpec;自定义View和自定义ViewGroup的区别;
- onmeasure,onLayout,onDraw的调度流程;自定义View的measure时机;有没有写过自定义View;
- Glide使用过程中的坑,EventBus使用过程中的坑;
- 多线程开发中你都在哪些地方使用过sleep,wait,分别怎么使用的;还有网络协议okhttp中的缓存机制,dex加载流程,组件化的原理;
- Fragment的生命周期管理过程中遇到的坑和解决办法;还有排序算法,还有观察者模式和单例模式,还问了抽象类和接口的关系;
三面:
- 应用启动流程,activity 启动流程,为什么要每个应用有一个自己的虚拟机,这个虚拟机和JVM的关系。
- databinding原理,binder原理;
- 多进程通信问题;binder优势;aidl生成的java类细节;多进程遇到过哪些问题?
- 子线程中维护的looper,消息队列无消息时候的处理节省性能的处理方案;
- 你遇到的最难的技术问题和解决方案;
从腾讯音乐面试官提的这些问题,也可以看出,现在面试问的很多都是原理。一线互联网大厂,像腾讯、阿里、京东等招聘安卓高工,对Java的基础知识要求很高,尤其是要求熟练掌握算法和数据结构,技术面试一定会考算法!但作为面试者,想进入BAT并成长为一名高级Android工程师却没那么容易。 虽然面试者具备了一定的工作年限要求,也具备着一定的开发经验,但面试时,面对刨根问底的提问,经常感觉get不到面试官的点,自己回答的也是马马虎虎,甚至无法完整描述自己开发过的系统或者使用过的技术,因此也就很难得到满意的面试结果。
2021比2020其实更卷,而且还有很多小伙伴在面试中屡屡碰壁,不是基本功不扎实就是遇到一些平时没怎么接触过问题还失败告终。今天在这特地整理了一份阿里、腾讯、字节跳动、美团、哔哩哔哩、华为、饿了么等大厂Android岗面试必备清单!
这份总结内容涵盖极广,包含了 8个大技术栈。每个知识点都有左侧导航书签页,看的时候十分方便, 这些已经整理在Github,如果你有需要完整版,可点击传送门直达!
Android高频面试之必考Java基础
Android面试之必问Android基础
Android面试之必问高级知识点
Android面试之必问性能优化
Android面试之开源库分析
算法面试题汇总
Android面试之Flutter相关面试题全解析
Android面试之必问设计模式
最后
整份文档一共有将近 200 页,全部为大家展示出来肯定是不太现实的,为了不影响大家的阅读体验就只展示了部分内容,还望大家海涵,希望能帮助到您面试前的复习且找到一个好的工作,也节省大家在网上搜索资料的时间来学习! 这些已经整理在Github,如果你有需要完整版,可点击传送门直达!