按必考基础 JS → Promise 异步 → 性能工具函数 → React 框架手写 → 设计模式 / 原理实现 → 前端算法 → 工程场景手写划分校招 / 社招通用面试手写 100% 覆盖。一、JS 基础原理手写所有面试必问一面开场1. 改变 this 指向call /apply/bind手写myCall、myApply、myBindbind 要支持 new 调用是加分项考点this 绑定、参数处理、原型构造函数兼容2. 原型相关手写new操作符myNew手写instanceof实现myInstanceof手写原型继承3. 深浅拷贝最高频浅拷贝手写Object.assign简易版深拷贝必考基础递归版满分版WeakMap解决循环引用、兼容 Date/RegExp/Map/Set/Symbol 键、函数处理追问JSON.parse(JSON.stringify)的缺陷4. 数组工具手写不调用原生 API数组去重普通 / 复杂对象去重数组扁平化flat支持深度参数手写map/filter/reduce/some/every数组分块、数组交集 / 差集5. 对象工具手写isEqual深度相等判断手写防抖 debounce、节流 throttle重中之重防抖搜索框输入、resize分普通延迟执行、立即执行、支持手动取消节流滚动 scroll、mousemove、拖拽时间戳版 / 定时器版双写法二、Promise 异步体系大厂二面核心必考静态方法手写Promise.all全部成功一个失败立即 rejectPromise.race谁先完成返回谁Promise.allSettled全部走完返回每个状态Promise.any第一个成功全部失败才报错进阶异步手写社招高频Promise 串行执行循环 await异步并发调度器限流器队列存函数、控制最大并发解决一次性并发请求雪崩你之前问的题目Promise 重试函数promiseRetry接口失败自动重试 N 次终极难题手写简易版 Promise符合 A 规范链式调用、状态不可逆、异步微任务三、设计模式 / 事件机制手写发布订阅EventEmitterEventBuson /off/once /emit 完整实现函数柯里化普通柯里化、无限参数柯里化懒加载、单例模式四、React / Hooks 框架手写有 React 项目必问1. 基础 Hook 手写高频手写useDebounce、useThrottle自定义 Hook列表搜索场景手写useLocalStorage持久化 Hook手写usePrevious获取上一轮 state 值手写useRequest简易请求 Hook加载态、错误、防抖2. 渲染优化手写对应你之前列表性能优化场景用useMemo缓存 JSX 节点、useCallback稳定回调函数手写memo简易版、手写useMemo/useCallback底层逻辑3. 组件场景手写手写高性能列表虚拟列表基础简易版手写受控组件输入框、弹窗组件手写简易双向绑定 Hook4. 底层进阶大厂高级岗手写简易版 useState闭包存储 state手写简易 useEffect依赖对比、清理函数手写简易 React Fiber 协调逻辑极少资深岗五、前端场景工程手写结合业务面试官最爱追问请求封装简易 axios 拦截器请求 / 响应拦截、统一错误处理批量请求并发限流调度器你之前问的列表批量请求本地存储封装封装 localStorage/sessionStorage自动序列化 JSON、过期时间DOM 相关手写拖拽元素mousedown/mousemove/mouseup图片懒加载IntersectionObserver / 滚动监听路由简易 hash 路由 /history 路由实现格式化工具时间格式化函数、数字千分位、金额格式化六、基础算法前端简单算法笔试必考字符串手写indexOf、驼峰互转、回文字符串、字符串截取排序冒泡、快速排序、归并前端只考基础快排链表反转单链表、链表合并校招笔试树二叉树前 / 中 / 后序遍历递归 迭代七、TypeScript 手写2026 越来越多手写工具类型Partial/Pick/Omit/Record/Readonly泛型约束、条件类型实现分岗位考察侧重点校招 / 初级前端基础为主防抖节流、深浅拷贝、Promise.all、call/apply/bind、数组 flat、EventBus、简单算法中级前端1-3 年业务场景并发请求限流器、自定义 React Hook、虚拟列表简易版、axios 封装、深拷贝循环引用、Promise 重试、isEqual 深度对比大厂高级前端3 年 底层原理完整 Promise/A 实现、手写 useState/useEffect、简易 React 渲染流程、无限柯里化、手写并发调度器进阶版、WeakMap 缓存优化、TS 工具类型手写面试手写加分细节拉开分差处理边界值空数组、null、undefined、循环引用兼容特殊数据类型Date、RegExp、Map、Symbol释放资源、清除定时器、避免内存泄漏代码加注释讲清使用场景比如防抖用于搜索框节流用于滚动区分基础版和生产优化版主动说出缺陷和优化思路