1.Android 项目中 asset 目录和 res 目录有什么区别
res/raw和assets的相同点:
//www.greatytc.com/p/01a595206009
2.面向对象的特征,并举例说明面向对象的过程
特征:封装 继承 多态
https://blog.csdn.net/qq_39238370/article/details/103245060
3.如何结束一个正在运行的线程
https://blog.csdn.net/bin470398393/article/details/79286365
https://blog.csdn.net/qq_17312239/article/details/83820913
4.简述 MVC 和 MVP,并说一下 MVP 的优点
https://mp.weixin.qq.com/s/KA2gEWQ5yLOaDO-cnT31Zg
5.如何获取某个 View 的大小并动态改变 View 的大小
6.join()、wait()、interrupt()
7.二维数组旋转
8.String、StringBuilder、StringBuffer 区别
//www.greatytc.com/p/64519f1b1137
9.ArrayMap、HashMap、SparseArray 原理
//www.greatytc.com/p/10761dfff55e
10.Fragment 添加方式,add、replace、show 区别
11.volatile 关键字作用
在多线程并发编程中synchronized和volatile都扮演着重要的角色,volatile是轻量级的synchronized,它在多处理器开发中保证了共享变量的“可见性”。可见性的意思是当一个线程修改一个共享变量时,另外一个线程能读到这个修改的值。如果volatile变量修饰符使用恰当的话,它比synchronized的使用和执行成本更低,因为它不会引起线程上下文的切换和调度。
12 HTTP 版本之间区别
可以看一下阮一峰老师的文章
http://www.ruanyifeng.com/blog/2016/08/http.html
13.invalidate()、requestLayout() 区别
//www.greatytc.com/p/5ec0f278e0a3
14.View 绘制流程
15.事件分发机制
https://www.gcssloop.com/customview/dispatch-touchevent-theory
16.渲染优化
//www.greatytc.com/p/81c9f7cfe733
17.ArrayList 怎么实现线程安全
18.Android 线程间通讯方式有哪些?
https://blog.csdn.net/liuxingyuzaixian/article/details/78893392
19.类B继承A,A、B两个类中都有静态变量、成员变量、静态代码块、构造方法执行顺序是什么?
20.Java代码执行时内存状况
21.Activity生命周期其他函数
22.View什么时候绘制完成?
23.如何获取一个View的尺寸?