字节前端二面面经
1.介绍项目,拷打
2.假设写了一个setTimeout的循环,但它的值一直不对,是什么原因
3.用 let 和 var 有什么差别
4.说说你对Event Loop 的理解
5.如果我在一个 async 函数里面用了多个 await,它的执行顺序是怎么样的
6.microtask 和 macrotask 的区别是什么样的呢
7.说一下浏览器的渲染流程比如我输入一个 URL 到页面渲染出来,它中间到底发生了什么
8.说说浏览器的缓存策略吧,比如你刷新页面的时候,为什么有些资源会命中缓存,有些不会
9.说说你对 React 生命周期的理解,用 class 和 hook 两种写法分别说说挂载和卸载
10.如果我想在一个表格里加一个自定义筛选器组件,你怎么做
11.React的key为什么不能用index?说说diff算法是怎么用 key 的
12.CSS Modules 能做到样式隔离,它是怎么做到的
13.Webpack 的 Plugin 和 Loader 有什么区别
14.你现在有两个数组,里面有重复项,你要我输出交集并保留重复,你会怎么做
15如果我让你写一个页面,只靠 XML 配置就能生成表单和表格,怎么设计解析逻辑?XML 层级特别深,你怎么处理?
16.react Fiber 架构你了解吗?假设你写了一个递归组件,嵌套层级达到2000层,React为什么不会卡死?它的可中断渲染是怎么做的?如果我强制用一个同步函数阻塞主线程,会对Fiber 调度产生什么影响呢
17. 假设一个组件树中有200个子组件,你只想让其中1个组件在全局状态变化时重新渲染,其余保持稳定。有什么手段?React内部是怎么判断该不该重新渲染的?
18.手撕:给定一个只包括 '(',')','{','}','[',']' 的字符串 s ,判断字符串是否有效。有效字符串需满足:左括号必须用相同类型的右括号闭合。左括号必须以正确的顺序闭合。每个右括号都有一个对应的相同类型的左括号
