记录字节六战六败的面经以及一些吐槽
这周刚面完字节秋招三面并喜提拒信,不出意外秋招基本和字节无缘了,于是把之前前后后六次面试(我投递的都是基础架构或者后端开发岗位)整理一下发在牛客上,希望能帮到牛友,一直以来在牛客上看面经收获很大;同时也顺便吐槽一下字节这家公司有些离谱的招聘团队。
一、2022年3月,首战,实习,字节基础架构,编排调度团队
当时研一下学期刚开学,因为自己研究生做的是云原生相关,希望在业界做一些云原生相关的工作,所以当时看到系统上有这个岗位就投递了,很快约面。
1. 一面(过)
自我介绍,问实习和项目
Kubernetes部署Pod的流程,scheduler如何感知有新的Pod?
Docker的隔离技术?怎么实现文件系统的隔离?
讲讲HTTP的短连接和长连接?HTTP长连接如何识别服务器响应是哪次请求的回复?长连接客户端如何判断服务器已返回所有响应?
说说你知道的进程间通信方法?哪种效率最高?使用共享内存的时候需要注意什么?
CPU读写磁盘的方法?相比CPU直接读写,DMA让CPU少了什么操作?
算法:力扣53. 最大子数组和
2. 二面(挂)
面试前一天封校,面试当天全员核酸,我以为很快会解封就让HR推迟面试了,但是没想到的是会一直封校封到六月,首战字节也不知道什么时候悄悄挂掉了
二、2022年8月,二战,实习,字节基础架构,大数据团队
8月暑假的时候,前后有三个HR联系我,说可以继续面之前投的部门,也就是本该重新面编排调度团队,但HR在未和我事先沟通的情况下私自将我调整到大数据团队,直到收到面试邮件我才发现岗位莫名其妙变成“大数据开发实习生”,方向完全不匹配,和HR沟通后才知道原来编排调度团队没HC了(那之前疯狂联系我说可以重新面是在干什么?)所以“帮”我换到同一个部门的其他团队,我直接说那我不面了,她又劝我“去感受一下不同的团队和技术方向”,当时自己也不知道字节非常看重面评,也就答应了。
1. 一面(挂)
自我介绍
估计知道我本来是投编排调度的,让我介绍一下容器相关
用K8s的话,用过上层大数据处理的应用吗?没有
介绍Go协程模型?GPM
面试官估计也不太想面了,只问了上面3个问题就出了3道代码题:
- Go实现tryLock,加锁失败返回false,加锁成功返回true(用CAS实现)
- 力扣23. 合并 K 个升序链表
- 力扣295. 数据流的中位数
当时没怎么刷过算法题,第三道没做出来,挂了,但是我知道就算题做出来了也不会给我过,从头到尾就是一场KPI面试
三、2022年8月,三战,实习,字节基础架构,K8S服务开发(运维测试团队)
1. 一面(挂)
自我介绍
golang:
map的key是否有序?
切片和数组的区别?什么时候用切片/数组?
解释下切片的容量cap和长度len?
切片传参、在函数内部修改会影响函数外部吗?
Goroutine怎么传递数据?
怎么用channel共享数组?
K8s:
介绍K8s的主要组件?
controller-manager的作用?
介绍K8s常见的资源?
Pod限制CPU和Memory是谁在负责?
kube-proxy的作用?
kubectl exec时kube-proxy是如何起作用的?
scheduler list-watch发送的是什么?了解事件吗?具体是什么事件?
kubelet的作用?
kubelet创建Pod的流程?
K8s的网络模型?
K8s高可用是否了解?
K8s安全 3A了解吗?
docker、docker-compose、k8s的适用范围?
docker-compose各个容器网络互通吗?
K8s中request和limit的区别?
算法:
数组A中给定可以使用的1~9的数,返回由A数组中的元素组成的小于n的最大数。例如A={1, 2, 4, 9},n=2533,返回2499
当时急着找实习所以上一个部门挂了后又紧接着投了一个JD看上去差不多的岗位(然而实际面试才知道是干运维测试的活,只是用K8s去部署服务),但是面试前收到了当时更想去的一家外企的实习offer(最后也去实习了,体验很好),所以就没怎么认真准备,整场面试面试官也比较有压迫感,一连串Go和K8s问下来回答的不太好,就挂了
四、2023年5月,四战,实习,字节新业务(字节财经-抖音支付)
今年三月到四月投了无数次字节实习都是简历挂,到了五月,当时已经要入职阿里云了,但还是不甘心,在5月份投了字节招聘系统上新开的几个实习岗位,这次终于被抖音支付约面
1. 一面(过)
自我介绍
redis:
熟悉的数据结构、设计“关注用户”功能该用的数据结构(考虑数据量大)
跳表的原理,适合什么数据量
数据库和缓存强一致性和弱一致性如何保证,列出各种情况(删除失败、更新失败等等)以及解决方案
缓存雪崩、缓存穿透、缓存击穿,该如何避免
分布式锁
数据库:
乐观锁、悲观锁
事务,ACID、MVCC,read view
事务级别
脏读、幻读是什么
间隙锁
2道算法题:
- 力扣3. 无重复字符的最长子串
- 力扣1143. 最长公共子序列
2. 二面(过了两个月挂)
自我介绍 & 问实习和项目
讲讲微服务架构,有哪些组件?
服务发现用什么做的?
进程和线程的区别?
线程和携程的区别?
熟悉的设计模式?
计算机网络,传输层和网络层的作用?
写SQL吧(我说我忘了,没让我写)
算法:
力扣236. 二叉树的最近公共祖先
是的你没看错,二面过了两个月才给我挂掉;当时五月份二面完,我感觉两次面试都还不错,至少题目回答的七七八八、题也都做出来了,但就是既不挂也不约面,简历一直被锁在这个部门,面试完一个月的时候打电话问过HR,HR说她没有权限操作,要问问其他人,但是打完电话还是一样,系统状态一直在“面试中”;就这样到了面试完两个月,七月份的一个晚上(就是抖音支付大量招人的那段时间),同一个HR突然又打电话过来,说是字节财经的,问我考不考虑实习呢?我问她,我之前投过这个部门一直没挂,可不可以继续面试,她说不行、必须从头开始(那整整两个月你一直不给我挂、把我简历锁着是什么操作呢?),我就直接拒了;接完电话过了一天,在系统上看到她终于给我挂了
五、2023年7月,五战,校招提前批,字节生活服务,大数据团队
字节开提前批的时候我还在阿里云实习,没时间准备面试怕面评继续烂掉,所以根本就没打算投字节提前批。但是上一个流程挂了之后两三天突然字节HR打电话过来(也能侧面证明上一个HR确实把我简历锁了两个月),一上来就说,在系统上看到同学投递了生活服务的提前批,现在通过评估了想约个面试(我根本没投啊???),本来想拒掉的,又和HR仔细确认了下岗位是后端开发,想想字节能进面也是不容易,就同意面试了(事实证明,我又被HR坑了一次,实际面试的是大数据开发岗位,方向完全不匹配)
1. 一面(过)
自我介绍 & 问实习和项目,问了大概半小时
数据库用过哪些?MySQL如何做查询性能优化?
讲一讲阿里云的ACK服务和普通的Kubernetes集群有什么不同?
阿里云弹性计算有哪些部门?介绍一下各自的业务?
算法:
1143. 最长公共子序列
2. 二面(挂)
自我介绍
做过大数据开发吗?没做过
redis:
缓存雪崩、缓存击穿、缓存穿透的防范
C++:
虚函数原理
讲讲你对纯虚函数的理解
用C++实现单例模式
反问:部门业务?大数据平台开发,主要是Java。。。
估计面试官一开始是打算问我大数据的,发现我不会就没什么可问的了,也不想再面,只问点C++就草草结束面试了
这次面字节的经历也很难绷,直到二面才知道这个组是做大数据开发的(这确实是我的问题,一面就该问清楚组里工作的,当时只问了生活服务部门是做什么的),而HR一开始约面的时候我反复确认过岗位是什么,她只说是后端开发,对大数据开发是只字不提;也不知道在我根本没投提前批的情况下,你是怎么在系统里看到我投递了你们部门,还判断我很适合做我从来没接触过的Java大数据开发,又给我通过评估、把我锁进面试流程约面的?
面试完过了几天,系统上还是“面试中”状态,周五催了一次HR,说会和面试官确认,下周一再看系统还是“面试中”,又打电话过去,才说“暂时不推进同学的流程了”
六、2023年9月,六战,校招正式批,字节基础架构,网络虚拟化
1. 一面(过)
自我介绍
网络:
访问google.com的过程
TCP三次握手的过程
如果只有两次握手会出现什么情况
三次握手TCP状态机
socket通信双方建立连接的函数调用过程
三次握手发生在socket建立连接的哪个步骤
socket怎么通信?socket是文件,read和write
TCP怎么传输一个很大的视频文件?TCP分段
MTU和MSS的区别,MSS的值是怎么得到的
TCP拥塞控制算法有哪些?
TCP拥塞控制算法Reno是怎么做的?
TCP流量控制怎么做?说了滑动窗口,面试官说还有
IP分片是怎么做的?
其他:
用过哪几种锁?
跳表的原理?为什么能近似二分搜索?
算法:
146. LRU 缓存
2. 二面(过)
自我介绍
阿里云神龙MOC卡的架构(说我忘了,就算记得肯定也不会说)
kvm虚拟机的退出机制
网络读写会造成虚拟机退出吗
插入虚拟机的网络设备是什么类型
在阿里云实习有接触到网络虚拟化吗?
常用的锁?互斥锁、读写锁、自旋锁、原子变量
读写锁的读者和写者优先级哪个更高?为什么?
原子变量和per-CPU变量各自适用哪些场景
RCU了解吗?适用于什么场景
VxLAN了解吗?
从宿舍电脑ping部署在阿里云的服务器的域名,整个流程?
算法:53. 最大子数组和(链表版)
3. 三面(挂)
KPI聊天面,总共半小时
自我介绍,问项目
只问了一道八股,线程和进程的区别
无算法题
反问:没有网络虚拟化的经验影响大吗?不影响,匹配的同学不多,主要看基础掌握得怎么样。然后面完反手挂我
秋招正式批还是投了基础架构,但是没想到又给我捞到一个方向完全不匹配的岗位去,在阿里云实习是在ECS做CPU虚拟化的,字节愣是给我捞到做网络虚拟化的组,方向完全不同,只有“虚拟化”这三个字是一样的。一面完全没准备网络八股,被问得一脸懵逼,但一面面试官还是放我过了,还建议我好好准备下网络问题(虽然后两面都没再怎么被问到)。
一开始进三面还是很高兴的,面了六次字节,这是第一次进三面,万万没想到又是KPI面,全程三十分钟甚至没做题,以前每次面试都做了题的,果然面完几天就收到感谢信了。但我还是觉得,如果字节觉得候选人不合适,就早点挂掉吧,不要浪费双方时间继续面试,最后再来个KPI聊天面、什么都没考察出来还给我挂掉,这我不太能接受。
基础架构部门乱捞人也是常事了,不止是我,我认识的一个本科学弟,在联系了基础架构对应团队(方向匹配)的内推人、内推人保证leader会捞简历的情况下,刚投递简历就被另外一个方向不匹配的团队捞走进面,完全没有和候选人沟通的打算。
总结
字节六战六败,随着正式批挂掉,秋招我大概无缘字节了,于是就趁着周末整理了我六面字节的面经,希望能帮到各位牛友。同时也是想借这个机会吐槽一下字节招聘团队的混乱、高傲。
- 在未事先和候选人沟通的情况下私自更换面试岗位;
- 联系候选人面试完全不匹配的岗位,并且在候选人询问具体岗位时含糊其辞;
- 面试完成后消极跟进面试进度,面试过后两个月才释放候选人简历;
- 从部门简历池里乱捞人,就算方向不匹配也要捞,并且完全不打算和候选人沟通交流是否合适,系统里就直接进面了;
- 聊天KPI面,在前几面就应该挂掉的情况下,浪费双方时间继续约面,最后在面试纯聊天的情况下挂掉候选人。
诚然,各家公司面试或多或少都会出现一些问题,尤其是字节这种超大体量的公司更是如此,但是六次面试字节、四次遇到糟心事,如此频繁地出现各种问题,不由得让人怀疑字节招聘体系是否合理,对HR和面试官的培养是否规范。
别的不说,单说第4点,我投过阿里云、美团、京东、腾讯、百度,也和字节类似只能投递到大部门或者宽泛的岗位,需要由团队自己从部门的简历池里捞人,但是这五家里面每一家,团队每次捞我之前都会打电话告知我团队所在部门和业务,和我交流看我觉得合不合适,如果合适才会实际约面,反观字节则是没有任何商量直接锁进面试流程,管中窥豹,可以看到字节整个招聘体系的混乱和高高在上。
某一次面试过后,我在面试反馈中一五一十地描述了我至今遇到的各种问题,期待字节之后可以改进,现在看来这个面试反馈并没有任何作用,至于他们压根没看到我的反馈、还是看到了但不打算改,我也不得而知了。我承认自己简历不够优秀、能力也不足,但这不是你们不尊重候选人、浪费候选人时间的原因。
#面经##如何判断面试是否凉了##秋招##实习##字节跳动#