美团Android开发一面面经
面试时常:50分钟
上来首先自我介绍,随后两道算法题
1、数组中最长上升子序列
2、连续子数组最大和
Java:
1、匿名内部类访问局部变量的时候,为什么变量必须要加上final?
2、HashMap底层数据结构?怎么解决hash碰撞?扩容机制是怎样的?
3、讲一讲HashTable和HashMap的区别?
4、LinkedHashMap知道吗,讲一下?
5、讲一讲HashMap和TreeMap的区别?
6、JVM内存区域模型?各部分具体的作用是什么?
7、类加载的过程讲一下?
8、synchronized和volatile的区别
9、DCL一定是安全的吗?为什么?
10、什么是指令重排?
Android:
1、apk有几种安装方式?apk的安装过程是怎样的?
2、讲一讲Android都用过哪些虚拟机?Dalvik虚拟机和ART虚拟机的区别是什么?
3、Android系统是基于Linux内核的,为什么还要用虚拟机?
4、讲一讲事件分发机制?.
反问:
1、对Android未来发展的看法?
2、部门是做什么的?
面试官人很好,给我讲了很多学习方法和面试回答的语言逻辑,但还是感觉自己太菜了