网易杭研Android
网易杭研面经
一面:
1.上来直接让写个堆排,算法还可以,无压写出
2.Handler机制,Handler除了线程通信还有什么作用,这个我说通知吧,因为Android是消息驱动的,不是特别明白面试官要问哪点,难道是延时?
3.Activity的启动模式,每种启动模式的使用场景,singletop中回调onNewIntent和finish掉之后onCreate()有什么不同?,这个4种的使用场景中,我singletop回答不是特别好,应该是那种频繁接受消息的activity需要使用,
4.设计模式,适配器模式,画出类图,这个怪我,面试官说设计模式熟悉吗,我就说23种随便问(因为我也没那个特别熟悉),结果问了个适配者模式,我画出个不是特别标准的UML类图,然后面试官问我,有几种类图结构,自然不知道
5.Fragment的生命周期,栈管理,和commit()类似的方法还有哪个,commit类似的那个之前真没注意,应该是commitAllowingStateLoss(),区别是是否能在activity保存之后调用
6.单例模式,单例和静态方法有什么不同,区别分析的不全面
7.实现一个文件夹列表,面试官要求5000个文件的时候才从ViewGroup转到ListView
一面有些糟糕,每个问题的基础全部答出了,但深入拓展回答的不是很好
二面:
1.Rxjava在使用的时候和传统代码有什么区别
2.强引用和弱引用同时引用一个对象是否会被回收
3.ART和Dalvik的区别
4.java内存分区,垃圾回收机制
5.主键和唯一的区别,回答是否能为空,是否能做外键
6.批量插入50条联系人,比较高效的方法,ContentProvider是否了解原理,这个问题没有回答出来
7.自旋锁和syn关键字的区别
8.volatile关键字的原理,我画了个工作内存和主内存的图
9.启动一个APP的流程
10.手写一个工厂模式,我就写了个最简单的
11.方法加syn和syn一个对象有什么区别
二面比一面感觉好一些,批量插***系人和自旋锁(我忘了它就是Lock了)那2个问题没回答好,其他还可以
HR面:
1.说下你做的APP
2.工作中遇到的难点
3.工作地点要求
4.期望薪资
5.问题
网易面试没问项目,全程知识点,面试效果一般,没有把握肯定过,看来还有很多基础需要学习。
#网易##安卓工程师#