集美大学诚毅学院的学弟,大一的时候从学校贴吧上看到我并且加了微信,后面让他大二就开始实习,在今年4月份拿了阿里和腾讯和实习offer,最近又拿了字节秋招提前批的offer,属实牛逼!
关于他之前的学习和实习求职经历,在二本院校学弟大二开始实习,大三收割阿里、腾讯实习offer这篇文章已经讲过,今天主要分享字节提前批后端的面试经历,希望能给大家一些帮助。
自我介绍
我是福建某二本学院22届软件工程学生,是峰哥的学弟。
之前在实习生春招中拿到了阿里腾讯的实习生offer。
最终我选择去了腾讯实习,在实习期间“偷偷”地面试了字节提前批,拿到了字节提前批后端岗位offer。
过程
我在6月份入职腾讯开始暑期的实习,随着实习时间的推进,我的工作也日益饱和,基本是995的一个工作状态了。
到了后续7月份,许多大厂也开始了提前批的招聘,其中就包括了宇宙条(字节)。于是,我在工作的劳累中纠结着要不要面试,最后在7月份的最后一天投出了简历,上了字节提前批最后一班车。
于是又有一个难题摆在我面前,面试地点和时间如何选择,因为字节的面试官也大都是选择在工作日进行面试的,和我实习的上班时间是冲突的,我也不想请假或和主管同事坦白去其他面试的情况.
于是经过我对公司同事作息的多次摸索发现,一般开会和讨论问题的时间都是在下午3点到6点和晚上7点半-9点,在其他时间同事们也有偶尔的迟到.
于是,我就打算“假装”迟到,这样就解决了面试时间的问题;而面试地点我就选择了在其他层的封闭的电话亭里,这样也避免让主管同事遇到的尴尬情况出现。
不得不说字节的招聘效率还是很高,马上就有hr联系我约面试时间,于是我就约了中午2点开始,我在中午吃完饭就跑到了二楼找了个小电话亭,就开始演习自我介绍。
两点准时开始了面试,一面面试官略显严肃,主要是对基础知识的考察,考察了JVM、MySQL、Redis、Raft、分布式等方面的八股文,最后同样是走了字节面试的相同套路,来了道算法题结束面试。
结束面试后,快3点了,我偷偷地将电脑放在了腿边,拿出事先买好的咖啡,假装是中午午睡后,去楼下买了杯咖啡提神,回到了工位上,不一会二面的邀约就来了,我约了第二天的傍晚进行面试。
主要内容是配合着我简历上的知识点,旁推侧击地问我如何学习的,有点闲聊的过程中问问题的感觉,算法题是一道多线程的题,因为太久没写过多线程相关的东西,做题的过程中有点坎坷,最后还是憋了出来。
二面面完之后,hr当天晚上就约了第二天的三面,过程主要是问项目,过程也还算比较常规,最后也是照常出了一道算法题,三面的当天,内推人去问了hr后,告诉我通过了,一周后,hr简单询问后,就发了意向书。
面试三场都是连着3天面下来的,效率比较高,而且面试官都是比较友好,体验感觉还是不错的,第一次面字节,就来了个3天斩获了意向书,这个过程还是比较魔幻的。
面试下来,其实字节面试最有特点的地方还是需要刷好题,因为算法题在字节的面试中拥有一票否决的权重,所以面试之前多刷题是准备字节面试最重要也是最简单的一个环节。
下面我整理了一下我在这次字节面试过程中遇到的一些问题:
字节面经
一面
- 说一下JVM的内存模型
- JVM的局部变量和全局变量一样吗,内存如何分配的
- 函数运行的过程,JVM内部发生什么事情
- MySQL的事务隔离级别
- MySQL的默认事务级别
- MySQL如何解决的幻读
- 说一下MVCC
- Raft集群发生故障,如何解决
- Raft和Paxos有什么区别
- 算法题:搜索二维矩阵II
二面
- MySQL的索引机制
- 为什么用B+树
- 你是怎么学MySQL的
- Redis的IO模型了解吗
- 为什么Redis为什么选择用单线程,memcached用多线程
- 说一下Reactor-IO模型
- 你如何了解Redis的,看过哪些书
- 了解LSM吗,说一说
- WiscKey了解吗,说一说
- 平时喜欢看哪些书,最近在学什么
- 算法题:3个线程按顺序打印1 ~ 100,代码不能重复冗余(3个线程Runnable函数体相同)。
三面
主要是聊项目中的一些问题
- 说一说DDD和JDK8的函数式编程
- 说一说Disruptor
- 具体用了什么设计模式,为什么要用这些设计模式
- 说一说项目中实现的淘汰算法(LRU、LFU)
- 算法题:接雨水
最后
在校的同学尽量提前准备,别卡着时间点再学。尤其是学历像我一样不好的,提前学习并且早点实习,这样能给自己进大厂增加更多的筹码。
--end--