Android入门视频教程!BAT这种大厂履历意味着什么
# java方面
* 基本知识点 集合类的区别和适用场景 1次 java静态内部类和非静态内部类的区别 内存分配 创建过程 内存泄漏问题? 如何保证线程安全??多次 (**面试必问**) 哪几种加锁方式(最好扯到monitor) 乐观锁和悲观锁 (适用场景) 锁的适用场景 线程池的概念 构成 适用场景 为什么要用线程池(扯到线程分配资源的过程,和进程分配资源过程的区别)
* 内核方面(**面试必问**) GC垃圾回收机制?n次 GC是怎么找要清除的对象的? java的四种引用和适用场景 GC内核清理用什么算法? 新生代复制清理,老生代标记整理 拓展:老生代标记整理如何有效的整理内存碎片? java内存结构? n次 java的内存是怎么分布的 java类的加载机制 java对象的加载机制 常量池 string对象的生成 Integer的缓存机制
# 计算机网络
* 网络层级结构以及对应的协议
* TCP TCP?三次握手(第一次和第三次如果没收到回应会怎样?) TCP四次挥手 拥塞控制没考过?
* HTTP HTTP报文,http各版本的区别,https
* IP 为啥不将mac作为ip地址 ping实现原理 ttl生存字段
* ARP 描述过程,广播单播
# 操作系统
* 线程和进程区别(资源分配上是怎样的)
* 进程通信
* 内存空间分配
* 死锁 产生死锁的条件(详细举例) 避免死锁的方法
# 设计模式
* 一般是自己说了解哪些模式,一定要说明适用场景
* 单例模式 懒汉式 饿汉式 线程安全,双重锁
* 观察者模式
* 适配器模式
* 外观模式
# android方面(一般是根据项目问)
* android的进程通信
* service服务
* handlerThread
* handler运行机制 1次
* recyclerView缓存机制 1次
* view的重绘
# 项目方面
* fragment和activity交互
* webview的使用 安全问题? 和js互相调用
* 断点续传 描述过程 文件读写,怎么保证不冲突
* asynctask内存泄漏 为什么泄漏 解决方法 调试工具是什么
* MFCC流程 录音环节(快手问了一大堆细节,还让写伪代码)
* MVP
* recyclerView 和listview区别 缓存机制 item太多会内存泄漏吗
## 小结
有了这么多优秀的开发工具,可以做出更高质量的Android应用。
当然了,“**打铁还需自身硬**”,想要写出优秀的代码,最重要的一点还是自身的技术水平,不然用再好的工具也不能发挥出它的全部实力。
在这里我也分享一份大佬自己收录整理的**Android学习PDF+架构视频+面试文档+源码笔记**,还有**高级架构技术进阶脑图、Android开发面试专题资料,高级进阶架构资料**这些都是我闲暇还会反复翻阅的精品资料。在脑图中,每个知识点专题都配有相对应的实战项目,可以有效的帮助大家掌握知识点。
总之也是在这里帮助大家学习提升进阶,也节省大家在网上搜索资料的时间来学习,也可以分享给身边好友一起学习
如果你有需要的话,[可以点击这里领取](https://github.com/a120464/Android-P7/blob/master/Android%E5%BC%80%E5%8F%91%E4%B8%8D%E4%BC%9A%E8%BF%99%E4%BA%9B%EF%BC%9F%E5%A6%82%E4%BD%95%E9%9D%A2%E8%AF%95%E6%8B%BF%E9%AB%98%E8%96%AA%EF%BC%81.md)