这次面试字节跳动也是做了很多的准备,还好顺利拿到了offer,特分享一下这次的4面技术面真题,以及一份字节师兄整理的面试手册,希望能够给一些正在面试字节或计划面试大厂的朋友提供帮助。

字节跳动技术一面

  • 讲一下线程参数的含义

  • Innodb的索引实现

  • 为什么是B+树?

  • Redis的使用,分布式锁的实现

  • 操作系统虚拟内存换页的过程

  • TCP三次握手

  • volatile关键字的作用

  • 乐观锁、悲观锁

  • 之前用过哪些设计模式?

  • 算法题:滑动窗口

字节跳动技术二面

  • 说一下B树和B+树的区别

  • 说一下HashMap的实现,扩容机制,扩容时如何保证可操作?

  • Redis扩容机制(渐进式单线程扩容)

  • Spring IoC的原理,如何实现,如何解决循环依赖?

  • 两线程对变量i进行加1操作,结果如何?为什么?怎么解决?

  • CAS概念、原子类实现原理

  • synchronize底层实现,如何实现Lock?

  • AQS有什么特点?

  • 手写项目中某个模块代码。

  • 介绍各种网络协议。

  • DNS在网络层用哪个协议,为什么。

  • 介绍HTTPS协议,详述SSL建立连接过程。

  • 代码题:反转单链表。

  • 代码题:复杂链表复制。

字节跳动技术三面

  • 算法题多到爆炸,感觉是算法专场,宇宙条果真名不虚传

  • 说一下Java垃圾回收机制

  • 64匹马,8个赛道,找最快的4匹马

  • 给出两个升序数组A、B和长度m、n,求第k个大的

  • 给出数组A,长度为n,数组中元素的值位于[0, n - 1]之间,求是否有重复元素

  • 讲一下多线程与多进程区别

  • JVM中什么时候会进行垃圾回收?什么样的对象是可以回收的?

  • Spring主要思想是什么?

字节跳动技术四面

  • 场景题目:设计一个短域名服务:短信存不了太长网站,需要弄成短域名,你该如何设计一个服务,可以为全国的网址服务。

  • TCP为什么是三次握手四次挥手?

  • 数据库的隔离级别

  • sql题,写了个连表查询外加模糊查询

  • 算法:镜像二叉树 ......

6月11号邮件收到信息,HR直接给了意向书,查收然后确认好了,确定了入职时间。
总的来说,自己如果有想要去的大公司,一定要提升好自己,让自己的能力和素质与公司匹配的上,我也一直相信,机会永远是留给有准备的人。下面这套字节师兄整理的面试手册,分享给大家~戳此传送门

篇幅有限,干货内容较长,希望对大家有帮助!