面试复习路线图
我之前复习,大多都在20点以后,因为晚上比较能集中注意力,制定一个学习计划,切勿零散的复习,最好是系统的复习,才能胜却在握
主要内容如下:
- BAT的面试题目相关
 - 性能优化相关相关
 - 多线程相关
 - Java相关
 - 源码解析相关
 - 网络编程相关
 - 算法合集相关
 - 数据结构相关
 - 设计模式相关
 - 一些小知识的总结
 

4.1丶BAT相关面试点:
- 1.Binder通信原理和机制
 - 2.多进程通信
 - 3.组件化.插件化的区别以及如何选择
 - 4.插件化的理解
 - 5.热修复原理
 - 6.对于AMS的认识
 - 7.AOP 与OOP 有什么区别, AOP 的原理
 - 8.QQ换肤原理以及大致思想
 - 9.Android虚拟机
 - 10.图片压缩的具体步骤和应用
 - 11.反编译和加密如何进行
 - 12.序列化和反序列化的原理
 - 13.Handler的原理和认识
 
4.2丶算法合集笔记
- 1.Hash
 - 2.最小生成树算法
 - 3.最短路径算法
 - 4.KMP算法
 - 5.查找算法
 - 6.排序算法
 
4.3丶线程.多线程.线程池和面试中的小问题
- 1.开启线程的方式
 - 2.run()和 start()方法区别
 - 3.如何控制某个方法允许并发访问线程的个数?
 - 4.在 Java 中 wait 和 seelp 方法的不同
 - 5.导致线程阻塞的原因
 - 6.线程如何关闭的思路?
 - 7.如何同步以及保证线程安全
 - 8.减少APK包的大小
 - 9.关于内存泄漏,内存抖动的优化以及解决方案
 
4.4丶小知识的清单
- 1.面向对象和面向对象的区别
 - 2.Java和C++的区别
 - 3.面向对象的特征
 - 4.接口和抽象类的区别
 
4.5丶数据结构和设计模式
- 1.设计模式六大原则简要概述
 - 2.设计模式的分类
 
4.6丶java核心小知识清单
- 1 .线程中 sleep 和 wait 区别
 - 2.Thread 中的 start()和 run()的区别
 - 3.Java 中重载和重写的区别
 - 4.Tcp /IP三次握手,四次挥手
 
4.7丶性能优化
- 1.图片的三级缓存中,图片加载到内存中,如果内存快爆了,会发生什么?怎么处理?
 - 2.WebView 的性能优化 ?
 - 3.加载一张高清图片应该占用多少内存
 - 4.内存泄露和内存溢出的区别 ?AS 有什么工具可以检测内存泄露
 - 5.Bitmap 如何处理大图,如何预防 OOM?
 - 6.性能优化,怎么保证应用启动不卡顿? 黑白屏怎么处理?
 
4.8丶Android源码相关
- 1、Android 属性动画实现原理
 - 2、补间动画实现原理
 - 3、Android 各个版本 API 的区别
 - 4、Requestlayout,onlayout,onDraw,DrawChild 区别与联系
 - 5、invalidate 和 postInvalidate 的区别及使用
 - 6、Activity-Window-View 三者的差别
 - 7、谈谈对 Volley 的理解
 - 8、如何优化自定义 View
 - 9、低版本 SDK 如何实现高版本 api?
 - 10、描述一次网络请求的流程
 - 11、HttpUrlConnection 和 okhttp 关系
 
4.9丶Android 网络编程
- 1丶网络分层
 - 2丶http 协议
 - 3丶http 的 get 和 post 的区别
 - 4丶socket 和 http 的区别
 - 5丶TCP 与UDP 区别总结
 - 6丶https
 - 7丶加密算法
 - 8丶Volley.OKHTTP.Retrofit等
 
简历上写的项目,仔细认真的过一遍。还有就是关于业务的一些深层次的东西,得好好思考一下。
一些开放性问题还是需要好好思考一下,顺便也准备一下 HR 面可能会问到的一些问题。
在复习某个部分时可能会引出其它知识点,如果也不是很清楚的话也需要系统的再复习一下。
知识体系比较广并且发展迅速,要注重基础基础才是最重要的
如何做好面试突击,规划学习方向?
面试题集可以帮助你查漏补缺,有方向有针对性的学习,为之后进大厂做准备。但是如果你仅仅是看一遍,而不去学习和深究。那么这份面试题对你的帮助会很有限。最终还是要靠资深技术水平说话。
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。建议先制定学习计划,根据学习计划把知识点关联起来,形成一个系统化的知识体系。
学习方向很容易规划,但是如果只通过碎片化的学习,对自己的提升是很慢的。
同时我还搜集整理2020年字节跳动,以及腾讯,阿里,华为,小米等公司的面试题,把面试的要求和技术点梳理成一份大而全的“ Android架构师”面试 Xmind(实际上比预期多花了不少精力),包含知识脉络 + 分支细节。

在搭建这些技术框架的时候,还整理了系统的高级进阶教程,会比自己碎片化学习效果强太多。

点击:《Android架构视频+BAT面试专题PDF+学习笔记》即可免费获取~
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。
记》**](https://bbs.csdn.net/topics/618156601)即可免费获取~
网上学习 Android的资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。希望这份系统化的技术体系对大家有一个方向参考。


















