网易杭研院Android开发二面已跪
一面
(自我介绍两句就开始说项目)
1.共享变量的线程安全(自旋锁和synchronized区别)
2.sqlite如何批量插入大量数据,如何提高效率(放到一个事务里)
3.软引用和弱引用
创建弱引用的时候,构造方法传入一个ReferenceQueue,作用是什么
5.binder相关
6.启动一个应用的流程(从点击桌面的icon开始)
7.一个进程里有五十个线程去请求一个系统服务,为什么有的线程马上就得到响应,有的会延迟多少毫秒(原因是系统服务那边是一个线程池,默认只有八个线程)
8.volitate的实现原理(说到了内存屏障)
9.数据库索性,底层实现,有哪些实现当方式(扯到B 树相关)
10.B 树的实现会不会
11.ViewPager如何判断左滑右滑
12.activity的启动模式及在你项目里的应用
13.View事件分发机制
14.jvm相关
15.view事件冲突的处理
16.android7.0的虚拟机的优化(什么即时编译)
(期间有些问题不会,但是我把面试官往自己会的方面引导,这样曲线救国,效果还不错)
二面
1.一上来就手写堆排序
2.fragment 和activity之间如何选择(说出自己的理解)
3.设计模式,单例模式和静态方法的区别(可以从加载时机,java面相对象方面分析)
4.android6.0 的动态权限(聊项目时扯上去的)
5.View的绘制过程
6.handler相关
(二面各种挑问题,不管说什么总能被面试官刺到软肋,期间各种嘲笑我,只会用,说的都是已有现成的别人的东西,没有自己的理解(ಡωಡ) )
#安卓工程师##网易#