前言
每次面试前的准备都是到处查找资料,这次打算记录一下准备过程中的遇到的问题,作为对自己所掌握的知识点的一个总结,查漏补缺,也能让后续的面试更加顺利。本文主要是列出问题,答案也会视情况在后续文章更新。本文的内容后续也会持续更新。
Java篇
-
java多态的实现原理。动态类型绑定相关。 -
volatile关键字作用。内存可见性(jmm的理解),禁止指令重排,无法保证原子性。 -
synchronized关键字作用,实现原理。公平锁/非公平锁,可重入锁/不可重入锁,乐观锁/悲观锁,共享锁/排他锁。锁升级。 - 死锁的概念,什么情况下造成死锁。
-
HashMap数据结构,扩容原理,java8版本的链表转红黑树。HashMap的源代码需要熟读,里面有很多经典代码设计。 -
ConcurrentHashMap数据结构,如何get,扩容原理,扩容时其他线程如果感知,CAS和synchronized的使用。 - 线程池。为什么要用线程池。
ThreadPoolExecutor的各个参数的具体含义。几种阻塞队列BlockingQueue的使用和区别。线程池的种类以及其对应的参数。 -
join的使用 -
wait和sleep的区别 -
Object类有哪些方法 -
CopyOnWriteArrayList如何实现同步 - 有哪些线程安全的容器类
Jvm篇
-
jvm内存模型。线程共享区,非线程共享区。 -
GC算法。标记-清除,复制算法,标记整理。GC的目的是降低GC频率。 -
GC root如何选取。
Android篇
-
Android事件分发机制。除了view里面的那一套,你知道事件是怎么从点击屏幕传到Activity的吗?IMS的事件处理机制。 -
Activity的生命周期。fragment生命周期。service生命周期。 - 卡顿的原理。如果做线上卡顿监控,具体如何实现。
- 如何定位内存泄漏,其实现原理是什么。
-
ANR的概念,如何排查。ANR具体触发的原理(延时消息)。 - 讲一讲
Handler。Looper,MessageQueue相关,扩展到ThreadLocal相关。底层的epoll实现监听。消息延时的实现原理,post的实现原理。 - 如何不压缩情况实现大长图的加载。
BitmapRegionDecoder实现区域加载。 -
MVPMVVC架构 - 热修复。热修复的工作流程,
Tinker框架的实现原理,AndFix实现原理,Robust实现原理。各个框架的优劣。 - 组件化。为什么要组件化?使用组件化的过程中遇到过哪些问题?怎么解决的?
- 插件化。四大组件的插件化实现原理,资源插件化的实现原理,资源冲突的解决方案。市面上各个插件化框架的实现原理
- 如何进程保活
-
ListView图片加载错乱的原理和解决方案 -
RecyclerView和ListView的区别,性能差异 -
LRUCached原理 SparseArray-
SP是进程同步的吗?如果做到进程同步 -
SurfaceView,GLSurfaceView,TextureView,SurfaceTexture的异同 -
BroadcastReceiver和LocalBroadcastReceiver区别 -
Bundle机制 -
apk打包过程 -
apk安装过程 - 系统开机流程
-
Dalvik和ART区别 -
App是如何做成沙箱化的 -
downmoveup事件的传递 - 下拉通知栏对
activity生命周期的影响 - 线上卡顿检测如何做
- 线上内存泄漏,
oom如何检测 - R8 proguard
Jetpack篇
-
ViewModel在横竖屏切换时为什么不销毁。onRetainNonConfigurationInstance LiveDataRoom
Android Framework篇
-
Activity的启动流程 -
Service的启动流程 -
BroadcastReceiver的启动流程 -
ContentProvider的启动流程 -
IMS事件监听与分发 -
Android有哪些IPC手段。 -
Binder实现原理。 -
Handler如何实现延时消息的 -
Android帧渲染原理 -
setContentView的流程 - 进程启动过程
网络篇
-
https如何验证证书的合法性 -
https请求慢的解决方法 -
TCP和UDP区别与应用 -
Socket和Websocket的区别与应用
三方框架篇
-
okhttp如何处理网络缓存的。有哪些拦截器 -
EventBus实现原理 RxJava-
GlideFresco对比 -
Retrofit实现原理
设计模式篇
- 单例模式。懒汉式,恶汉式,双重校验,静态内部类,枚举。手写单例模式。
- 手写观察者模式
-
Android系统哪些地方用到了设计模式