字节教育前端一面
2.ES6语法最后会转成ES5执行,是通过什么工具实现的
3.手写extends这个关键字是通过什么实现的
4.原型的终点是哪里
5.typeof和instanceof有什么区别 typeof null /array都是什么?
6.vue一个父组件包了两个子组件,只关注两个生命周期beforMounted和mounted,这三个组件的两个生命周期的执行顺序
7.子组件插槽this指向是怎么实现的
8.scope是怎么实现的
9.ajax熟悉吗?get和post的区别
10.CORS简单请求和非简单请求(说太多了。。。)
11.前端怎么ajax带cookie
12.跨域请求是浏览器的限制还是服务器的限制,跨域发出去能不能到服务器
13.prototype和__proto__的区别
14.Function和Object原型链上有什么关联关系(代码描述。。。)
15.你觉得webpack是什么样的工具
16.webpack打包出来的是js插在模板可以允许和渲染是怎么实现的(。。没回答上来面试官提示说立即执行函数,我没了解过这个,面试官还说自己可能表述不清楚,焕然大悟,写一下立即执行函数结构体)
17.js怎么改变this指向,有什么区别,手写实现一下apply
18.箭头函数里的this指向,有一道题输出console(
function Person(name) {
this.name = name;
}
Person.prototype.print = function() {
return this.name;
};
Person('abc');
const a = new Person('abc').print.call({});
console.log(a);
const fn = () => {
this.x = 'z';
};
const b = {x: 'y'};
fn.call(b);
console.log(b);
19.事件委托
20.事件循环,做题
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')
21.浏览器渲染机制,js阻塞渲染有什么优化方法
22.css垂直居中
23.改变css属性什么会触发回流什么触发重绘 transform会回流吗(答错了。。)
24.怎么避免回流重绘有什么优化方法
25.又一道题
function M1() {
this.hello = 'hello';
}
function M2() {
this.world = 'world';
}
怎么实现一个多重继承。。可以在一个object对象即可以输出M1的hello也可以输出M2.world