跳到正文
前端知识库
路线

项目面试追问清单:从经历到证据

把项目面试中常见的框架、Node.js、性能、工程化、稳定性和协作追问,整理成可回溯到知识点的准备清单。

12 分钟路线 · 面试 · 项目表达 · 性能 · 工程化 · 协作

项目面试追问清单:从经历到证据

本文融合《第一篇 —— 25K高级前端开发的面试全流程》《第三篇 —— 大厂P6级模拟面试来啦》《第四篇 —— 面试高频踩坑解析》《第五篇 —— 面试利器之前端技术架构设计实操》《第六篇 —— 大厂真实面试原题解析》中的项目面试部分。它是提问与索引清单,不替代各专题的原理文章;简历中的结果必须来自自己的代码、日志、测试或发布记录。

1. 面试官为什么从项目开始

项目是把知识、判断和协作放在同一个上下文里的入口。面试官通常沿着“你做了什么 -> 为什么这样做 -> 机制是什么 -> 出问题怎么办 -> 如何证明有效”逐步加深,而不是随机考完整个技术栈。

准备时先画一张项目地图,把页面、路由、状态、数据访问、基础设施、发布和监控对应到代码目录;再为每个模块标出本人负责的边界。能读懂代码不等于能讲清楚需求分析、依赖方向和取舍,必须把实现过程用自己的话重新组织。

2. 一张项目证据卡

每个重点项目只保留一张卡片,面试前反复从卡片展开。没有实际数据时写“待验证”,不要用资料中的示例数字替代。

字段 要回答的问题 可回溯入口
背景与目标 服务谁,解决什么问题,成功标准是什么? 前端项目架构设计与选型
个人边界 哪些模块由我设计、实现、上线和维护?哪些是团队共同完成? 前端趋势与面试能力模型
约束 浏览器/端、数据量、延迟、兼容、权限、时间和团队约束是什么? 前端技术误区与验证
方案 关键状态、接口、组件和发布链路如何连接? 前端场景题索引
取舍 评估过哪些替代方案,为什么没有选? 前端项目架构设计与选型
结果与证据 哪个用户或系统指标发生了变化,如何测量,样本和版本是什么? 前端稳定性
失败与复盘 哪些边界仍未解决,如何止血、回滚和后续改进? 前端稳定性

简历只写能在一两句话内定位的事实,例如“负责上传会话和断点恢复,增加分片校验与失败重试”;面试中再展开状态机、接口契约和验证记录。不要把团队结果全部写成个人功劳,也不要把“参与过”说成“主导过”。

3. 框架与工具库追问

常见追问 回答应覆盖 详细知识点
为什么选 Vue、React 或其他框架?如果重做会怎么选? 运行环境、SEO/SSR、团队能力、生态、迁移和性能约束;给出备选方案和验证 Vue 面试真题补充React 面试真题补充前端项目架构设计与选型
双向绑定、虚拟 DOM、状态管理如何落地? 数据流方向、更新触发、状态所有权、缓存失效和调试边界;不要只背 API 名称 Vue 面试进阶详解React 运行模型React 状态和性能
单页路由和权限如何实现? 路由匹配、懒加载、导航守卫、服务端最终授权、刷新和过期会话 React RouterVue 面试真题补充JWT 鉴权
用过哪些第三方库,优缺点是什么? 只列实际使用过的能力,说明版本、替换成本、包体、可访问性和故障降级 前端技术误区与验证前端组件库工程化
小程序为什么和 H5 不同? 运行容器、渲染/逻辑边界、通信、权限、导航和发布约束;按实际项目回答 小程序面试真题补充浏览器机制相关

4. Node.js 与服务端协作

先说明 Node.js 在项目中承担的是脚本、BFF、SSR 还是服务端接口层,再解释事件循环和 I/O 模型。不要把“单线程”说成“没有并发”,也不要把框架名称当作中间件执行原理。

