四年来Android面试大纲
本篇文章的所有知识点是亲身经历十余家一二线互联网企业面试后总结产出,包含应聘Android开发岗位的各个方面的高频知识点,主要针对但不局限于Android应届面试。
Java
Java基础
Java集合框架
Java集合——ArrayList
Java集合——LinkedList
Java集合——HashMap
Java集合——TreeMap
Java集合——LinkedHashMap
Java泛型
Java反射(一)
Java反射(二)
Java反射(三)
Java注解
Java IO(一)
Java IO(二)
RandomAccessFile
Java NIO
Java异常详解
Java抽象类和接口的区别
Java深拷贝和浅拷贝
Java transient关键字
Java finally与return执行顺序
Java 8 新特性
Java并发
Java创建线程的三种方式
Java线程池
死锁
Synchronized/ReentrantLock
生产者/消费者模式
volatile关键字
CAS原子操作
AbstractQueuedSynchronizer详解
深入理解ReentrantLock
Java并发集合——ArrayBlockingQueue
Java并发集合——LinkedBlockingQueue
Java并发集合——ConcurrentHashMap
Java虚拟机
对象的创建、内存布局和访问定位
Java内存区域与内存模型
Java类加载机制及类加载器详解
JVM中垃圾收集算法及垃圾收集器详解
JVM怎么判断对象是否已死?
Android
Android基础
Activity全方位解析
Service全方位解析
BroadcastReceiver全方位解析
ContentProvider全方位解析
Fragment详解
Android消息机制
Android事件分发机制
AsyncTask详解
HandlerThread详解
IntentService详解
LruCache原理解析
Window、Activity、DecorView以及ViewRoot之间的关系
View测量、布局及绘制原理
Android虚拟机及编译过程
Android进程间通信方式
Android Bitmap压缩策略
Android动画总结
Android进程优先级
Android Context详解
Android进阶
Android多线程断点续传
Android全局异常处理
Android MVP模式详解
Android Binder机制及AIDL使用
Android Parcelable和Serializable的区别
一个APP从启动到主页面显示经历了哪些过程?
Android性能优化总结
Android 内存泄漏总结
Android布局优化之include、merge、ViewStub的使用
Android权限处理
Android热修复原理
Android插件化入门指南
VirtualApk解析
Android推送技术解析
Android Apk安装过程
PopupWindow和Dialog区别
开源框架
OkHttp解析
Retrofit解析
EventBus解析
数据结构
线性表
栈和队
树
树的基础
其他常见的树
并查集
B-树,B+树,B*树
图
图的基础
拓扑排序
Kruskal算法
Prim算法
Dijkstra算法
Floyd算法
散列查找
排序
海量数据处理
算法
剑指offer
LeetCode
设计模式
创建型模式
简单工厂模式
工厂方法模式
抽象工厂模式
单例模式
建造者模式
结构型模式
适配器模式外观模式
装饰者模式
代理模式
行为型模式
命令模式
迭代器模式
观察者模式
策略模式
模板方法模式
计算机网络
TCP/IP
HTTP
HTTPS
操作系统
概述
进程与线程
内存管理
数据库