字节跳动春招前端三轮面经
一面:
一面小哥哥很nice,问的问题也偏基础,全程谈笑风生
- 什么是堆,什么是栈,在哪里应用
- 什么是进程,什么是线程
- TCP 协商流程&断开流程
- 讲一下什么是 eventloop
-讲一下代码的执行结果,并解释为什么
Promise.resolve().then(() => console.log(2));
new Promise((resolve, reject) => {
resolve();
console.log(3);
}).then(() => console.log(4));
setTimeout(() => {
Promise.resolve().then(() => console.log(5));
setTimeout(() => console.log(7), 0);
}, 0);
setTimeout(() => console.log(6), 0);
-
讲一下什么是 prototype
-
一个矩形,水平垂直居中,且宽高比为 2:1
-
Vue 双向数据绑定实现(问的很细)
-
node用过吗,electron了解吗
-
有什么想问的
回答的较为顺利,不出预料几分钟后收到了2面通知.
二面:
二面面试官是人给人感觉很平易近人,给人感觉技术特别强,问题完全不按套路出牌,笑容渐渐消失,全程让我充满着卑微感和压迫感
1.tcp在哪一层?让你实现一个基于tcp协议之上的协议,你怎么实现。(其实就是实现一个http协议,问的相当细了,近20分钟都在讨论这道题)
2.webpack打包产物是怎样的,到底是为了什么,优化了什么,为什么要合并文件?
3.vue的diff是为什么,浏览器重绘重排前会diff吗,为什么?
4.实现一个单行容器内:左边一行文字,右边一个btn,文字边长过程中,不会把btn挤下去,而是文字超出省略
5.手写编程题:
实现一个累加函数,当最后一次调用传入空时,计算所有参数和,类似下面:
const x = sum(1);
x = sum(1,2)(3,4,5)(6)()
6. 有什么想问的?
二面真是把我学前端这一年积累下来的自信心彻底击垮了,问题基本是没准备过的,完全考验临场反应和知识积累,面试官最后问我有什么问题时,我都已经放弃挣扎随便问了几个,没想到过了几分钟接到了三面通知。
三面:
三面面试官全程很严肃,主要问一些思想层面的东西了
- 实习经历?主要做什么?实习收获成长?
- 个人感兴趣的前端方向?目前研究状况?将来打算?
- 来道算法题:逆波兰表达式相关
- 有什么想问的?感觉没戏了,也就问了一下上面的题相关的东西
三面等了一个半小时,个人感觉答得也不怎么样,过了一会儿收到短信说30天内同步结果,个人感觉无望了
--- end ---
顺道挂个blog:https://1465799166.github.io/
4.16更新:昨天下午接到hr电话,收到了offer
#字节跳动##春招##面经##前端工程师#