阿里钉钉 -- Android面经
阿里钉钉一面(面试时长80min)
1. 自我介绍,对自己项目的介绍,架构图呈现
2. 因为说自己以后的发展方向是音视频,所以问了我用过哪些现有框架
3. 项目中的一些优化问题,MVC -> MVP,Handler的内存泄漏情况分析等,对MVP和MVVM的理解。
4. 项目中的第三方库选择的问题,因为简历中写了我对第三方库选择的问题,比如选ObjectBox和greenDao的问题,图片加载框架问题
5. HashMap和HashTable,引申ConCurrentHashmap的深入,version1.7和1,8的区别,以及高并发下HashMap发生的问题
6. 四大启动模式,以及场景对应
7. Handler的机制介绍,不存在消息时的IdleHandler的运作机制,为什么不能在子线程初始化问题
8. 设计模式中的单例介绍,使用场景(Okhttp的Seesion存储等等),在线编写
9. 快排算法
10. OkHttp的源码分析,及整体架构的流程图绘制
11. 四大组件的完整介绍,及深入,答了IntentService、LocalBroadcast
12. 四大引用的问题和MVP框架相结合进行回答
13. 网络中的响应码对大体进行回答,具体回答了200、404、500、304等
14. View绘制流程问题,如何不使用xml,来实现中间位置的定位
15. 事件分发机制流程讲解,以及如何实现单击事件和长按事件的判定
16. 关于为什么选用mqtt协议的问题,优势,原理等等(没答上来,只说针对性做过测压,以及oceanlink和mqtt的对比)
阿里钉钉二面(面试时长30min,等待三面状态)
1. 自我介绍,优缺点的,以及未来希望的发展方向
2. 目整体介绍,如何做到分压啊之类的问题
3. 如果给我阿里、腾讯、头条、谷歌的offer的一个选择(不掺杂地域性的问题),首先直接否定了google我就的一个企业的商业模式进行分析。
4. 我对钉钉这个产品的理解,我的回答是就的是钉钉前身的对标项目微信,已经后期转型的商业模式作出的分析,最后给出的我的结论是一个企业性质的办公软件
5. 给出了钉钉一个mac平台的关于共享屏幕的耗CPU的问题
6. 让我提问,提的是关于音视频发展方向的问题,具体是一个发展空间。
#阿里巴巴##安卓工程师##面经##校招#