一面
首先进行自我介绍
然后面试官根据我简历上写的项目问了个遍,然后开始问知识点。
- volley的源代码,在图片缓存部分讨论了挺长时间,http中缓存机制,Last-Modify的作用等;
- fragment的生命周期 ;
- service一些知识 ;
- 事件分发机制 ;
- Binder实现机制,Stub类中asInterface函数作用,BnBinder和BpBinder区别;
- gradle中buildToolsVersion和TargetSdkVersion的区别是什么 ;
- 手机适配一些方案 ;
- hashmap的实现原理 ;
- 静态方法是否能被重写;
二面
自我介绍
- 3次握手和4次挥手的原因,以及为什么需要这样做;
- 数据结构,搜索二叉树的一些特性,平衡二叉树;
- hashmap是如何解决hash冲突的;
- 进程与线程区别;
- 写了一个二分查找和单例模式;
- http中的同步和异步;
最后聊了一下自己项目上做的东西,在问了问我的职业规划;
三面
自我介绍
我认为Android做的优秀的几个地方,然后又根据我说的问了问比较深入问题;
- Android是如何进行资源管理的;
- java比较重要的几个特性;
- 网络五层结构,每一层协议,由于我网络不是很好,还问了一些其他的问题(例如MAC地址和ip地址的区别等);
在面试结束前询问了我为什么离开原来公司,以及个人的职业规划,对这家公司的看法
Android面试题和答案已按照规范已整理完成,大家可看文末或评论/私信,一起交流技术、进阶提升~
感谢阅读并祝你面试好运!
公众号:Android Jasper 专注分享面试题|面试技巧|Android学习资料。
#饿了么##Android##安卓开发##面经##面试#