网易android实习生面试记录
android 超级菜的菜鸟中的菜鸟,自学了android半年,面试网易android的实习生,一轮技术面两个小时,面试完说我技术面试过了,隔了一天之后,电话通知我主管面试,然后就 gg,一轮主管面一个多小时,主管面问兴趣爱好福利啥的。。。。(几天后收到挂了不合适。。。。)
今天打开电脑想要删掉一些东西,发现面试的这些问题,把它们放在这里记录一下技术面的题目,防止丢失。。。。在电脑时不时会误删
数据结构
1、平衡二叉树
2、用两个栈实现一个队列
3、重组二叉树
linux 小知识点
jni使用,包括c++知识
rxjava优点,设计模式,源码,Observable、Observer流程
android
1、view,SurfaceView,GLSurfaceView的关系和区别
2、各种动画的区别,500张图片怎么使用帧动画实现,怎样避免OOM,平时用什么动画,属性动画和补间动画的区别
3、对懒加载的理解
4、开发过程中整体怎么考虑,注意什么方面
5、横竖屏切换生命周期的调用,怎么配置
6、有几种广播,怎么配置,有什么区别,自己对粘性广播的理解,系统中有什么用到了粘性广播
7、系统异常退出怎么保存数据,调用什么方法,怎么恢复数据,在哪里恢复数据
8、fragment 和 fragmentPagerAdapter使用,fragment在哪个方法中初始化的
9、什么情况会造成内存泄露,怎么避免,handler为什么会内存泄露,怎么解决,为什么要用弱引用
10、各种情况的优化,比如listview加载数据怎么优化,有几种优化的方案,LRCache原理
11、如何防止Service被kill
12、AIDL使用,源码
13、binder机制
14、对进程守护的理解
15、消息机制
16、滑动冲突解决,事件分发机制
17、adapter 和 listview 的工作流程,转换流程,内部原理
18、自定义view流程,onMeasure三种模式的区别和应用,对MeasureSpec的理解
19、继承ViewGroup,在纸上写出,如何自定义 LinearLayout 和 Relativelayout
20、打开手机随便指出一个界面,怎么自定义View实现,流程
java
1、对多态理解
2、写两个线程,交替打印1到100的奇数和偶数,在纸上写出
3、有没有使用过Lock,怎么使用,和synchronized有什么区别,从jvm角度解释
4、StringBuilder 和 StringBuffer区别,为什么,里面实现
5、ArrayList 和 LinkedList 区别,原理
jvm
1、gc垃圾回收
2、静态分派和动态分派
3、四种引用的区别
设计模式
观察者模式、享元模式、责任链模式