好事多磨!6轮面试后终于拿到字节前端校招offer(内含6轮面经)
因为我错过了2020年的秋招(ps: 那时候连数据结构与算法都还没学完),11月的时候找了家小公司实习着,也算学到了很多东西。但在实习的过程中,我一直在想着如何备战2021年3月份的春招,进一家心仪的公司。大概1月初的时候,我在各个渠道就收到了字节跳动年前扩招的喜讯,我心想,春招压力这么大(因为春招的求职者大多都是备战了很久的大佬或者是秋招实习结束回来更有经验的同学),字节竟然年前开始扩招了,那我不如抓住这个机会尝试一下,降低一些竞争压力
于是我就用了一周的时间边准备面试,边投简历
准备面试题的方式:
先把自己以往博客总结过的知识重拾起来看一下,要保证自己写过的东西是会的(因为时间久了难免会忘记一些嘛) 按照专题进行看常考面试题:浏览器、数据结构与算法、HTML、CSS、JS、Vue/React的常考题...剩下的就要看你自己的技术广度了,简历上有的,就多准备点,没有的也可以稍微看一看 再者就是多刷算法题啦,毕竟校招也不看你有多牛逼的项目经历,能考核的也就只是一些基础知识、简单的项目经历、算法掌握程度 以上都做好了以后,就开始多看看别人的面经了,主要的作用就是查漏补缺,这个真的非常有帮助。注:尽量找一些跟自己求职岗位和公司相匹配的面经,当然不是也没有关系
投简历的过程:
首先肯定是找一个简洁不浮夸却有很精美的简历模板,然后将自己的信息填上去,主要的就是:姓名、电话、照片、擅长的技术栈、教育经历、实习经历、项目经历、证书、社交网站。这里要强调的是:不太熟悉的东西别往上写,没用的东西别往上写。 然后就是投简历的渠道问题了,刚开始也是因为我写了一篇年终总结,然后有好多人来私信我,想帮我内推,当然我接受了一部分,也推掉了一部分。这里我要给个建议,最好找别人内推一下,因为这样更快让你的简历被看到,避免长时间没有音讯。不过要提的是,找的内推人一定要靠谱!一定要靠谱!要找那种能给你一些简历修改建议的,会帮你跟进后续流程的,部门hc真的充足的人,而不是找那种广撒网的,因为他们根本没时间管你,可能你投进去,反而卡了流程(真的感同身受)
前言
大概我是1月10号开始投的简历,然后好像3天内就收到了面试邀约(不得不说,太效率了),后来1、2面都是技术面(2面交叉面),3面是leader,也就是简单聊点基础知识和项目难点啥的,4面就直接hr面了,整个流程下来也不拖延总共用了也就1个星期多几天吧(再次感叹,好效率)。不过可惜的是,最后hr在跟我谈的时候,告诉我是北京的,然后可能跟我的意向城市有点冲突,我就说能否给我转杭州去(这里我真的懵逼,投的时候也没特地指明是北京,整个面试流程也没人告诉过我是北京),经过几天的协调,转到杭州的字节了
转到杭州的字节以后,因为我前面技术面都面过好几次了,所以只是加面了个leader面,这次的leader是个好大的大佬,给我的压力还是挺大的,我当时都以为挂了,不过出人意料的是最后告诉我竟然过了,可.....尴尬的事情又来了,跟我说部门hc可能不太多了,于是hr就又给我想办法,最终问我是否愿意转到上海的字节,其实我本来意向城市只有一个,那就是杭州的,但后来一想,人别那么死板嘛,就准备尝试一下上海的字节了
(此时已经2月10号了,距离我第一次投递简历已经1个月了)流程转到上海的字节以后,跟上次的转流程一样,也是加面了一次,面我的leader人特别友善,整个气氛特别好,后来流程也是很顺利,过了hr面,最终拿到了offer(现在已经入职实习了)
其实说实话,在得知杭州的字节没有前端的hc时,我多多少少有点崩溃,感觉过程怎么这么艰难,不过还是劝自己好事多磨,好在结果没让我失望
接下来就放上我这么多面试所有的过程吧,希望能对大家有所帮助,答案就不放了,有需要答案的小伙伴可以加我细聊
一面(50min 北京)
自我介绍 TCP的握手、挥手。为什么是三次握手而不是两次?为什么是四次挥手而不是三次 TCP跟UDP的区别 http的请求方法有哪些?get、post的区别,别的方法是干什么的 Content-Type 有哪些 水平垂直居中的实现方法 flex布局的一些问题 BFC 如何实现宽高比固定4 : 3(仅用css),我回答说height设为0,用padding-bottom代替 为什么padding-bottom是基于父元素的宽度而不是父元素的高度的? Vue给你带来的好处是什么 什么是组件,干什么的 若封装一个组件,你会考虑什么?后面还讲了一个具体的组件封装例子,问我的思路 双向绑定、数据响应式的实现 一道函数柯里化 防抖、节流 给你1亿个数字,找出最大的前1K个,如何优化效率比较高 图的方法有哪些?(广度、深度) 一个迷宫,从任意一个起点,求到终点的最短距离 反问环节
二面(1h 北京)
自我介绍 webpack的打包流程 Webpack 的一些生命周期 平时看过什么书 http与https的区别,其实主要就是问https为何安全 浏览器缓存 apply、call、bind的区别,做了一道关于这个的题目 做了一道题,回答了一下输出的内容
function Foo() {
getName = function(){ alert(1); };
return this;
}
Foo.getName = function() { alert(2); };
Foo.prototype.getName = function(){ alert(3); };
var getName = function() { alert(4); };
function getName(){ alert(5); };
Foo.getName(); //
getName(); //
Foo().getName(); //
getName(); //
new (Foo.getName)(); //
(new Foo()).getName(); //
然后改动了一个地方,继续问我输出结果是什么
function Foo() {
// 这里加了一个this
this.getName = function(){ alert(1); };
return this;
}
Foo.getName = function() { alert(2); };
Foo.prototype.getName = function(){ alert(3); };
var getName = function() { alert(4); };
function getName(){ alert(5); };
Foo.getName(); //
getName(); //
Foo().getName(); //
getName(); //
new (Foo.getName)(); //
(new Foo()).getName(); //
给一个二叉树和一个值,问是否有一条路径上的值相加等于该值的,有就返回
true
,没有就返回false
反问环节
三面(55min 北京)
为何选择前端,以及之后的职业规划 在学校如何学习前端的 按时间线来讲一下做的所有项目(每讲到一个项目时,都会对这个项目问我几个小问题)注:这个环节经过了很久很久很久很久 手写Ajax 手写深拷贝 写了个合并单链表 反问环节
hr面(1h 北京)
自我介绍 问了我一些校园经历相关的简单问题 介绍一下你自己做的最有成就感的项目,讲讲初衷、心得(惊了!hr竟然问我项目) 兴趣爱好 在校的学习状态 何时到岗 反问环节
leader面(54min 杭州)
自我介绍 python如何下载文件(???惊了,我就考了个python二级证书,竟然问我python) 做过一段时间的爬虫?前端如何做反爬(我错了!!我以后再也不在简历上写python了) 项目中遇到的难点以及解决方案 反转链表 反问环节
leader面(1h 上海)
自我介绍 讲解了一下TCP的各种知识(拥塞控制、重发控制、流控制、滑动窗口控制)注:leader看我前面面了那么多次了,就简单问些网络的问题了 UDP和TCP的区别 以现在的网络带宽,你觉得网络直播、视频等业务能用TCP来代替UDP吗?为什么? git相关的命令(问的详细的主要就是合并分支:merge、rebase等) 你觉得你的优势是什么?你的劣势是什么? 你是非科班的学生,你觉得你相对于科班学生的优势是什么?你如何弥补相对于他们的不足? 以后的职业规划、人生规划 简单考了道算法题:蛇形打印 反问环节
hr面(30min 上海)
自我介绍 学习经历 你的优势和劣势分别是什么? 现在人在哪?多久能到岗? 反问环节(心里默默地想:卧槽???这才30分钟不到啊,就结束了)
总结
说真的,在年前扩招我只投了字节一个大厂,流程真的快得没话说,但是过程我真的....无话可说。
很感谢自己在初学前端的时候,养成了写博客总结的习惯,这让我对前端很多知识都有很深的印象,而且面试中也是非常加分
不过在入职后,感觉自己的前端之路才刚开始,这里分享几张我入职后的图片:
给大家几个建议吧:
找个认识或者靠谱的内推人,能帮你快速跟进流程的 多投几家公司,鸡蛋不要放在一个篮子里
大家如果有意向字节跳动的话,可以考虑一下我们部门,base上海,近半年的计划是社招前端若干个(hc充足,会帮忙跟进流程),另外社招android若干个、ios若干个
投递方式:可以直接加我微信:Lpyexplore333
,帮你提点简历修改意见,并且方便后续跟进流程
刚刚数了数,我竟然面了有6
轮了,挺不可思议的。为了证明我真的是面了那么多轮,下面附上"无数"
的面试邀约截图 ⬇️
关注我,阅读更多精彩内容
▽▽▽
👍 「赞」、「在看」、「转发」支持一下