蔚来安卓开发面经
1. 做个自我介绍吧。
2. 详细聊聊你做的安卓项目,都有什么功能?你主要负责哪一块?技术栈是怎样的?
3. 网络请求用的是哪个第三方库?看过它的源码吗?
4. 遇到过两个嵌套的 `RecyclerView` 吗?滑动冲突是怎么解决的?
5. 从手摸到屏幕开始,安卓的事件分发机制是怎样的?拦截事件用哪个方法?
6. 接着上一个问题,如果拦截方法返回 `false`,这个触摸事件会由哪一层来处理?
7. 图片加载用过哪些库?Glide 除了基本用法,还用过哪些高级功能?具体是哪个方法?
8. LeakCanary 是怎么检测和定位内存泄漏的?
9. 常见的内存泄漏有哪些类型?
10. 刚刚你提到了堆栈,能说说 Java 的堆和栈分别是用来存什么的吗?
11. 在安卓里,你怎么检测内存的使用情况?
12. Java 的垃圾回收机制是怎样的?有哪些回收算法?怎么标记要回收的对象?
13. 对 Kotlin 了解多少?
14. 协程是干嘛的?
15. HashMap 的原理是什么?线程安全吗?哪个 Map 是线程安全的?
16. Activity 有哪些启动模式?
17. 安卓里有哪些跨进程通信的方式?
18. 用过 Binder 吗?它的原理是什么?
19. 安卓的广播机制了解吗?有哪几种注册方式,各有什么优缺点?
20. 安卓的四大组件是哪几个?
21. MVC、MVP、MVVM 这几种常见的安卓架构,你用过哪种?
22. 安卓的 Framework 层接触过吗?
23. AMS 和 WMS 了解吗?
24. Jetpack 里你常用哪些组件?
25. `synchronized` 和 `volatile` 有什么区别?
26. 研究生期间的研究方向是什么?
27. 为什么想做智能座舱这个方向?
28. 现在手里有 offer 了吗?
29. 对蔚来了不了解?