安卓工程师跳槽经验分享,面试必问!
作者:互联网
**接下来我们针对字节跳动Android中高级面试展开的完整面试题**
![](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151608763550.jpg)
## Handler 相关知识,面试必问!
常问的点:
Handler Looper Message 关系是什么?
Messagequeue 的数据结构是什么?为什么要用这个数据结构?
如何在子线程中创建 Handler?
Handler post 方法原理?
Android消息机制的原理及源码解析
Android Handler 消息机制
![Handler](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151608441721.jpg)
## Activity 相关
启动模式以及使用场景?
onNewIntent()和onConfigurationChanged()
onSaveInstanceState()和onRestoreInstanceState()
Activity 到底是如何启动的
启动模式以及使用场景
onSaveInstanceState以及onRestoreInstanceState使用
onConfigurationChanged使用以及问题解决
Activity 启动流程解析
![Activity相关](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151609893742.jpg)
## Fragment
Fragment 生命周期和 Activity 对比
Fragment 之间如何进行通信
Fragment的startActivityForResult
Fragment重叠问题
Fragment 初探
Fragment 重叠, 如何通信
Fragment生命周期
![Fragment相关](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151609736101.jpg)
## Service 相关
进程保活
Service的运行线程(生命周期方法全部在主线程)
Service启动方式以及如何停止
ServiceConnection里面的回调方法运行在哪个线程?
startService 和 bingService区别
进程保活一般套路
关于进程保活你需要知道的一切
![Service 相关](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151610745115.jpg)
## Android布局优化之ViewStub、include、merge
什么情况下使用 ViewStub、include、merge?
他们的原理是什么?
ViewStub、include、merge概念解析
Android布局优化之ViewStub、include、merge使用与源码分析
![Android布局优化](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151610353351.jpg)
## BroadcastReceiver 相关
注册方式,优先级
广播类型,区别
广播的使用场景,原理
Android广播动态静态注册
常见使用以及流程解析
广播源码解析
![ BroadcastReceiver相关](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151610564515.jpg)
## AsyncTask相关
AsyncTask是串行还是并行执行?
AsyncTask随着安卓版本的变迁
AsyncTask完全解析
串行还是并行
![AsyncTask相关](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151611231537.jpg)
## Android 事件分发机制
onTouch和onTouchEvent区别,调用顺序
dispatchTouchEvent, onTouchEvent, onInterceptTouchEvent 方法顺序以及使用场景
滑动冲突,如何解决
事件分发机制
事件分发解析
dispatchTouchEvent, onTouchEvent, onInterceptTouchEvent方法的使用场景解析
![](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151611345396.jpg)
## Android View 绘制流程
简述 View 绘制流程
onMeasure, onlayout, ondraw方法中需要注意的点
如何进行自定义 View
view 重绘机制
* Android LayoutInflater原理分析,带你一步步深入了解View(一)
* Android视图状态及重绘流程分析,带你一步步深入了解View(二)
* Android视图状态及重绘流程分析,带你一步步深入了解View(三)
* Android自定义View的实现方法,带你一步步深入了解View(四)
![Android View 绘制流程](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151611941568.jpg)
## Android Window、Activity、DecorView以及ViewRoot
Window、Activity、DecorView以及ViewRoot之间的关系
![Android Window](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151612382037.jpg)
## Android 的核心 Binder 多进程 AIDL
常见的 IPC 机制以及使用场景
为什么安卓要用 binder 进行跨进程传输
多进程带来的问题
* AIDL 使用浅析
* binder 原理解析
* binder 最底层解析
* 多进程通信方式以及带来的问题
* 多进程通信方式对比
![Binder 相关](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151612216818.jpg)
## Android 高级必备 :AMS,WMS,PMS
AMS,WMS,PMS 创建过程
* AMS,WMS,PMS全解析
* AMS启动流程
* WindowManagerService启动过程解析
* PMS 启动流程解析
![](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151612868689.jpg)
## Android ANR
为什么会发生 ANR?
如何定位 ANR?
如何避免 ANR?
什么是 ANR
如何避免以及分析方法
Android 性能优化之 ANR 详解
![Android ANR](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151613809673.jpg)
## Android 内存相关
**注意:内存泄漏和内存溢出是 2 个概念**
什么情况下会内存泄漏?
如何防止内存泄漏?
* 内存泄漏和溢出的区别
* OOM 概念以及安卓内存管理机制
* 内存泄漏的可能性
* 防止内存泄漏的方法
![Android 内存相关](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151613356624.jpg)
## Android 屏幕适配
屏幕适配相关名词解析
现在流行的屏幕适配方式
* 屏幕适配名词以及概念解析
* 今日头条技术适配方案
![Android 屏幕适配](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151613254627.jpg)
## Android 缓存机制
LruCache使用极其原理
* Android缓存机制
* LruCache使用极其原理述
![Android 缓存机制](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151613712775.jpg)
## Android 性能优化
如何进行 内存 cpu 耗电 的定位以及优化
性能优化经常使用的方法
如何避免 UI 卡顿
* 性能优化全解析,工具使用
* 性能优化最佳实践
* 知乎高赞文章
![ Android 性能优化](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151614558177.jpg)
## Android MVC、MVP、MVVM
好几种我该选择哪个?优劣点
任玉刚的文章:设计模式选择
![Android MVC、MVP、MVVM](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151614579513.jpg)
**《960全网最全Android开发笔记》**
![](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151614357006.jpg)
**《379页Android开发面试宝典》**
![](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151615326883.jpg)
**《507页Android开发相关源码解析》**
![](http://www.icode9.com/i/li/?n=2&i=images/20210701/1625151615796999.jpg)
>因为文件太多,全部展示会影响篇幅,暂时就先列举这些部分截图,大家可以**[点击这里](https://github.com/a120464/Android-P7/blob/master/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)**自行领取。
标签:必问,跳槽,20210701,安卓,https,images,Android,cto,com 来源: https://blog.51cto.com/u_15291419/2966462