时长:1小时
1、项目30分钟
2、Java函数调用过程
3、Volatile关键字的作用? 什么是可见性?
4、假定一个场景:在多线程环境下,线程A在10秒前对一个共享变量修改,线程B在10秒之后读取该共享变量的值,这种情况下需要加Volatile关键字吗?
5、JVM垃圾回收机制
6、常用的垃圾回收算法?
7、GC Root 引用的对象包括哪些? 标记的是有用的对象还是垃圾对象?
8、程序计数器的作用、特点
9、说说你对虚拟机栈的理解
10、说一下Java多态的原理
11、方法表是在JVM那个分区中?
12、什么是Fragment,有什么特点
13、View绘制流程
14、ViewRootImpl中的performTravesal方法在什么时机被调用,被谁调用
15、ViewRootImpl有什么用,他和ViewRoot的关系
16、requestLayout方法和invalidate方法的区别
算法:二叉树的层序遍历