追问方向 关键回答点 详细知识点
为什么使用 Node.js? I/O 比例、团队语言统一、生态和部署边界;CPU 密集任务的风险与 Worker/拆分方案 Node.js 基础Node.js 性能
process.nextTicksetImmediate 有什么差别? 所处队列、执行时机、递归 nextTick 对 I/O 的影响;用最小实验验证版本行为 Node.js 事件循环
中间件如何串联? next 调用顺序、错误处理中间件、异步异常和响应结束条件 Node.js 中间件
文件、流和上传怎么处理? 背压、临时文件、分片/合并、校验、权限、清理和幂等 Node.js 文件上传
REST/BFF 如何和前端联调? DTO/BO/PO 边界、错误码、超时、部分失败、契约版本和 trace BFF、REST 与 GraphQL

5. 性能优化追问

不要从“用了某个优化技巧”开始。先给现象、用户影响、基线和测量,再说明哪一层是瓶颈,最后交代回归和未解决成本。

  1. 首屏慢:拆开服务端响应、资源下载、脚本执行、样式布局、数据请求和可交互时间,结合 Network、Performance 与 Web Vitals 定位;若首页接口允许短暂陈旧,可再说明 SWR 的缓存命中、后台重验证、竞态和失效策略。指标采集与问题诊断网络与资源加载优化React 状态与服务端缓存
  2. 代码包大或构建慢:检查依赖图、重复依赖、拆包边界、缓存和产物,再比较 Vite、Webpack 或 esbuild 的适用条件。构建体积与性能治理Webpack 面试真题补充Vite 面试进阶详解esbuild 面试进阶详解
  3. 大列表或大 DOM 卡顿:先考虑分页/虚拟列表;必须创建全部节点时再使用 DocumentFragment、分帧和可取消任务,并记录长任务与 INP。渲染与运行时优化React 与 Vue 运行时优化性能、渲染与大数据真题
  4. 图片和媒体:说明尺寸预留、格式/压缩、懒加载、跨源和对象 URL 释放,不能把客户端类型判断当安全校验。JavaScript 浏览器 API 与安全
  5. 优化是否有效:固定设备、网络、数据、版本和指标定义,比较分位数和影响范围;没有对照实验时明确说是待验证假设。性能优化知识地图前端技术误区与验证

6. 工程化、测试与效率

追问 不能漏掉的边界 详细知识点
为什么需要脚手架和模块化? 约束目录、依赖、构建和协作;说明何时不值得引入新层 前端项目架构设计与选型模块加载器
Webpack/Vite/Babel 做了什么? 开发与生产链路、转换与 polyfill 的区别、产物和 source map 验证 Webpack 构建流程Babel 原理Vite 面试进阶详解
AST、Loader 和 Plugin 如何协作? 解析/转换/生成边界、执行顺序、缓存、source map 和失败回滚 编译原理工具链地图AST 专题Babel 插件开发Webpack 生命周期
为什么写单测、组件测试和 E2E? 测试层级各自的风险、稳定 fixture、异步/权限/键盘边界和 flaky 处理 前端组件库工程化AI 前端工程
CI/CD 和自动发布如何保证质量? 类型/Lint/测试、可复现构建、产物追溯、灰度、监控、回滚和人工门禁 前端稳定性Docker 面试进阶详解
如何提升多项目开发效率? 共享配置/组件/脚手架的包边界、版本兼容、弃用和消费者验证 前端组件库工程化跨端交互与发布治理

7. 六类项目亮点逐项追问

先选与自己经历相符的项目,再沿着“背景 -> 个人边界 -> 关键机制 -> 失败路径 -> 证据”回答。下表是入口索引;每个项目文档中的“高频追问”会继续拆到实现细节和验证清单。

