5/12百度前端一面面经
全程45分钟
自我介绍
介绍一下做过的项目
简单介绍一下社团项目
有没有针对antd进行过二次开发
js有哪些基本类型
如何根据原型链去判断数据类型
如何去判断复杂类型(指多层嵌套的那种)
讲一下promise常用的api以及内部运行机制
讲一下promise.all,promise.any和promise.race的区别
Promise内部有哪几种状态
讲一下js的事件循环
css如何实现隐藏一个元素
如何实现圣杯布局
常用的定位属性有哪些
fixed是根据什么定位的
设置绝对定位后设置margin是否还有效
设置绝对定位后z-index是否还有效
讲一下react的生命周期
讲一下如何在state更新后立刻获取到更新
vue最早在哪个生命周期可以拿到data实例
在created中修改了data之后是否会重新触发生命周期
v-if和v-show的区别是什么,哪个对性能更友好
vue中修改数组中某一项后如何触发更新
手撕题
// 有一个数组,数组中有如下四个对象,删选出b和c不同的项目
let arr = [{
a: 1, b: 1, c: 1
}, {
a: 1, b: 1, c: 1
}, {
a: 1, b: 1, c: 2
}, {
a: 1, b: 1, c: 3
}]
let myFliter = (arr) => {
let res = []
res.push(arr[0])
for (let i = 1; i < arr.length; i++) {
let flag = false
for (let j = 0; j < res.length; j++) {
if (arr[i].b === res[j].b && arr[i].c === res[j].c) {
flag = true
break
}
}
if (!flag)
res.push(arr[i])
}
return res
}
console.log(myFliter(arr))
反问
#百度##前端##面经##春招#
