虎牙客户端android方向一面二面
虎牙客户端android方向一面和二面,三面由于时间间隔太久,期间拿到了大厂offer就拒绝了三面。
一面:
- 建造者模式
- 单例模式解决什么问题?应用场景?不用单例模式用什么来解决问题?
- 多进程以及多进程中静态变量是什么?
- 循环引用如何解决?
- GC root在哪里是什么?
- 如果找到没有引用的对象?如果有1万个对象虚拟机如何找到
- char多大?为什么这么大?
- 锁:synchronized和lock锁,lock锁可以实现哪些synchronized实现不了的功能。
- handler机制实现原理
- looper如何实现阻塞唤醒?自己写如何实现?
- wait方法是哪个类的?sleep方法是哪个类的?
- ping是什么协议
- Get和post请求,为什么使用post不使用Get?
- C语言中的销毁使用什么
二面:
- 项目相关
- ArrayList线程安全吗?如何实现线程安全
- 锁对象锁方法锁lock锁,读写锁原理
- 线程同步的方法有哪些
- 网络异步转同步如何实现,
- http1.1和2.0新特性,400和500状态码
- 多路复用和keepalive区别
- 强缓存和协商缓存如何实现,参数是什么
- 内存模型
- 垃圾回收机制如何回收
- GC root有哪些
- 定义变量存在哪里?static的话存在哪里?final static存在哪里