面试题库
前端开发面试题库
围绕 JavaScript 基础、React、TypeScript、工程化、性能和系统设计准备。
32 道高频题
4 个能力模块
适合面试前冲刺
JavaScript 与浏览器基础
8 题
- 事件循环、宏任务和微任务的执行顺序是什么?
- Promise、async/await 的错误处理有哪些注意点?
- 闭包的典型使用场景和潜在内存问题是什么?
- 原型链、class 和继承之间是什么关系?
- this 的绑定规则有哪些?箭头函数有什么差异?
- 防抖和节流分别适合什么场景?如何实现?
- 浏览器从输入 URL 到页面展示发生了什么?
- 跨域问题产生的原因是什么?常见解决方案有哪些?
React 与 TypeScript
8 题
- React 组件重新渲染的触发条件有哪些?
- useEffect、useMemo、useCallback 的使用边界是什么?
- React 状态更新为什么可能是异步的?
- 受控组件和非受控组件的差异是什么?
- 如何设计一个可复用、可维护的业务组件?
- React key 的作用是什么?为什么不建议随便用 index?
- TypeScript 中 interface 和 type 如何选择?
- 如何为复杂表单或接口响应设计类型?
性能、工程化与质量
8 题
- 首屏加载慢时,你会按什么顺序排查?
- 如何减少 JavaScript 包体积?
- 懒加载、代码分割和预加载分别适合什么场景?
- 如何定位和减少无效渲染?
- 你如何做前端错误监控和日志上报?
- 单元测试、集成测试和 E2E 测试分别解决什么问题?
- CI/CD 在前端项目里通常做哪些检查?
- 如何设计一个前端组件库或设计系统的基础规范?
项目经验与系统设计
8 题
- 讲一个你负责过的复杂前端项目,难点是什么?
- 如何设计一个大文件上传或断点续传功能?
- 如何设计一个实时消息列表或通知中心?
- 如何处理接口异常、空状态、加载状态和重试?
- 前端权限控制应该放在哪里?如何避免只靠前端校验?
- 你如何和后端约定接口、错误码和数据结构?
- 如果页面在低端设备上卡顿,你会怎么优化?
- AI 编程工具进入开发流程后,你如何保证代码质量?