不知不觉中2022年已经过了大半,马上又要到金九银面试季,相信不少心里痒痒的朋友们已经提前开始准备面试了。
近些年来面试的要求是越来越高,整个行业越来越卷。很多求职者抱怨大厂“面试造火箭,工作拧螺丝”,但实际上,面试中的大多数问题都是在全方位地考察你对技术的理解深度,以及解决问题的能力。如果没有真正对技术原理和底层逻辑有一定的了解是无法通过的。
这里就将面试中常见的一些知识点做一个整理,希望可以帮助到大家。
1、Handler
- Handler Looper Message 关系是什么?
- Messagequeue 的数据结构是什么?为什么要用这个数据结构?
- 如何在子线程中创建 Handler?
- Handler post 方法原理?
- Android消息机制的原理及源码解析 源码角度完整解析
- Android Handler 消息机制
- Android 消息机制
2、Activity 相关
- 启动模式以及使用场景
- onNewIntent()和onConfigurationChanged()
- onSaveInstanceState()和onRestoreInstanceState()
- Activity 到底是如何启动的
- 启动模式以及使用场景
- onSaveInstanceState以及onRestoreInstanceState使用 简单通透
- onConfigurationChanged使用以及问题解决
- Activity 启动流程解析
3、Fragment
- Fragment 生命周期和 Activity 对比
- Fragment 之间如何进行通信
- Fragment的startActivityForResult
- Fragment重叠问题
- Fragment 初探
- Fragment 重叠, 如何通信
- Fragment生命周期
4、Service 相关
- 进程保活
- Service的运行线程
- Service启动方式以及如何停止
- ServiceConnection里面的回调方法运行在哪个线程?
- startService 和 bingService区别
- 进程保活一般套路
- 关于进程保活你需要知道的一切
5、Android布局优化之ViewStub、include、merge
- 什么情况下使用 ViewStub、include、merge?他们的原理是什么?
- ViewStub、include、merge概念解析
- Android布局优化之ViewStub、include、merge使用与源码分析
6、BroadcastReceiver 相关
- 注册方式,优先级
- 广播类型,区别
- 广播的使用场景,原理
- Android广播动态静态注册
- 常见使用以及流程解析
- 广播源码解析
7、AsyncTask相关
- AsyncTask是串行还是并行执行?
- AsyncTask随着安卓版本的变迁
- AsyncTask完全解析
- 串行还是并行
8、Android 事件分发机制
- onTouch和onTouchEvent区别
- dispatchTouchEvent, onTouchEvent, onInterceptTouchEvent 方法顺序以及使用场景
- 滑动冲突,如何解决
- 事件分发机制
- 事件分发解析
- dispatchTouchEvent, onTouchEvent,
- onInterceptTouchEvent方法的使用场景解析
9、Android View 绘制流程
- 简述 View 绘制流程
- onMeasure, onlayout,ondraw方法中需要注意的点
- 如何进行自定义 View
- view 重绘机制
- Android LayoutInflater原理分析
- Android视图状态及重绘流程分析
- Android自定义View的实现方法
10、Android 的核心 Binder 多进程 AIDL
- Window、Activity、DecorView以及ViewRoot之间的关系
- 常见的 IPC 机制以及使用场景
- 为什么安卓要用 binder 进行跨进程传输
- 多进程带来的问题
- AIDL 使用浅析
- binder 原理
- binder 最底层解析 很
- 多进程通信方式以及带来的问题
- 多进程通信方式对比
11、Android 的AMS,WMS,PMS
- AMS,WMS,PMS 创建过程
- AMS,WMS,PMS全解析
- AMS启动流程
- WindowManagerService启动过程解析
- PMS 启动流程解析
12、Android ANR
- 为什么会发生 ANR?
- 如何定位 ANR?
- 如何避免 ANR?
- 什么是 ANR
- 如何避免以及分析方法
- Android 性能优化之 ANR 详解
13、Android 内存相关
- 什么情况下会内存泄漏?
- 如何防止内存泄漏?
- 内存泄漏和溢出的区别
- OOM 概念以及安卓内存管理机制
- 内存泄漏的可能性
- 防止内存泄漏的方法
14、Android 屏幕适配
- 屏幕适配相关名词解析
- 现在流行的屏幕适配方式
- 屏幕适配名词以及概念解析
- 今日头条技术适配方案
15、Android 缓存机制
- LruCache使用极其原理
- Android缓存机制
- LruCache使用极其原理述
16、Android 性能优化
- 如何进行 内存 cpu 耗电 的定位以及优化
- 性能优化经常使用的方法
- 如何避免 UI 卡顿
17、Okhttp 、 Retrofit、Glide
- Okhttp完整解析
- Retrofit使用流程,机制详解
- 从 HTTP 到 Retrofit
- Retrofit是如何工作的
- Glide的基本用法
- 从源码的角度理解Glide的执行流程
- 深入探究Glide的缓存机制
18、Android 组件化与插件化
- 为什么要用组件化?
- 组件之间如何通信?
- 组件之间如何跳转?
- Android 插件化和热修复知识梳理
- 为什么要用组件化
19、面试常问的点
- 你在项目中遇到最难得点是什么?如何解决的?
- 平时遇到问题了是如何解决的?比较好的回答:
- 你最近做的 App 是如何架构的?为什么要这样架构?
- 平时怎么进行技术进阶,如何学习?
- 你觉得自己处于什么技术水平?
- 你的技术优势是什么?
上面这些题目的答案我也都记录在了文档中,这里由于篇幅原因就没有一一把答案贴上来了,需要完整文档的朋友们可以私信我【面试】免费领取!