-  finalize的工作原理 
-  一个对象的创建过程 
-  对象的销毁是按照创建的逆序来进行的 
-  final的方法和类都不允许覆盖和继承。private默认实现了final。 
-  简述jvm中默认的classLoader与功能 
-  简述内部类的特点 
-  如何终止一个线程 
-  null可以被强制类型转换成任意类型的对象,于是通过它来执行静态方法 
-  解释一下java内存模型 
-  解释一下volatile字段 
-  广播的两种注册方法,有什么区别 
-  Intent可以传递哪些数据类型 
(文末附面试答案)

腾讯面试整理
-  HashMap 和 HashTable 以及 CurrentHashMap 的区 别。 
-  Java 的四大引用 
-  Jvm 内存区域是如何划分的? 
-  Jvm 内存模型是怎么样的? 
-  TCP 与 UDP 的区别。 
-  三次握手、四次挥手。为啥是三次不是两次? 
-  什么是 ANR 如何避免它? 
-  Activity 和 Fragment 生命周期有哪些? 
-  Android 怎么加速启动 Activity? 
-  程序 A 能否接收到程序 B 的广播? 
-  数据加载更多涉及到分页,你是怎么实现的? 
-  通过 google 提供的 Gson 解析 json 时,定义 JavaBean 的规则是什么? 
-  安卓的安全优化 
(文末附面试答案)

字节跳动面试整理
-  HTTP1.0 和 HTTP1.1 的一些区别 
-  断点续传实现? 
-  你们做了哪些稳定性方面的优化? 
-  版本迭代导致的启动变慢有好的解决方式吗? 
-  布局为什么会导致卡顿,你又是如何优化的? 
-  安卓的混淆原理是什么? 
-  Kotlin 为什么能和 Java 混编 
-  JS 的交互理解吗?平时工作用的多吗,项目中是怎么与 Web 交互的? 
-  Gradle 了解多少?groovy 语法会吗? 
-  flutter 了解吗?内部是如何实现跨平台的?如何实现多 Native 页面接入?如何实现对现有工程的 flutter 迁移? 
-  快应用了解吗?跟其她方式相比有什么优缺点? 
-  说说你用过的混合开发技术有哪些?各有什么优缺点? 
-  对文件描述符怎么理解? 
-  如何实现进程安全写文件? 
(文末附面试答案)

架构方面整理
- Ev
entBus、AOP面向切面编程原理、饿了么Hermes跨进程架构原理、Message、QQ换肤、阿里ARouter、RxJava
NDK方面整理
- 指针、MakeFile编译so库、阿里andfix热修复原理、编译FFmpeg集成到AS中
算法方面整理
- Hash值、HashMap、最小生成树算法、KMP算法、查找算法、排序算法
UI方面整理










