在21年上半年,大学比我小三届的师弟跟我说,他裸辞了,他说不甘心就在外包呆着,身边的朋友都一个个的进了理想的公司。但自己还在外包呆着他不甘心,也怪自己大学的时候还不够努力(其实挺聪明的),被女朋友哄得团团转(恋爱脑),现在终于悟了。直接裸辞,向自己的目标“字节跳动”进发。
这次面试字节跳动他也是做了很多的准备,还好顺利拿到了offer,特地来告诉我。分享一下这次的4面技术面真题,以及一份字节2-2师兄整理的排序和数据结构刷题手册,希望能够给一些正在面试字节或计划面试大厂的朋友提供帮助。
字节跳动技术一面
讲一下线程参数的含义
Innodb的索引实现
为什么是B+树?
Redis的使用,分布式锁的实现
操作系统虚拟内存换页的过程
TCP三次握手
volatile关键字的作用
乐观锁、悲观锁
之前用过哪些设计模式?
算法题:滑动窗口
字节跳动技术二面
说一下B树和B+树的区别
说一下HashMap的实现,扩容机制,扩容时如何保证可操作?
Redis扩容机制(渐进式单线程扩容)
Spring IoC的原理,如何实现,如何解决循环依赖?
两线程对变量i进行加1操作,结果如何?为什么?怎么解决?
CAS概念、原子类实现原理
synchronize底层实现,如何实现Lock?
AQS有什么特点?
手写项目中某个模块代码。
介绍各