史上最全 Android 中高级工程师面试复习大纲
概述
都说金三银四青铜五,这几个月份是程序员最好的跳槽时间,笔者四月初也换了工作。找工作之前看了很多面试题,复习资料,但是发现纯看面试题是不行的,因为靠背的东西是记不牢的,需要知识成体系才可以,所以笔者整理了一份复习大纲,基本涵盖了 Android 中高级工程师面试所必须知识点,希望可以通过此文帮助一些想换工作的朋友更好的复习,准备面试。
本文只罗列出大纲内容,至于每个模块的详细内容,网上很多资料,可自行查阅,后序有时间会放一些我复习时看的资料,这样复习起来知识更成体系,事半功倍。
1、Java 相关
- 容器(HashMap、HashSet、LinkedList、ArrayList、数组等)
需要了解其实现原理,还要灵活运用,如:自己实现 LinkedList、两个栈实现一个队列,数组实现栈,队列实现栈等。
- 内存模型
- 垃圾回收算法(JVM)
- 类加载过程(需要多看看,重在理解,对于热修复和插件化比较重要)
- 反射
- 多线程和线程池
- HTTP、HTTPS、TCP/IP、Socket通信、三次握手四次挥手过程
- 设计模式(六大基本原则、项目中常用的设计模式、手写单例等)
- 断点续传
2、Android 基础
3、Android Framework
- AMS 、PMS
- Activity 启动流程
- Binder 机制(IPC、AIDL 的使用)
- 为什么使用 Parcelable,好处是什么?
- Android 图像显示相关流程,Vsync 信号等
4、三方源码
- Glide :加载、缓存、LRU 算法
- EventBus
- LeakCanary
- ARouter
- 插件化(不同插件化机制原理与流派,优缺点。局限性)
- 热修复
- RXJava
- Retrofit
5、算法与数据结构
- 单链表:反转、插入、删除
- 双链表:插入、删除
- 手写常见排序、归并排序、堆排序
- 二叉树前序、中序、后序遍历
- 最大 K 问题
- 广度、深度优先搜索算法
- 可以去刷一下 LeetCode ,对自己提升也会比较大。
转载自:https://juejin.cn/post/6844903845571756045