字节面试
字节面试一共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的实现。
插桩的原理以及运用。
ASM
Javapoet
动态代理
LiveData 和 ViewModel的源码实现
x2c 源码实现
DNS 原理
https的原理
算法:判断一个字符串是否是回文串(注意保证原字符串不可改变,可用O(n)的空间复杂度)。
方向:栈的考究。
字节3面 Leader面
1.工作软技能的考核,以及团队中的定位2.如何进行io 优化,指标是什么,优化后的结果以及参数是多少?
方向:可以使用/proc/pid/stat读取cpu的idle,iowait等。使用mmap优化后的结果。
3.算法:在一个单链表中,每k个节点进行反转,无法被反转的部分放在末尾。
全部评论
(4) 回帖