字节抖音前端实习面经
一面 3/16 1h
先做一下自我介绍
介绍项目、项目难点,人员部署,生命周期
如何前后分离部署项目
怎么解决跨域,对比解决方案
项目有做什么优化
单页应用和ssr的优缺点
首页白屏怎么优化
隐藏元素css有哪些方法,优缺点
追问重排和重绘
ES6模块机制和CommonJS的区别
代码题
-
手写防抖
-
手写实现EventBus
class EventBus{ on(){} off(){} once(){} trigger(){} } const a=(param)=>{console.log(a)} let bus=new EventBus() bus.on('event1',a) bus.trigger('event1',1) bus.trigger('event1',2) bus.off('event1') bus.trigger('event1',3) bus.once('event2',a) bus.trigger('event2',4) bus.trigger('event2',5) // 1 // 2 // 4
-
判断输出顺序(宏任务,微任务)
async func1(){ console.log(1) await func2() console.log(2) } func2(){ console.log(3) } console.log(4) func1() setTimeOut(()=>{ console.log(5) },0) promise((resolve,reject)=>{ console.log(6) resolve() }).then(()=>{ console.log(7) }) console.log(8)
HTTP状态码
追问301、302、307
反问
二面 3/24 46min
自我介绍
项目
学的课程
怎么学习
面向对象语言的特性
后端的了解
node和c++的区别
设计模式,手写单例模式
树的遍历方式,求时间复杂度
快速排序优化
查询树中到某个节点的路径
csrf
项目安全,收益