这次面试字节跳动也是做了很多的准备,还好顺利拿到了offer,特分享一下这次的4面技术面真题,以及一份字节2-2师兄整理的面试手册,希望能够给一些正在面试字节或计划面试大厂的朋友提供帮助。
字节跳动技术一面
- 讲一下线程参数的含义
- Innodb的索引实现
- 为什么是B+树?
- Redis的使用,分布式锁的实现
- 操作系统虚拟内存换页的过程
- TCP三次握手
- volatile关键字的作用
- 乐观锁、悲观锁
- 之前用过哪些设计模式?
- 算法题:滑动窗口
字节跳动技术二面
- 说一下B树和B+树的区别
- 说一下HashMap的实现,扩容机制,扩容时如何保证可操作?
- Redis扩容机制(渐进式单线程扩容)
- Spring IoC的原理,如何实现,如何解决循环依赖?
- 两线程对变量i进行加1操作,结果如何?为什么?怎么解决?
- CAS概念、原子类实现原理
- synchronize底层实现,如何实现Lock?
- AQS有什么特点?
- 手写项目中某个模块代码。
- 介绍各种网络协议。
- DNS在网络层用哪个协议,为什么。
- 介绍HTTPS协议,详述SSL建立连接过程。
- 代码题:反转单链表。
- 代码题:复杂链表复制。
字节跳动技术三面
- 算法题多到爆炸ÿ