22届校招字节跳动抖音三面面经(已挂)
11月份被hr主动加好友,岗位是后端开发,简历评估通过后开始面试,回忆贴,部分问题可能遗漏,隐去个人信息相关。
一面:60分钟左右
1:介绍个人项目,追问相关实现
2:介绍实习经历,追问实习经历
3:并发编程的理解,怎么加锁,怎么实现的,原理是什么,乐观/悲观/juc
4:你说你对调试很熟练,说一下怎么调试的
5:字节码分析应用在什么时候,比较字节码分析,断点/单步调试,源码分析,快照分析等
6:mysql索引结构,b+树特点,为什么不红黑树
7:https,从客户端到服务器端全流程,包括ca验证体系
8:redis底层数据结构
9:redis分布式锁,详细说说。说了setnx的问题,以及怎么解决,以及redis集群的redlock算法
10:说说你对分布式的理解。
11:说说分布式有哪些共识算法,怎么实现的。//从2pc,3pc到paxos和raft,扯了一大通,面试官表示满意。。。
算法:一道很常规的树的题,mid级别,当场推,写出来了
反问,介绍技术栈。
当天通知面试通过,约了后天二面
二面:75分钟
1:自我介绍
2:追问实习经历
然后面试官说,“你说你对java比较熟悉,那我问点java的”,//心中一喜
3:并发编程的理解
4:java 怎么加锁的,synchronized和reentrantlock的区别,底层是怎么加锁的
5:继续追问两者的底层实现,我说了monitor监视器指令和操作系统层面的mutex之类的
6:继续追问区别????我继续说可重入和释放方式之类的一些使用上的
7:继续追问??????我????然后提示公平锁,补充公平非公平
8:ThreadLocal,是怎么实现的,底层数据结构
9:redis有几种数据结构,我说到了是按对象来说,介绍了一下每种对象的几种编码方式
10:每种对象的每种编码方式都说一下,以及相关命令。//每种编码方式仔细说完,相关命令扯了一下,说命令忘了,他说没事
11:追问zset相关,详细介绍两种编码方式,追问跳跃表结构,追问各种操作(插入,查询)的时间复杂度,解释为什么。
//面试官说,你很熟悉这块啊,我说我看过源码,有c语言的基础,所以这块比较熟悉
12:rdb和aof,详细介绍,以及4.0的混用,rdb的fork阻塞,写时复制,aof重写,两者区分,优劣啥的
13:mysql的索引相关的问题
算法,一道数组相关的,mid级别,当场推,写的差不多,case运行超时了,我说我得调试一下,他说没事,等下你自己下去再调试吧
反问,介绍部门相关情况
当天通知二面通过,约了下周第三面
三面:60分钟
1:自我介绍
2:追问项目,数据流,从前端到后端的整个过程。//后端数据流,加盐加密,以及自动登入功能得到了面试官的肯定,表示没问题,第3问主要是前端泄漏,传输泄漏,抓包的问题
3:登入注册的加解密,秘钥泄漏问题,传输问题等等,我那可怜的小项目被问了个透。//秘钥泄漏上,根据提示解答出来了,就是替换秘钥,在请求上做个标识,后端根据标识选择对应的加密算法,泄漏的话直接更换就行
4:实习收获,实习难点,详细介绍。//得到了面试官的肯定
5:并发编程,你的理解,怎么实现的。//每面必问
6:http状态码,说了2是正确,3是重定向相关,4是客户端错误,5是服务器端错误,具体不记得了,面试官表示没问题
7:说一下页面空白,怎么排查。//纯空白,啥都没有,我说了f12看http请求,主要看路径和http 的body,然后定位路径,应该是后端的问题,开始调试,定位代码,看数据接受/返回,以及资源是否有渲染问题
8:mysql相关的一些东西,挺常规的
9:redis相关
10:来道智力题,甲乙抛硬币,甲先抛,赢的概率。硬推,后来查了一下,我自己思考推导的过程对了,来个累加就是答案了,面试官表示无异议
11:写个java单例,面试官功力深厚,指出来好多编程细节问题,static,构造函数之类的。//然后继续下一题
12:算法题,一道hard????闻所未闻的很偏的题,我思考了一下说不太会,面试官问不再想想?我说肯定得试试啊,然后继续思考,提示是图相关
然后思考了几分钟,摆烂说没什么思路,面试官说没事,下一题。//我当时就在想,怎么还有下一题????
13:看java代码,并发编程相关的,问这几个方法哪个会冲突。锁对象,锁class,静态方法,普通方法之类的
14:sql题,不难,联表group by然后求max,嵌套子查询。写了两分钟,语法属实忘了,然后和面试官说思路,指出没有考虑共同第一的情况
完善思路,面试官说没问题。
反问,对校招生的要求,期望。回答注重基础,看是否聪明,基础扎实,所以没有问你kafka消息队列和你的分布式之类的,项目之类的经验工作上很容易就积累了,也会有mentor带的。
反问面试官对我的评价,说不能说。表示理解
都面的很好,以为稳了,当天晚上咨询hr,说没通过。具体原因不能透露,只是说抖音这边要求会比别的部门要求高一些,所以评估没有通过。
总体上三面都发挥的很好,答出来95%以上,加上自己的理解,扩展之类的答的都很不错(面试老油条了,除了三面算法白给,其他都没问题,心里还是有数的),面试官态度也都很亲和,很专业。
最终挂掉的原因估计是学历问题,双非一本(最末流的那种一本),抖音还是太核心了。以及三面的算法没写出来可能也有影响,不过根据当时的面试情况,感觉这个算法题面试官不是很看重,因为之后还聊了很多
最后的最后,着实受到了很大的打击,平缓了大半天的心情,调整好心态,继续努力。
愿每一个默默努力的人都能得偿所愿
#字节跳动##面经##Java##面试流程##招聘进度##内推#