【社招】字节跳动后端开发四面面经
个人情况:JAVA,工作一年半,面的是GO后台开发工程师,之前在杭州,这次面的BASE在另一个城市了
一面
- 项目经历
- TCP四次挥手,TIME_WAIT发生在哪一方
- TIME_WAIT过多如何处理
- 进程间的通讯方式
- 用的什么RPC框架,原理,协议
- 你的项目中,接口调用如何保证幂等
- 数据库的事务性质,innodb是如何实现的
- mysql中数据的存储结构
- 算法:leetcode 42 接雨水
反问环节
二面
- 项目经历
- 微服务需要注意些什么
- 你的项目中,如何保证分布式事务的一致性
- Redis如何实现分布式锁
- 服务之间调用用的什么协议,为什么
- 如何约定服务之间调用的接口的
- 限流怎么做的,为什么
- 算法:leetcode 209 二叉树转双向链表
反问环节
三面
- 愿意换城市吗?为什么?
- 写个生产者消费者模型
- 算法: leetcode 二叉树的直径
反问环节
HR面
- 愿意换城市吗?为什么?
- 同事怎么评价你?你如何评价自己?
- 平时有什么爱好?
- 了解职位需求吗?
- 有什么想问我的?
总的说社招还是得多准备项目,会问得很细节,对项目要有很多自己得思考,也要看看其他框架,其他方案在某一具体问题上是如何取舍解决问题的。(我们是有自己的RPC框架,所以可以聊很多)
问完项目然后会走个十来分钟的八股文吧,就JAVA开发常见问题,牛客区有很多,需要多看看复习一下,一般校招时都背过,社招看两眼也就回来了。
最后是算法,我感觉真的是跟面试表现出题。面得不好给HARD(如我的一面),面得好给MID和EASY(如二三面)。
头条效率真的很好,过了当天就跟你约下一面,赞~
就是OFFER审批会走个三天左右。