首页 > 2020 字节跳动后端面经分享!月薪20k,已拿 offer
头像
字节跳动内推|需求大
编辑于 2020-12-28 14:16
+ 关注

2020 字节跳动后端面经分享!月薪20k,已拿 offer

一面

面试官很和蔼,由于疫情的原因,大家都在家里面进行远程面试。

开头没有自我介绍,直接开始问项目了,问了比如

常用的 Web 组件有哪些(回答了自己经常用到的 SpringBoot,Redis,Mysql 等等,字节这边基本没有用 Java 的后台,所以感觉面试官不大会问 Spring,Java 这些东西,反倒是对数据库和中间件比较感兴趣)
Kafka 相关,如何保证不会重复消费,Kafka 消费组结构等等(这个只是凭着感觉和面试官说了,因为 Kafka 自己确实准备得不充分,但是心态稳住了)
Mysql 索引,B+树(必考嗷同学们)
还有一些项目中的细节,这些因人而异,就不放上来了,提示一点就是要在项目中介绍一些亮眼的地方,比如用了什么牛逼的数据结构,架构上有什么特点,并发量大小还有怎么去 hold 住并发量

后面就是算法题了,一共做了两道

判断平衡二叉树(这道题总体来说并不难,但是面试官在中间穿插了垃圾回收的知识,这就很难受了,具体的就是大家要判断一下对象在什么时候会回收,可达性分析什么时候对这个对象来说是不可达的,还有在递归函数中内存如何变化,这个是让我们来对这个函数进行执行过程的建模,只看栈帧大小变化的话,应该有是两个峰值,中间会有抖动的情况)
二分查找法的变种题,给定target和一个升序的数组,寻找下一个比数组大的数.这道题也不难,靠大家对二分查找法的熟悉程度,当然,这边还有一个优化的点,可以看看我的博客找找灵感
完成了之后,面试官让我等一会有二面,大概 10 分钟左右吧,休息了一会就继续了

二面

二面一上来就是先让我自我介绍,当然还是同样的套路,同样的香脆

然后问了我一些关于 Redis 的问题,比如 zset 的实现(跳表,这个高频) ,键的过期策略,持久化等等,这些在大多数 Redis 的介绍中都可以找到,就不细说了

还有一些数据结构的问题,比如说问了哈希表是什么,给面试官详细说了一下java.util.HashMap是怎么实现(当然里面就穿插着红黑树了,多看看红黑树是有什么特点之类的)的,包括说为什么要用链地址法来避免冲突,探测法有哪些,链地址法和探测法的优劣对比

后面还跟我讨论了很久的项目,所以说大家的项目一定要做好,要有亮点的地方,在这里跟面试官讨论了很多项目优化的地方,还有什么不足,还有什么地方可以新增功能等等,同样不细说了

一边讨论的时候噼里啪啦敲了很多,应该是对个人的面试评价一类的

后面就是字节的传统艺能手撕算法了,一共做了三道

一二道是连在一起的.给定一个规则S_0 = {1} S_1={1,2,1} S_2 = {1,2,1,3,1,2,1} S_n = {S_n-1 , n + 1, S_n-1}.第一个问题是他们的个数有什么关系(1 3 7 15... 2 的 n 次方-1,用位运算解决).第二个问题是给定数组个数下标 n 和索引 k,让我们求出 S_n(k)所指的数,假如S_2(2) = 1,我在做的时候没有什么好的思路,如果有的话大家可以分享一下
第三道是下一个排列:https://leetcode-cn.com/problems/next-permutation 的题型,不过做了一些修改,数组大小10000<n<100000,不能用暴力法,还有数字是在 1-9 之间会有重复

hr 面

一些偏职业规划的话题了,实习时间,项目经历,实习经历这些。

总结

基础很重要!这次准备到的 Redis,Mysql,JVM 原理等等都有问到了,(网络这一块没问,但是也是要好好准备的,对于后台来说,网络知识不仅仅是面试,还是以后工作的知识基础).当然自己也有准备不足的地方,比如 Kafka 等中间件,只会用不会原理是万万不行的.并且这些基础知识不能只靠背,面试官还会融合在项目里面进行串问

问到了不会的不要慌,因为面试官是在试探你的技术深度,有可能会针对某一个问题,问到你不会为止,所以你出现不会的问题是很正常的,心态把控住就行.

无论是做题,还是回答问题的时候,牢记你不是在考试,而是在交流,和面试官有互动和沟通是很重要的,你说的一些疏漏的地方,如果你及时跟面试官反馈,还是可以补救一下的

最重要的一点字节的面试就是算法一定要牢固,每一轮都会有手撕算法的,这个不用想,LeetCode+剑指 Offer 走起来就对了,心态很重要,算法题不一定都是你会的,要有一定的心理准备,遇到难题可以先冷静分析一波.而且写出Bug free的代码也是很重要的,我前面的几题算法因为在牛客网上进行面试,所以要运行出来.

写在最后:

可以关注公众号[面经熊】回复001,即可获取JAVA面试题链接!

有关于字节内推任何疑问可以加微信bytedance_neitui免费咨询,关于内推可以拉群讨论&催查内推进度哦。在某个流程停留超过七个工作日,可帮助联系对应HR解决问题,避免简历石沉大海!
字节跳动内推码:ZKTKBDR

投递链接

★字节跳动社招、实习内推链接:

https://taou.cn/xxarA

★社招内推链接 :

https://job.toutiao.com/s/JRdoFqM

★实习内推链接

https://job.toutiao.com/s/JRRdHVd

多城市&各方向岗位,在线岗位即为在招!无笔试且可以投递多个岗位!

祝大家都能斩获心仪的offer~

全部评论

(1) 回帖
加载中...
话题 回帖

相关热帖

历年真题 真题热练榜 24小时
技术(软件)/信息技术类
查看全部

近期精华帖

热门推荐