字节跳动面试经验汇总

个人背景:
坐标背景,某211本科毕业生,计算机专业,前公司是某B站,辞职之后就重新规划了一下自己的职业方向,最终目标定在了字节跳动,比较年轻化的一家互联网公司,近几年的发展速度也比较快,综合方面来说比较适合自己,所以就投了字节的简历,Java研发方向的,之后接到面试通知,总共耗时了2个星期,一共4轮面试,整个过程比较紧张,提心吊胆的,不过好在最后终于拿到了offer,所以特分享一下字节跳动Java岗的面试经验。


一面(50分钟左右,问题比较多)
网络:
交换机和路由器区别
TCP拥塞控制
TIME-WAIT和CLOSE-WAIT
项目:
Redis减库存怎么做的
QPS要是上万怎么办,Redis怎么抗?(我答的横向拓展,Nginx限流。其实应该是想问Redis集群)
Nginx怎么限流(漏桶算法、配置burst参数)
分布式事务怎么处理? (简单说了二段提交、TCC)
TCC有系统挂了怎么办? (不会。后来查的:TCC框架会记录日志,不断重复执行)

数据库:
InnoDB和MySAIM区别
讲一下索引

算法:

 

 

二面(55分钟)
网络:
三次握手四次挥手全过程
TCP拥塞控制
输入url到打开页面全过程
Java:
Java里四种引用
对多态的理解,底层是怎么实现的?(动态绑定)
Jvm运行时数据区
Java的深浅拷贝(clone方法)
Hashtable和HashMap区别,说下HashMap结构

项目:
为什么要用Redis
Redis热key问题(没看过… 后来查的:本地HashMap缓存热key,或者搭建Redis集群)
Redis有哪些数据结构
String是怎么扩容的(不知道,后来查的:2倍扩容,超出1M后每次扩大1M)
Mybatis insert一个对象返回id怎么做的(不会… 扯到了为什么用Mybatis ,动态代理 )

算法:
(A,B)(A,C)(B,D)(D,A)判断是否有循环引用,提示用拓扑排序(尴尬,没看过,换了超简单的第二题做出来了)
蛇形打印二叉树

三面(45分钟)
主键索引查询和非主键索引查询区别
b+树好处
一致性哈希
说一下ConcurentHashMap
设计LRU
数组找是否存在和为M的两个数

四面(HR面,大约35分钟,主要是问个人职业规划、薪资待遇,以及对字节跳动的期许等等)
————————————————
版权声明:本文为CSDN博主「Java阿谷」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/weixin_45600362/java/article/details/101016543

posted @ 2020-06-24 11:57  超轶绝尘  阅读(1459)  评论(0编辑  收藏  举报