CVTE Android 开发二面面经
一面
一面面试官很跳跃,每次都是我在回答的时候从我的回答中挑选关键词提问的。
1.自我介绍
2. 项目介绍
3. LruCache DiskLruCache
4. HashMap、LinkedHashMap、TreeMap
5. ArrayList、LinkedList
6. 一个应用程序启动过程
7. Activity 启动过程
8. ActivityThread、ApplicationThread
9. ThreadLocal 做什么的,实现原理,多次调用 set 会改变以前的值吗?
10. 手写 PriorityBlockingQueue 的构造方法、添加元素和删除元素的方法
11. Activity 启动模式
12. 主线程是哪个,什么时候创建的,Looper 是什么时候创建的
13. IPC 机制
14. java 多线程操作,同步实现方式
二面
1. 手写快排,推导时间复杂度
2. 把电脑给你,写一道 leetcode 的题:输出树中节点和不小于 sum 的所有路径
3. HashMap 1.7 和 1.8 的区别
4. 为什么用红黑树而不用二叉树
5. 各种树:二叉树、红黑树、B 树、B+ 树、B- 树
6. 进程间通信
7. 进程间同步
8. LinkedHashMap 为什么要用双向链表维持顺序
9. JUnit 单元测试
10. 开发与测试的区别
11. 了解的设计模式,单例模式有几种实现方式
12. 上一题中我提到了静态内部类和枚举,引出本题:静态内部类为什么可以实现单例,枚举为什么可以实现单例,枚举在 java 中的实现
13. 你的优势
14. 你有什么想了解的
还有些七零八碎的问题忘了。。。
#广州视源电子科技股份有限公司##安卓工程师#