字节一面(50min)
-
1.自我介绍(面试官在看简历);
-
2.问项目(让我挑一个最熟悉的项目)
-
3.问用到的技术栈
-
4.问mysql有哪些存储引擎,你用到什么存储引擎,区别是什么?
-
5.sql优化策略
-
6.聚集索引的底层
-
7.mvcc机制了解嘛
-
8.mysql的表锁有哪些?
-
9.给了一段sql语句,问会上什么锁?详细解读一下
-
10.聊计网:输入url会发生什么?(一顿bala)
-
11.tcp/ip三次握手,udp tcp区别
-
12.场景题:要是握手第三次断了我怎么去设计?
-
13.怎么保证tcp连接稳定性?
-
14.流量控制,拥塞控制。滑动窗口。
-
15.做题:链表相加
-
16.反问:技术栈。面完20分钟后收到hr电话约第2轮面试,约了第二天。
二面(1h)
-
1.自我介绍(问能实习多久)
-
2.进程和线程还有协程
-
3.线程和进程的通信方式以及两者区别
-
4.说出单例模式几种实现方式以及区别
-
5.redis为什么快?
-
6.redis知道多少说多少?
-
7.redis的sorted set
-
8 sorted set底层,越细越好。
-
9.TCP/IP三次握手四次挥手
-
10.Mysql索引,联合索引,失效,左连接(八股文)
-
11.做题:给一个表并做一道sql题 写三个语句
-
12.做题:最长的括号子串
-
13.聊最擅长的项目(基本我在说)
-
14.反问涉及到的业务,说不会涉及到一些高并发核心的东西,反问能不能过?都有可能,会评估,过了会通知你。三面等了2个工作日,中间有个端午节,hr是节后第一天通知我二面过了,约第三面的时间,我就约了周日。
字节三面面经(1h)
三面面试官一看发量就是大佬,特别有亲和力,大概不到40岁,有说有笑的,中间还给我一次性点了4个题,我吓呆了,然后他说就做两个,完全不是按我简历问的,三面面试官是发散着问。
-
1.自我介绍一下
-
2.介绍一下实习经历和项目
-
3.连接池,一些参数的含义(详细探讨了一下 removeAbandonedTimeout细节)
-
4.虚拟内存和物理内存的区别和关系?
-
5.策略模式说一下,使用场景?
-
6.单例模式的几种写法以及为啥双重校验锁。
-
7.说下volatile底层,保证了什么?
-
8.指令重排是什么?
-
9.数据库怎么保证acid的,底层策略,说下undolog和redolog,next-key locks,那oracle呢?
-
10.异常的一些开放性题目,没有固定答案,重来没见过的题(这一段耗费了很多时间,我没听明白啥意思,都是开放的题目)
-
11.一个1x2的矩形放2xn的矩形里有多少种放法?写出表达式
-
12.做题:a.股票买卖(两种写法,优化)b.二叉树的公共祖先 面试官夸了一下我写注释的习惯,还让我代码里尽量功能块跟其他功能用一行空格区分一下,特别严谨
-
13.提问,然后还问到了go协程是怎么实现的。第二天说三面通过了,然后约了hr面,hr小姐姐特别棒
字节hr面(30min)
-
1.自我介绍
-
2.实验室的情况说一下,还问了导师姓名
-
3.怎么学习新技术的,用在了哪个地方可以说一下嘛?
-
4.有哪些offer?
-
5.为什么选择字节?
-
6.项目介绍
-
7.对前面几位面试官有什么印象?
-
8.找的职位都是后端开发嘛?
-
9.说下性格特点?
-
10.沟通了一下入职时间,我说两周内,问可以实习多久,转正否?
-
反问:什么时候出结果?说未来一周内会有hr联系你
然后下午五点直接发了实习offer,今天入职时间,效率特高,速度很快,我都惊讶了!
总结:其实之前投的是飞书的岗位然后转到其他部门这边来了,当时一面之前有些事情,还想着跟hr取消面试,但hr给我立刻换了时间(面试前一小时),最后四面竟然一路磕磕绊绊走下来了,所以千万不要放弃,打工人,一起加油!!