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))
反问
#百度##前端##面经##春招#