项目主线 面试官常问什么 详细项目与知识索引
AI 对话与多模型网关 流式事件如何恢复和取消?模型差异如何适配?工具调用如何做权限、审计和成本控制? AI 对话项目AI 前端工程AI 项目总览
低代码可视化搭建 Schema 如何演进和迁移?撤销重做、物料插件、动态渲染和预览发布如何隔离? 低代码项目Schema 与渲染器架构低代码项目总览
React Hooks 与组件库 Hook 如何控制依赖和竞态?受控/非受控 API、可访问性、测试和版本发布如何保证兼容? Hooks 项目组件库工程化React 运行模型
规范 CLI 与研发效能 自动修复怎样避免误改?存量迁移如何增量推进?CI 门禁、配置版本和回滚怎么设计? 规范 CLI 项目Babel 插件开发前端场景发布治理
稳定性监控与大促高可用 事件信封、采样脱敏、Source Map、容量预案和降级如何闭环?如何证明告警有效? 稳定性项目监控 SDK前端趋势与能力模型
性能优化与高流量页面 先看哪个指标?如何区分网络、构建、运行时瓶颈?灰度期间如何设停止条件和回滚? 性能项目性能知识地图性能真题

项目数字必须换成自己的基线、样本、版本和测量工具;资料中的示例百分比只保留为“待验证”字段。

8. 监控、灰度与线上故障

回答“怎么保证质量”时按事前、事中、事后说:事前有类型和测试门禁、容量和预案;事中通过版本、trace、错误/性能指标定位并止血;事后保留证据、回滚或修复,补回归测试和监控规则。

  • 监控什么:错误、资源、请求、行为和 Web Vitals;事件需要统一信封、脱敏、采样和 release 标识。前端稳定性
  • 如何灰度:明确版本、流量选择、观察指标、停止条件和恢复旧版本的入口,不能把“上线后看一眼”当灰度方案。前端稳定性
  • 如何定位:先确认影响范围,再按浏览器、网络、应用和依赖分层收集证据;主动取消、预期降级和真实错误要分开。前端场景题索引
  • 大促如何准备:盘点关键/资损/大流量入口,建立 Biz、Application、System 三层信号,准备容量、限流、降级、切流和事故角色。前端稳定性

9. 组件、公共库与协作

公共组件的价值不只是复用视觉。面试中应能说明 API 契约、受控/非受控状态、焦点和键盘、类型声明、主题令牌、测试、版本发布和弃用周期。前端组件库工程化

协作追问通常包括冲突、交接、代码规范和 Code Review:

  1. 先定义分支、提交、审查和发布的最小流程,说明冲突如何复现、解决和回归。Git 面试进阶详解
  2. 用共享 ESLint/TypeScript 配置和增量门禁统一新代码,给旧问题留下责任人、期限和豁免记录,不把全局禁用规则当治理。跨端交互与发布治理
  3. Code Review 既看行为和安全,也看测试、可观测性和回滚;AI 可以辅助摘要和发现候选问题,但合并仍由人负责。AI 前端工程

10. 三分钟项目回答模板

背景/用户与成功标准
-> 本人负责边界和约束
-> 方案、关键机制与替代方案
-> 一次失败或风险,以及如何止血
-> 指标、日志、测试或发布证据
-> 结果、未解决问题和下一步

被追问时不要跳到与项目无关的八股文。每个结论都回到“项目中的哪段代码、哪个接口、哪条日志或哪项测试”;不确定的地方直接标注假设,并说明会如何验证。

11. 面试前复盘清单

  • 能在 60 秒内说明项目背景、本人边界和核心链路。
  • 为每个简历亮点准备机制、替代方案、失败边界和验证证据。
  • 只使用自己真正接触过的技术,能说出版本和运行环境的限制。
  • 性能数字带基线、样本、分位数和测量工具;没有证据就不写结论。
  • 准备一次线上故障、一次协作分歧和一次取舍复盘,明确自己做了什么。
  • 能从本页每个链接继续跳到原理文章,而不是只记住一句短答。

相关路线:前端面试路线前端趋势与面试能力模型面试 PDF 技术覆盖索引