字节面试
字节面试一共4面。字节的面试风格偏向基础的内容,以及简历上知识点的扩展。
全部的面试题内容和答案都整理在文末了
字节1面
- 自我介绍,项目经历,项目上的优化项以及原因
- 为什么使用mmap优化io读写,mmap和传统读写有什么区别?为什么选择它?
- Object 中有什么方法?
- Object 的equal实现?重写equal需要注意的方面。
- synchronized 原理。
- volatile原理
- ui优化
- 内存优化与LeakCanary的源码?以及LeakCanary的缺点和如何解决。
- 算法:数组中有一个数字出现的次数超过数组长度的一半,请找出这个数字(Leetcode原题)。
字节2面
- 自我介绍,项目经历,项目上的优化项以及优化的原因
- Rxjava源码原理,以及项目中你是如何将Rxjava流进行复用。
- 你项目中高度自定义了DiskLRUCache。问LRUCache的实现?问LinkedHashMap的实现?问DiskLruCache的实现?问Glide中实现的DiskLruCache的运用。
- Handler的原理
- volatile原理
- synchronize 锁的转化流程。
- ReentrantLock 实现。
- ui 优化,首屏渲染时机优化
- 启动优化,与AlphaManager的