年后一大波找工作浪潮就要来临~
Android岗位对工程师的要求比较高,再加上就业环境的逼迫,想要找到满意的工作确实有难度!
想要从事Android岗位的朋友注意了,决定不能放松,要做到对知识举一反三,整理学习经验,那么机会就是你的!
1.项目重构方案
2.项目重构以后的优势
3.线上崩溃和OOM统计
4.MVVM架构的优点
5.ViewModel在Activity横竖屏切换时保存属性原理
6.性能优化
7.ANR监控
8.埋点方案
9.ANR原理
10.ANR由什么触发
11.设计一个触发ANR的机制
12.ibinder机制
13.andoid绘制流程
14.andoid时间传递机制
15.handler机制
16.phoneWindow如何捕获焦点
17.JVM虚拟机和Dalvik虚拟机的区别
18.apk里面包含哪些文件
19.apk签名机制
20.apk打包流程及原理
21.static修饰静态方法和普通方法的区别
22.synchronized保证线程执行顺序
23.保证线程顺序的方案
24.在B线程中中断有死循环的A线程
25.Object的wait和notify方法
26.Object的notifyAll和notify方法的区别
27.JAVA的四种引用
28.弱引用和软引用区别
1.JAVA的类加载机制
2.JAVA的GC内存模型
3.为什么JDK1.8使用新生代老生代内存模型
4.为什么新生代回收使用复制算法老年代不使用
5.JAVA虚拟机内存分布
6.JAVA虚拟机内存中哪些是线程共享哪些不共享
7.死锁的原理
8.synchronized使用及区别
9.HashMap的原理
10.HashCode的计算方法
11.HashMap如何使用HashCode计算下标
12.HashMap插入元素的原理
13.HashMap中数据结构使用红黑树的原理
14.volitile作用
15.设计一个volitile使用场景
16.volitile在底层实现
17.handler机制
18.handler post 延时消息的流程
19.okhttp原理
20.glide原理
21.retrofit原理
22.组件化方案
23.项目中的职责
1.JAVA的基本数据类型
2.静态内部类和内部类的区别
3.静态内部类访问外部类变量
4.常见的Exception
5.try catch 捕获 Error
6.try catch跨线程捕获异常
7.StringBuffer和StringBuilder的区别
8.StringBuffer线程安全原理
9.String线程安全
10.String可修改
11.静态变量,静态代码块,普通变量,普通代码块,执行顺序
12.静态变量,静态代码块,普通变量,普通代码块,构造函数执行顺序
13.equals和==的区别
14.基本数据类型equals和==的区别
15.JAVA引用类型
16.软引用使用场景
17.JVM内存模型
18.两个对象相互引用是否会标记为垃圾
19.哪些对象作为GCRoot
20.JVM内存模型分为哪几块
22.Activity启动模式
23.ActivityA 启动 ActivityB的生命周期流程
24.ActivityB 退回 ActivityA 生命周期流程
25.Handler机制
26.Handler延时消息
27.IDLEHandler
28.ThreadLocal
29.ThreadLocal的主要作用
30.常用的设计模式
31.对单聊的了解
32.okhttp原理
33.okhttp用到哪些设计模式
35.Retrofit和okhttp区别
36.动态代理和静态代理的区别