拿到字节offer已经有两周多了,目前手头工作也交接的差不多了。今天对字节面试过程做个总结,希望能够帮助到想去大厂的人。
时间介绍
- 岗位是运维研发岗
- 周日11-22 20.32 接到杭州电话约我11.24 20:00进行面试
- 周二11-24 18:00 还是杭州电话,跟我说面试官临时有事,面试推迟到12-01 20:00
- 周五11-27 16:08 北京电话跟我说面试官有事面试推迟到12-03 20:00。额有点崩溃,跳票两次。。
- 周四12-03 20:00~21:15 视频一面,使用飞书
- 周五12-04 13:30 HR告诉我一面通过,约到12-06 20:00进行二面
- 周日12-06 16:40 面试官有重要会议,二面推迟到12-07 20:00
- 周一12-07 20:00~21:15 视频二面,使用牛客网视频面试。
- 周一12-07 22:15 接到hr电话得知二面通过,约在12-15 21:00进行三面(跨度有点长,因为面试官晚上时间都约完了,另外我想做个充足的准备)
- 周二12-15 21:00-21:45 视频三面,使用牛客网视频面试。
- 周四12-17 19:50 接到hr电话,技术面通过,约在12-20 15:00进行hr面
- 周日12-20 15:00~15:30+ hr面,使用飞书
- 周二12-22 20:38 hr加我微信,告诉我让我准备薪资流水等材料
- 周三12-23 12:20+ 回复hr相关材料
- 周五12-25 19:04 收到offer邮件,那天是圣诞节。。
一面
一面主要技术点如下
- java内存模型,运行时数据区
- synchronize锁升级过程及背后的原理(对象头等等);升级的原因(自旋锁、重量级锁优劣)
- 工作中常用的垃圾收集器,收集算法,G1收集过程(卡表、三色标记)
- 限流相关算法,实现等
- 缓存三大问题,布隆过滤器实现原理
- 负载均衡实现方式,主要说了常用的集中ng,lvs,haproxy
- 线程池相关知识,如果让你设计一个线程池有啥需要注意的地方
- http协议版本,不同版本的区别。405、502状态码含义
- tcp三次握手,四次挥手介绍,其中还问了timeout原因-网络知识薄弱没get到点。
- 类加载机制,双亲委派模型
- springboot启动过程,配置文件加载顺序
- 如何实现一个类似springboot定时任务一样的功能@Schedule
- spring循环依赖问题
- 常见的排序算法,堆排序时间复杂度
- 算法 - LeetCode 162. 寻找峰值
二面
二面主要技术点如下
- kafka数据一致性如何保证的
- kafka在项目中的用途,其他mq介绍与对比
- redis持久化方式,持久化的过程
- mysql相关:索引、mvcc、事务隔离级别、主键索引与普通索引谁快
- 设计一个强一致性的消费模型
- es集群介绍,主节点选举过程(这个与我项目经历有关)
- linux中的load含义,其中队列具体指的是啥队列
- java程序性能问题排查,主要考察jdk自带命令,没事可以都看一遍
- arthas动态类替换实现原理,Instrumentation、asm等
- 算法 - LeetCode 198. 打家劫舍 变种(变了个描述。。。)
三面
主要问题列表
- 为何要选择这个职位
- 消息队列对比,如果实现数据一致性。rocketmq事务背后的实现原理
- redis高可用集群相关知识,自由发挥
- 接触过的监控系统,介绍如何设计一个监控系统,自由发挥
- 缓存击穿、穿透、雪崩,自由发挥
- 没有算法题,可能因为我连leetcode easy都写不出来的原因吧。。
HR面
- 个人介绍
- 最有成就的项目是哪个&介绍
- 之前公司的离职原因
- 当前薪资福利等
- 当前在团队中的角色
- 面试中确认了手机号能加微信,后续也是通过微信进行联系的