字节跳动后台开发实习面经

背景:

研一,非科班,Top2;

之前一直不知道以后做些什么,疫情期间和其他人交流之后决定走开发,大概开始学习是6月上旬;

在同学的怂恿下投了懂车帝的后台开发日常实习,每天就一直在疯狂地刷题、看书、看面经,因为实在不太自信;

慌手慌脚地就投了,突然就要开始面试了,其实自己知道还缺不少斤两。

技术栈主要是 Go,项目写了简单的网站、简易的分布式缓存、实现了 Raft 协议;

然后力扣刷题大概刷了 200 题,主要是树、双指针、剑指和其他一些乱七八糟的,

其实刷的题目都比较简单,高中学过竞赛可能会稍微熟悉一点(其实早忘光了);

个人前一个月主要在补操作系统、计算机网络之类的知识;

看的东西比较多,但是都不深入,导致面试问啥能讲点但是深入就 GG。

字节的效率太快了,快到我措手不及,傍晚投完简历晚上就过了,第二天大睡午觉的时候 HR 电话过来要约面试;

而且前一天晚上吃了冰西瓜几年没发作老肠胃病怒犯,凌晨就去医院挂水了,属实惨;

也就是说面试前的准备时间,基本用来磨磨蹭蹭恢复身体上了,而且也就两天时间。

一面:

自我介绍,非科班问了一些问题,为什么转开发;

算法,两数之和,讲了 O(n) 时间的算法,再改用 O(1) 的空间,用快排排序,问了时空效率,让改成非递归快排;

进程和线程的区别;

进程间通信的方式;

TCP 连接的客户端和服务端状态。

二面:

自我介绍,问了非科班的问题,学习和规划是怎么做的,和科班比有哪些不足,之类的;

LRU 算法里面,键值的存储形式,值 interface;

interface 不是个好的形式,会导致 GC 压力大,为啥,那用什么形式比较好;

goroutine 里面 panic 了会怎么样;

map 是否是并发安全的,不是如何做到,还有什么其他方法;

不加锁并发读写 map 会出现什么问题;

redis 的数据类型;

redis 的 zset 底层是如何实现的,zset 根据 member 查询 score 的效率,zset 获取排名的效率;

raft 解决了什么问题;

raft 脑裂是怎么解决的;

提出一个场景,根据 raft 协议接下来会怎么样;

虚拟内存的概念,为什么要保护物理内存;

页面置换算法;

session 和 cookie,为什么用 sessionId 不用 uid;

算法,给出字符串和字符,等概率地输出一个字符所在的位置;

再写个 SQL 查询。

体验:

一面很快就结束了,非递归快排没见过但是也能很快写出来,然后空间效率也算出来了。

二面还是比较难,不少是从项目延伸开来,然后更加深入和更偏工程化,经验不足的就答不上来,倒是 raft 可能讲得比较详细;

操统和计网的知识没怎么考察,Go 的考察了但是正好没准备到,之前看过忘了;

算法题偏数学了,没抽象出来,提示了一下发现高中甚至初中时候绝对碰见过,还是想不出来,再交流突然就抽象出来了。

个人感觉字节的面试可能还是比较少看你背书的情况;

最好就是能以自己的语言讲出来,尤其是项目的问题,要有自己的理解,最好再越过本身更深入一些。

两次面试间隔很短,确实还是蛮耗体力的,尤其是知识水平不够答不出来的时候,挠挠头皮硬撑过去;

二面真的是发现自己还缺太多东西,然后面试官也很好,给我讲了好多需要努力的地方,然后鼓励我好好加油,还问了之后的规划。

总结就是面试体验极好,感谢面试官,而且还是能认识到好多不足的地方,以后继续加油,再许个愿!!!

#面经##字节跳动##golang工程师##实习#
全部评论
楼主哪个部门啊
1 回复
分享
发布于 2020-08-26 10:23
楼主三面了吗?
点赞 回复
分享
发布于 2020-08-25 15:09
小红书
校招火热招聘中
官网直投
字节不是四面吗?怎么一共才三轮面试啊。
点赞 回复
分享
发布于 2020-10-22 22:12

相关推荐

刚刚面完懂车帝前端,吐槽一下,不管以后有没有机会去字节,最起码懂车帝是不想去了。先说面试问题吧,再说七宗罪问题:1.自我介绍2.为什么要学前端,学习路线3.说一说项目4.项目中做了哪些,说了性能优化方面的,提到了各种优化(问业务架构优化,是什么个意思)5.提到了Profiler,问优化的指标是什么 =>组件渲染时间(不太认可),提到了FCP LCP(没做过这个)6.浏览器缓存7.React Fiber架构8.useEffect和useLayoutEffect的区别9.Hooks解决了什么问题10.Hook中为什么不能写判断11.为什么这种Fiber链表能够实现中断12.React18的新特性13.模块化?CommonJS和ES Module的区别14.一道代码输出题,输出结果为什么//a.jsexport var a = 1;export function modify() {  a = 2;}//b.jsimport { a,modify } from "./a.js";console.log(a)modify()console.log(a)15.实现两栏布局(回答用flex)16.说一说flex有哪些属性17.一道Promise  并发控制的题(题目太长了)18.useReducer的作用19.useMemo20.Treesharking原理七宗罪(仅代表个人观点,不喜勿喷,你要喷就是你对):1.打开视频面试,上来面试官说话声就特别小(这条不重要,也有可能是我耳机的问题,所以我只提了一次声音的问题,但是他只有那一瞬间声音大了,所以每次他说我都很仔细的听)2.然后就是正常的问问题,有几个问题没回答到他想要的答案(我觉得正常,之前面腾讯得时候面试官都会慢慢引导),但是这个面试官疯狂打断我的回答,然后还一副自己知识渊博的样子,说了一堆标准,我说我听过这些但是我在项目中没用到,我们当时的测试标准是*****3.回答问题的时候,我觉得我没笑,然后他觉得我在笑,问我笑什么(反正我没意识到,然后卑微抱歉),接着他就把视频关了,然后一直没开过摄像头(OS:难道是觉得我嘲笑他??我可不敢,我什么档次)#求职##面试中的破防瞬间##24届软开秋招面试经验大赏#
点赞 评论 收藏
转发
6 53 评论
分享
牛客网
牛客企业服务