明略科技前端一面面经(46min)
1、vue响应式原理
2、了解$set吗
3、Object.assign是深拷贝还是浅拷贝
4、手写深拷贝
5、实现倒三角形
6、let、const、var的区别
7、ES6去重和去重
8、原型链
9、遍历数组的时候如何跳出循环、聊聊for in for of
10、防抖、节流,有什么缺点(想手写一个的,面试官说不用)
11、promise是否会输出d(考察catch的返回值)
Promise.reject(2).catch(e => e).then(d => {
console.log(d)
}12、求输出
const p1 = new Promise((resolve, reject) => {
resolve('hello')
}).then(result => result)
.catch(e => e)
const p2 = new Promise((resolve, reject) => {
throw new Error('报错了')
}).then(result => result)
Promise.all([p1, p2])
.then(result => console.log(result))
.catch(e => console.log(e))13、求输出
const p1 = new Promise((resolve, reject) => {
resolve('hello')
}).then(result => result)
.catch(e => e)
const p2 = new Promise((resolve, reject) => {
throw new Error('报错了')
}).then(result => {
result
})
.catch(e => e)
Promise.all([p1, p2])
.then(result => console.log(result))
.catch(e => console.log(e))14、求输出
function Foo() {
getName = function () {
alert(1);
};
return this;
}
Foo.getName = function () {
alert(2);
};
Foo.prototype.getName = function () {
alert(3);
};
var getName = function () {
alert(4);
};
function getName() {
alert(5);
}
Foo.getName()
getName();
Foo().getName()15、聊聊什么是无状态协议
16、同源的不同页面间如何传递数据
17、缓存
18、三次握手的意义
女面试官超级nice!全程她都是笑哈哈的。