百度
1,http几种方式,区别,,怎么优化
2,aidl使用及怎么实现回调
3,webview使用,一些与底层的交互.
4,离职原因.
英伟达
1. 首先让做了自我介绍。
2. 前几问主要是从某站上翻下来的JAVA面试题
3. 有些细节比如GC和G1的回收算法.
4. 然后问安卓。handler,线程管理优化,四大控件的一些基础用法等等
5. 问android系统底层实现主要问底层IO,底层协议,写shell限制管程调度
6. 然后海量的C++细节题
7. 再之后是脑筋急转弯和数学题...
阅文集团起点中文网
1. 面试前要求做了一个算法题:从根节点向下逐层分别输出一棵树的所有节点值。
2. 算法还算简单,解答完后就开始谈Android的问题,一开始问了Handler导致Activity无法回收,内存泄露的问题,其实就是Activity销毁时,如果Handler还是处理消息,就会导致Activity被引用无法释放的问题,解决办法是使用静态Handler以及弱引用来避免无法销毁Activity引用的问题。
3. 后面就聊了自己做过的项目,并且会就你说的项目深入问一些相关的问题。
4. 最后还问了自己最满意的一个项目或一段编程经历。我主要是说了我看Android源码时,对View的3个重要步骤的看法——measure、layout、draw。
5. 最后hr问了自己为什么选择阅文的原因等,一些观念问题,随后就发了offer。
6. 总体看来面试过程中只要自己真正做过些项目,并认真思考过项目中的一些问题,把它们讲清楚就行。算法题相对还是简单的,面试前突击复习下就没问题。
全部评论
(3) 回帖