百度前端一面包括自我介绍,技术问答,代码结果分析和现场coding
自我介绍
主要介绍自己的项目经验
技术问答
- 说说es6新增的两种数据结构,symbol 和 bigint
- 谈谈浏览器的同源策略 如何解决跨域问题。jsonp的原理 用webpack如何解决跨域问题,应该怎么配置,他的原理是什么。
- 说说事件委托 事件委托的缺点
- 说说vue router的实现原理
- vue的生命周期中,一般在那个周期区发送请求
- defer / async的区别
- vue 样式组件内有限的实现方法及原理
- 实现深拷贝的方式
代码分析
说说js的事件循环机制
说了半天,面试官说,要不你看个代码吧,估计是因为我没有说宏任务和微任务。下面上代码
async function async1() {
console.log('async1 start');
await async2();
console.log('async1 end');
}
async function async2() {
console.log('async2');
}
console.log('script start');
setTimeout(function() {
console.log('setTimeout');
}, 0)
async1();
new Promise(function(resolve) {
console.log('promise1');
resolve();
}).then(function() {
console.log('promise2');
});
console.log('script end');
请您写出这段代码的输出结果。
手写代码
手写深拷贝
番外
大家一定要冷静面对面试,今天也通过了美团的一面,我问美团有几轮面试的时候,人家说4轮,我滴天。