引言

元旦匆匆而过,2020年的春节又接踵而来,大家除了忙的提着裤子加班、年底冲冲冲外,还有着对于明年的迷茫和期待!

2019年有多少苦涩心酸,2020年就有更多幸福美好,加油,奥利给!怀着一颗积极向上的心,来面对未来每一天的挑战!

所谓“兵马未动,粮草先行”,我们打响明天的战役也需要精神食粮来做后勤保障才是。

在此我整理了一份安卓开发面试指南,希望对磨砺锋芒、奋发向上的小伙伴有所帮助,祝你早日剑指大厂,扬帆起航,奥利给!

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 新特性

金三银四,磨砺锋芒;剑指大厂,扬帆起航(最全Android开发工程师面试指南)_第1张图片

Java并发

  • Java创建线程的三种方式
  • Java线程池
  • 死锁
  • Synchronized/ReentrantLock
  • 生产者/消费者模式
  • volatile关键字
  • CAS原子操作
  • AbstractQueuedSynchronizer详解
  • 深入理解ReentrantLock
  • Java并发集合——ArrayBlockingQueue
  • Java并发集合——LinkedBlockingQueue
  • Java并发集合——ConcurrentHashMap

金三银四,磨砺锋芒;剑指大厂,扬帆起航(最全Android开发工程师面试指南)_第2张图片

Java虚拟机

  • 对象的创建、内存布局和访问定位
  • Java内存区域与内存模型
  • Java类加载机制及类加载器详解
  • JVM中垃圾收集算法及垃圾收集器详解
  • JVM怎么判断对象是否已死?

金三银四,磨砺锋芒;剑指大厂,扬帆起航(最全Android开发工程师面试指南)_第3张图片

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开发工程师面试指南)_第4张图片

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区别

金三银四,磨砺锋芒;剑指大厂,扬帆起航(最全Android开发工程师面试指南)_第5张图片

开源框架

  • OkHttp解析
  • Retrofit解析
  • EventBus解析

金三银四,磨砺锋芒;剑指大厂,扬帆起航(最全Android开发工程师面试指南)_第6张图片

线性表

栈和队

  • 图的基础
  • 拓扑排序
  • Kruskal算法
  • Prim算法
  • Dijkstra算法
  • Floyd算法

金三银四,磨砺锋芒;剑指大厂,扬帆起航(最全Android开发工程师面试指南)_第7张图片

散列查找

排序

海量数据处理

剑指offer

  • 01.二维数组中的查找
  • 02.替换空格
  • 03.从尾到头打印链表
  • 04.重建二叉树
  • 05.用两个栈实现队列
  • 06.旋转数组的最小数字
  • 1083剑指offer
  • 07.斐波那契数列
  • 08.二进制中1的个数
  • 09.打印1到最大的n位数
  • 10.在O(1)时间删除链表节点
  • 11.调整数组顺序使奇数位于偶数前面
  • 12.链表中倒数第K个节点
  • 13.反转链表
  • 14.合并两个排序的链表
  • 15.树的子结构
  • 16.二叉树的镜像
  • 17.顺时针打印矩阵
  • 18.包含min函数的栈
  • 19.栈的压入、弹出序列
  • 20.从上往下打印二叉树
  • 21.二叉搜索树的后序遍历序列
  • 22.二叉树中和为某一值得路径
  • 23.复杂链表的复制
  • 24.二叉搜索树与双向链表
  • 25.字符串的排列
  • 26.数组中出现次数超过一半的数字
  • 27.最小的k个数
  • 28.连续子数组的最大和
  • 29.求从1到n的整数中1出现的次数
  • 30.把数组排成最小的数
  • 31.丑数
  • 32.第一个只出现一次的字符
  • 33.数组中的逆序对
  • 34.两个链表的第一个公共结点
  • 35.在排序数组中出现的次数
  • 36.二叉树的深度
  • 37.判断平衡二叉树
  • 38.数组中只出现一次的数字
  • 39.和为s的两个数字
  • 40.和为s的连续正数序列
  • 41.翻转单词顺序
  • 42.左旋转字符串
  • 1084剑指offer
  • 43.n个骰子的点数
  • 44.扑克牌的顺子
  • 45.约瑟夫环问题
  • 46.不用加减乘除做加法
  • 47.把字符串转换成整数
  • 48.树中两个结点的最低公共结点
  • 49.数组中重复的数字
  • 50.构建乘积数组
  • 51.正则表达式匹配
  • 52.表示数值的字符串
  • 53.字符流中第一个不重复的字符
  • 54.链表中环的入口结点
  • 55.删除链表中重复的结点
  • 56.二叉树的下一个结点
  • 57.对称的二叉树
  • 58.把二叉树打印出多行
  • 59.按之字形顺序打印二叉树
  • 60.二叉搜索树的第k个结点
  • 61.数据流中的中位数
  • 62.滑动窗口的最大值
  • 63.矩阵中的路径
  • 64.机器人的运动范围

金三银四,磨砺锋芒;剑指大厂,扬帆起航(最全Android开发工程师面试指南)_第8张图片

LeetCode

  • 数组
  • 字符串
  • 链表
  • 动态规划
  • 贪心算法

金三银四,磨砺锋芒;剑指大厂,扬帆起航(最全Android开发工程师面试指南)_第9张图片

创建型模式

  • 简单工厂模式
  • 工厂方法模式
  • 抽象工厂模式
  • 单例模式
  • 建造者模式

金三银四,磨砺锋芒;剑指大厂,扬帆起航(最全Android开发工程师面试指南)_第10张图片

结构型模式

  • 适配器模式
  • 外观模式
  • 装饰者模式
  • 代理模式

金三银四,磨砺锋芒;剑指大厂,扬帆起航(最全Android开发工程师面试指南)_第11张图片

行为型模式

  • 命令模式
  • 迭代器模式
  • 观察者模式
  • 策略模式
  • 模板方法模式

TCP/IP

HTTP

HTTPS

操作系统

进程与线程

内存管理

SQL语句

结语

金三银四,磨砺锋芒;剑指大厂,扬帆起航!

现在开始学习,你就不会被落下!希望这份Android面试指导文档可以给你们帮助
免费领取方式:点赞+评论,关注我,私信【面试指南】获取