2021年的就业状况不是很好,大批的公司都在进行裁员,现在求职变得比以往困难,所以,想拿到一个好的offer就得准备好面对各个公司的的面试,二月已经过了,我相信三月将会是面试求职的高峰时期,如果此时手里有份高质量的面试宝典,那么你将得心应手面对考官各种问题。虽然不敢保证你能应聘上心仪的职位,但是能保证看完这些内容你的收获将超乎你的想象! 下面是我整理的一些面试真题的大纲,基本覆盖了Android中高级工程师面试的知识点。
一、Java相关
1、Java 基础
2、Java 容器
3、内存模型
4、垃圾回收算法(JVM)
5、类加载过程(需要多看看,重在理解,对于热修复和插件化比较重要)
6、反射
7、多线程和线程池
二、JVM
- JVM基础概念
- Java内存区域
- JVM垃圾回收
- 类文件结构
- 类加载过程
- 类加载器
三、面向对象
三大特性
- 封装
- 继承
- 多态
类图
- 泛化关系
- 实现关系
- 聚合关系
- 组合关系
- 关联关系
- 依赖关系
四、Android基础
1、Activity的生命周期、启动模式、启动流程
2、Fragment的生命周期、与Activity传递数据
3、Service的启动方式、生命周期
4、BroadcastReceiver
5、ContentProvider
6、Android View知识点:测量流程、事件分发、MotionEvent、Draw 绘制流程等等
7、Android进程:进程生命周期、多进程、多进程通信方式
8、序列化
9、Window
10、消息机制:Handler 机制、工作原理
11、RecyclerView优化:卡顿场景、其他优化策略
12、自定义 View
五、Android高级知识点
1、动态加载:插件化、热修复
2、NDK:JNI基础、NDK开发基本流程、CMake 构建 NDK
3、编译模式:AOT优点、垃圾回收
4、代码混淆:Proguard、混淆规则、混淆模版
5、Android Hook
6、类加载器:类加载器分类、双亲委托模式、Android的类加载器
六、Android 面试之必问性能优化
1、安装包优化:常用的优化策略、资源压缩、资源动态加载
2、UI渲染优化:CPU/GPU、过度绘制、解决自定义View的OverDraw、Hierarchy Viewer
3、启动优化:冷启动/热启动和温启动的优化、代码方面的优化
4、内存优化:内存管理、内存泄漏、大图内存优化、线上监控
5、耗电优化:优化方向、耗电监控
6、网络优化
七、 算法面试题
1、排序
2、二叉树
3、链表
4、栈 / 队列
5、二分搜索
6、哈希表
7、堆 / 优先队列
8、二叉搜索树
9、数组 / 双指针
10、矩阵
11、二进制 / 位运算
结尾
好记性不如烂笔头,不要永远都是抱着一个“我觉得应该会”的心态去刷面试题,然后再自己脑子里过了一遍,感觉回答的上来,但往往一真跟面试官对上线就会卡壳,我还是建议大家尽量把每个面试的知识点都掌握,再去做延伸。那样在面试的时候就大概没啥问题了。