最近在筛简历时发现一个有趣现象:很多自称精通 Vue/React 的候选人,被问到为什么 Vue3 要用 Proxy 替代 defineProperty 时,答案依然停留在性能更好这种表面说辞;能熟练配置 Webpack 的人,却说不太清 Tree Shaking 在 ES Modules 和 CommonJS 环境下工作机理的本质差异。
更明显的是面试中的两极分化——一部分人还在卷手写 Promise/虚拟 DOM 这类经典八股,另一部分人已经开始被追问如何为微前端场景设计 CSS 沙箱、如何在 React Server Components 中处理第三方非兼容库。前者回答得再流畅,也掩盖不住对现代工程化场景的陌生;后者哪怕某个细节卡壳,展现的却是解决真实复杂问题的思维路径。
这种割裂感背后,是前端技术演进轨迹的明显转向:
-
框架熟练工价值正在稀释 当 create-vite、Next.js、Nuxt 这类工具链能自动生成 80% 的配置,当 Copilot 能补全半数业务组件代码,会用框架已从稀缺能力变为入职基线。企业开始默认你应该掌握框架,然后追问:框架为什么这样设计?它解决了什么特定场景问题?
-
基建感知力成为分水岭 以前知道 Webpack 配置算加分项,现在需要理解 Vite 的预构建如何基于 ESM 提升冷启动速度、TurboPack 的增量计算如何利用 Rust 重写编译管线。工具链的快速迭代,倒逼你必须建立对底层架构的持续追踪习惯。
-
垂直领域穿透正在重新定义竞争力 可视化工程师得懂 WebGL 渲染管线和 GPU 加速;性能优化专家得会解读 Core Web Vitals 背后浏览器渲染引擎的工作机制;跨端开发者需要理解 JS 引擎绑定到原生平台的通信损耗在哪——泛泛而谈我会 React 已经不够,需要你在特定纵深领域形成技术解释力。
如果你最近面试时感到背的题没考,考的题没准备,或者发现日常工作越来越像在重复调用 API,那么下面这组问题或许能帮你定位自己与技术演进方向的偏差:
- 当你说我熟悉 Vite,是真的理解其基于 ESM 的按需编译原理,还是仅停留在配置 vite.config.js?
- 你简历上的性能优化,有多少是 Lighthouse 分数驱动的指标游戏,有多少是真正解决过首屏渲染被第三方脚本阻塞的实际案例?
- 面对如何设计一个支持版本回滚的前端灰度发布系统这样的问题,你的思考是从 CDN、打包策略、还是从服务端流量切分开始?
前端没有变简单,只是考核重心从知道什么转向了能用知道的东西解决什么。接下来我将展示 100+ 道项目场景面试题:

- 如何判断用户设备
- 将多次提交压缩成一次提交
- 介绍下 navigator.sendBeacon 方法
- 平滑跟随导航(电梯导航)该如何实现
- 退出浏览器之前,发送积压的埋点数据请求,该如何做?
- 如何统计页面的 long task(长任务)
- PerformanceObserver 如何测量页面性能
- 移动端如何实现下拉滚动加载(顶部加载)
- 判断页签是否为活跃状态
- 在网络带宽一定的情况下,切片上传感觉和整体上传消费的时间应该是差不多的这种说法正确吗?
- 大文件切片上传的时候,确定切片数量的时候,有那些考量因素
- 页面关闭时执行方法,该如何做
- 如何统计用户 pv 访问的发起请求数量
- 长文本溢出,展开/收起如何实现
- 如何实现鼠标拖拽
- 统计全站每一个静态资源加载耗时,该如何做
- 防止前端页面重复请求
- ResizeObserver 作用是什么
- 要实时统计用户浏览器窗口大小,该如何做
- 当项目报错,你想定位是哪个 commit 引入的错误的时,该怎么做
- 如何移除一个指定的 commit
- 如何还原用户操作流程
- 可有办法将请求的调用源码地址包括代码行数也上报上去?
- 请求失败会弹出一个 toast,如何保证批量请求失败,只弹出一个 toast





