字节前端2面
项目+八股+手写
八股
1. 什么是防抖和节流?两者的区别是什么?
2. 防抖和节流的实现原理是什么?分别有哪些应用场景?
手写防抖
3. 为什么会有跨域?
4. 一般跨域的手段都有哪些?
分析结果题
5. 已知 picture A(元素含图片URL,对应渲染S1、S2、S3)和 picture B(元素含图片URL+唯一key值,对应渲染S1、S2、S3),删除两者中对应S2的中间项后重新渲染,picture A 和 picture B 分别渲染出几张图片、是哪几张?原理是什么?(没答出来,后续面试官补充核心关联 Vue 2 数组 diff 逻辑)
6. 原生 React 父子组件中,能促使组件重新渲染的因素有哪些
7. 使用 React Hooks 时,用 useCallback、useMemo 避免重新渲染的整体原理是什么
8. useMemo 跟 useCallback 一般应用于什么场景
9. 大文件断点续传、断点上传的技术实现方案
10. 手写
实现 append 函数:将任意多的项添加到目标数组中,过滤空值(undefined、null)并返回新数组,需处理arr不是数组、arr为 undefined/null 的情况