共计 856 个字符,预计需要花费 3 分钟才能阅读完成。
字节跳动前端面经(目测在备胎池中)
本文只记录一些我印象深刻的问题,后期有时间的话我会写上答案
一面
css 两列布局,右列定宽,左列自适应。为了躲 flex 绞尽脑汁答了 3 种,还是没躲掉 =.=
flex
addEventListener
手撕代码:实现一个函数,每隔 wait 秒执行 func,一共执行 times 次
function repeat(func, times, wait) {
}
// 输入
const repeatFunc = repeat(alert, 4, 3000);
// 输出
// 会 alert4 次 helloworld, 每次间隔 3 秒
repeatFunc(‘hellworld’);
// 会 alert4 次 worldhellp, 每次间隔 3 秒
repeatFunc(‘worldhello’)
this 指向的问题
变量提升,从 EC 的 VO 答
感觉一面问的也都比较基础,可是我答得很一般,压线过的那种
二面
问了些项目相关,面试官好像对我做的一个自动生成很感兴趣,交流了好久
手撕代码:实现一个函数, 该函数接收一个 obj, 一个 path, 一个 value,实现 obj[path] = value,obj 类似 json 格式
react 中的 setState 为什么异步?能不能同步?什么时候异步?什么时候同步?
promise
react virtual dom,diff
this 问题
变量提升
二面表现不错,第二天就接到了 HR 的电话,让三面
三面
自我介绍
如何删除 addEventListener 绑定的事件
dva 解决了什么?如何解决?为什么使用?估计想问我 redux-saga,这里答得很烂
redux 异步问题,redux-saga,redux-promise,redux-thunk,这块刚好不会,想着肯定凉了
setState 为什么异步?
受控组件 vs 非受控组件
手撕代码:数组扁平化
三面答得是真的很烂,想着没希望了,过了一天又接到 HR 电话,说要加面。今天又接到电话,说面试官有紧急会议,面试暂时取消,之后联系。我信你个鬼,肯定是备胎啦 ~
总结
面完就一个感觉,自己好菜啊,找不着工作了,还是去考研吧~~~