字节前端提前批123面(已OC)
- 楼主双非本科,非科班,一个月的小公司实习,做的是还原页面的工作;两个项目:跟着教程做的电商页面,自己做的静态博客。之前投过字节快手等公司的实习,但是都没过。
- 说这些是希望给秋招的各位一点信心,认真准备都能有收获的!
- 因为面试时间有些久了,许多问题记不太清了,仅凭记忆写一些。
一面(1h)
- 自我介绍,项目实习相关
- 7层网络模型,每一层有哪些协议,问的比较细,
- 算法题:买股票,先是不限制买卖次数,问最大收益是多少。写出来之后又增加条件,每次卖出都有手续费该如何考虑。leetcode有原题(这题是最后问的,手续费没写完,说了下思路)
- 实现promise.all(写的有些瑕疵)
- vuex使用,原理(这一块面试之前忘看了,乱说一通之后面试官建议我去看看官方文档)
二面(1h)
- 自我介绍,项目实习相关
- 看代码说输出,注意一个promise只能resolve一次,因此最后不会输出1。一开始没考虑到这点,经面试官提醒才意识到。
const pro = new Promise((resolve, reject) => { const innerpro = new Promise((resolve, reject) => { setTimeout(() => { resolve(1); }, 0); console.log(2); resolve(3); }); innerpro.then(res => console.log(res)); resolve(4); console.log("pro"); }) pro.then(res => console.log(res)); console.log("end"); //2 //pro //end //3 //4
- 看代码说输出,考察作用域
var a = 100; function fn() { var b = 30; function bar() { console.log(a + b); console.log(this.b); } return bar; } var x = fn(), b = 400; x();
- vue的diff算法,问的比较详细,具体是如何比较新旧vnode的,以及节点的比较是深度优先还是广度优先
- slot的作用,何时会用到它
- ES6
- ES6 module和commonjs的区别
- webpack相关,提取common chunk,tree shaking是如何实现的
- vue.$nextTick作用
- 有了解哪些前端方面前沿的知识(我说flutter和serveless,微前端,然后面试官让具体讲讲,具体不了解hhh)
三面(30min左右)
- 三面是leader面,说话整体给人的感觉就比较严肃一点
- 实现String.prototype.indexOf,以及优化(写之前面试官说出一道很简单的算法题,然后我写的贼垃圾,写完都感觉要凉了)
- 看我代码写得很丑,问我有没有用过eslint,知道哪些前端代码规范。(要哭了)
- 知道哪些前端前沿知识
- es6相关
- 反问,讲了很久的业务内容
面试前面试官说面试可能持续40min,结果我说的太少不到30min就结束了hhh
- 还有一些记不起来的问题就是很常规的,
hr面(15min)
- 能否实习,校园经历等等,很少很常规。面完加了微信,说等offer审批
10天后收到了OC
总结
- 从一面到oc花了20天左右,每一面结束都觉得自己肯定会被刷掉,但是都很快收到了hr的消息约下一次面试时间,在此十分感谢hr小姐姐,7月的时候把我4月份投的简历捞起来让我投提前批,催着我把改好的简历给她,可以说没有她就没有今天的我hhh,每次面完10min就告诉了我结果。
- 面试内容一般由项目展开,大家一定要熟悉项目相关的知识点。
- 其实准备了很多算法题的,但是考到的不多hhh,我真的是很幸运了。
- 字节的面试效率还是很高的,就是等oc等了10天,有点煎熬,等oc的大家要有耐心呀,稳的。
- 每次面试之前都紧张得心脏狂跳,真正开始回答问题了反而好了一些。
- 如果有和我一样双非非科班的朋友,希望我的经历可以给你一点信心,相信自己可以做到的。也可以联系我一起交流问题。
- 准备面试的时候还整理了一个文件夹,把各个面经里的问题都收集了起来,感觉还是比较有用的,大家也可以试试。
- 最后祝愿秋招的大家能顺利拿到理想的offer。