字节 4 面 Java 研发岗面试经历:redis+TCP+HashMap+ 算法 +JVM+spring
这次面试字节跳动也是做了很多的准备,还好顺利拿到了 offer,特分享一下这次的 4 面技术面真题,以及一份字节 2-2 师兄整理的面试手册,希望能够给一些正在面试字节或计划面试大厂的朋友提供帮助。
字节跳动技术一面
讲一下线程参数的含义
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 题,写了个连表查询外加模糊查询
算法:镜像二叉树 ......
4 月 11 号邮件收到信息,HR 直接给了意向书,查收然后确认好了,确定了入职时间。
总的来说,自己如果有想要去的大公司,一定要提升好自己,让自己的能力和素质与公司匹配的上,我也一直相信,机会永远是留给有准备的人。下面这套字节 2-2 师兄整理的面试手册,分享给大家~
![](https://static001.geekbang.org/infoq/f6/f690db7adcd367f694b4c86a187e878a.png)
![](https://static001.geekbang.org/infoq/21/215d73bc375610edb4e07cac27e4c8af.png)
![](https://static001.geekbang.org/infoq/c0/c091e39f4583462612d11b37a185bbb0.png)
![](https://static001.geekbang.org/infoq/23/238c946c963b3cd1e6e972d0e867ae71.png)
![](https://static001.geekbang.org/infoq/25/25f5c940478da26f01d3bdb179a9ef47.png)
评论