字节剪映 二面挂
2023.09.12 一面
一面问的很基础,只记录自己没有答出来的
- 构造函数与静态方法 ❌
function Persion() { this.name = 1 } // 静态属性 Persion.name = 'Persion
- 静态方法与原型链的关系 ❌
- symbol是引用数据类型吗 ❌
2023.09.14 二面
- 弹窗业务拷打
- 如果让你去原生实现弹窗,你会怎么做?多个弹窗的时候如何展示?这里的弹窗dom结构怎么写
- 如何控制弹窗的顺序,比如b弹窗一定要在a弹窗展示关闭之后再展示?
- 有了解过常用组件库弹窗的写法吗,比如ant-design
- 隐藏元素的方法,有什么区别 ❌
- document.queryselectorAll('div') 返回的结构是什么样的 ❌
- 类数组和数组的区别 ❌
- 如何将类数组转换为数组 😵
- 类数组如何遍历 😧
- 类数组如何使用数组的方法 ❌
- call和apply的区别 ✔️
var a = 1 (function () { console.log(a) // undefined a = 5 var a = 20 console.log(window.a) // 1 console.log(a) // 20 })()
- 一道promsie输出题 ✔️
- 一道变量提升的题 ✔️
console.log(1); setTimeout(() => { console.log("t1"); }, 0); const t2 = setInterval(() => { console.log("t2"); }, 0); Promise.resolve() .then(() => { console.log(2); }) .then(() => { console.log(3); setTimeout(() => { console.log("t3"); clearInterval(t2); }, 0); }); console.log("end"); // 输出 1 end 2 3 t1 t2 t3
- 一道 react setState的题目,官网上的 ❌
const [state, setSTate] = useState(0)
fucntion fn() {
setState(state + 1)
setState(state + 1)
setState(state + 1)
} // 最终 state 为 0 fucntion fn() { setState(n => n + 1) setState(n => n + 1) setState(n => n + 1) } // 最终 state 为 3
- 事件委托 ✔️
- e.target和 e.currentTarget的区别 ❌
- vue 和 react 有做事件委托的优化吗
- 延迟脚本加载的方法,还有吗?
- 说下你所知道的缓存
- 强缓存和协商缓存的区别
- service worker 有什么用
- service worker的缓存策略
- http2的特点
- 如何保证cookie的安全性
- 一道题,实现上一个图片下载之后再下载下一张图片
- a标签和image标签的区别 ❌
- 场景题,实现数组转树形结构
- 最近有关注什么前端技术吗?
- 反问