我把今年流传的前端 AI 面试题整理了一遍——4 类场景题+回答框架(附速查表)

最近翻了一圈今年流传的前端面试讨论:掘金、知乎、牛客,加上海外社区。问法明显变了:纯八股的比重在降,「现场开 AI 工具写代码」「review 一段 AI 生成的代码」这类 AI 协作场景题开始高频出现。我把反复出现的题型归成了 4 类,每一类都给一份可以直接背的回答框架,文末有速查表。

先说明:这是整理自公开面经与社区讨论的合集,不是某一家公司的真题泄露,也没有编任何人的故事。下面直接看题。

第一类:现场用 AI 写功能

形式:面试官给你一个明确需求------「搜索列表组件,要防抖、要 loading、要错误态,可以用任何 AI 工具,45 分钟」。很多人以为这题考的是手速,其实面试官盯的是三件事:你怎么给 AI 提需求、生成后看不看代码、出错了能不能定位。

拿搜索列表举例,AI 第一版十有八九会给你写出这种代码:

javascript 复制代码
function SearchList({ keyword }) {
  const [data, setData] = useState([]);
  useEffect(() => {
    fetch(`/api/search?q=${keyword}`)
      .then(res => res.json())
      .then(setData);
  }, [keyword]);
  return <List data={data} />;
}

看着能跑,其实埋了三颗雷:没有防抖,每敲一个字符发一次请求;没有清理逻辑,输入快的时候旧请求回来会覆盖新结果;请求失败直接静默。现场能把这三点指出来并修掉,才是这道题的得分点:

javascript 复制代码
function SearchList({ keyword }) {
  const [data, setData] = useState([]);
  const [loading, setLoading] = useState(false);
  useEffect(() => {
    const timer = setTimeout(() => {
      const ctrl = new AbortController();
      setLoading(true);
      fetch(`/api/search?q=${encodeURIComponent(keyword)}`, { signal: ctrl.signal })
        .then(res => res.json())
        .then(list => { setData(list); setLoading(false); })
        .catch(err => { if (err.name !== 'AbortError') setLoading(false); });
      return () => ctrl.abort();
    }, 300);
    return () => clearTimeout(timer);
  }, [keyword]);
  return <List data={data} loading={loading} />;
}

回答框架,四步:

  1. 先花 2 分钟跟面试官对齐需求边界(数据从哪来、要不要分页),别拿到题就让 AI 开写;
  2. 给 AI 的提示词里带约束:技术栈、要处理的边界态、代码风格;
  3. 生成后逐行读一遍再运行,至少主动说出一处 AI 写错或漏掉的地方;
  4. 收尾时主动提测试思路------竞态、空结果、超长输入。

第二类:Review 一段 AI 写的代码

形式:面试官贴一段 AI 生成的代码,里面埋了若干坑,让你现场找。这是今年新出现、出现频率涨得最快的一类,因为它直接考「你敢不敢直接提交 AI 的代码」。

前端版本最爱埋的坑,我整理成一张清单:

埋坑位置 典型错误 后果
useEffect 依赖 依赖漏写/写错 拿到过期状态、死循环
异步请求 无清理、无竞态保护 旧响应覆盖新数据
事件监听/定时器 不清理 内存泄漏、重复触发
数字处理 0.1+0.2、长 ID 用 number 金额算错、ID 截断
状态更新 直接改原对象/数组 视图不刷新
列表渲染 key 用 index 复用时状态串位

一个高频样例,下面这段 AI 代码埋了两处:

javascript 复制代码
useEffect(() => {
  fetch('/api/profile')
    .then(res => res.json())
    .then(user => setUser(user));
}, []);

第一处:组件卸载后请求回来还会 setUser;第二处:如果这个 effect 依赖会变化,多次请求之间没有竞态保护。修复:

javascript 复制代码
useEffect(() => {
  const ctrl = new AbortController();
  fetch('/api/profile', { signal: ctrl.signal })
    .then(res => res.json())
    .then(user => setUser(user))
    .catch(err => { if (err.name !== 'AbortError') console.error(err); });
  return () => ctrl.abort();
}, []);

Review 的优先级框架,按这个顺序找,命中率最高:先查生命周期与清理(依赖、监听、定时器)→ 再查异步竞态 → 再查数据精度与类型(金额、长 ID、null)→ 最后才谈性能(memo、重渲染)。前两类是埋坑重灾区,先把它们扫完。

第三类:指挥一个 AI 完成任务

形式:给你一个真实仓库级别的任务,「给这个组件库加深色模式支持」「把这个表单迁移到新的校验库」,允许你用 agent 类工具,考你怎么指挥。很多人挂在同一个地方:把整段需求原样丢给 AI,然后看着它一路跑偏。

这类题的评分点其实是「上下文管理」,一份能用的上下文包含五个要素:

要素 写什么 不写的后果
背景 项目是什么、改哪个模块 AI 自由发挥,风格跑偏
任务 一次只给一步 摊子铺太大,错得离谱
约束 不许动哪些文件、沿用哪个现有模式 重复造轮子
输出格式 要 diff 还是完整文件 没法验收
示例 项目里一段现成的正确写法 风格不一致

还有一个加分动作:每完成一小步就验证一步,跑一下、看一眼渲染,再给下一步指令。面试官要的是你控制 AI 收敛的过程,一次生成完美代码没人指望。

第四类:什么时候不该用 AI

形式:行为题,但问法全围着 AI 转:「什么代码你不让 AI 写?」「AI 给过你什么错,你怎么发现的?」这类题最容易答虚,给你一个具体的回答结构:

  1. 先给分类:涉及钱与精度的计算、并发与竞态逻辑、安全相关(鉴权、输入校验),这三类我会逐行审,不直接采纳;
  2. 再给验证习惯:AI 写的边界条件我会手动构造用例跑一遍,尤其是空值、超长输入、重复提交;
  3. 最后给判断标准:这段代码出错时我要背锅,我能不能在 5 分钟内向别人讲清楚它为什么对------讲不清楚就不合并。

4 类题速查表

场景题 表面考 实际考 一句话框架
现场用 AI 写功能 速度 提需求+验收能力 先澄清,后约束,生成必审
Review AI 代码 找 bug 对 AI 失误模式的熟悉度 清理→竞态→精度→性能
指挥 AI 任务 会不会用工具 上下文管理 五要素+小步验证
何时不用 AI 态度 判断力与兜底能力 三类高危必审+讲不清不合并

面试前一周可以这么准备:第 1-2 天,手撸一遍搜索组件然后让 AI 重写,对比差异;第 3-4 天,把自己最近写的一段代码丢给 AI 让它 review,看它漏掉什么;第 5 天,练五要素提示词;第 6-7 天,把速查表过一遍,准备一个自己的「AI 出错」案例。

这些题型还在快速变化,如果你在面试里见到了这张表没覆盖的新花样,评论区聊聊------我下一篇把新题型补进速查表。


相关推荐
鬼手点金12 小时前
nanoGPT/nanochat 能做出 DeepSeek/Qwen 这样的大模型吗?
服务器·前端·javascript·bug·openclaw
leobertlan12 小时前
痛苦系列 | DSP-03 跨越单位圆:Z变换与零极点分析
算法·程序员
蛋蛋的就会顺顺的12 小时前
hot100 p0——栈,贪心算法,动态规划
java·前端·javascript·算法·leetcode·力扣
程序员Sunday12 小时前
TypeScript 的 any、unknown、never 有什么区别?
前端·面试·typescript
朱涛的自习室13 小时前
70 美金的 Beyond Compare,我让 Gemini 4 和 DeepSeek 造个开源免费版(Day 2)
android·前端·人工智能
小 黄 鸡13 小时前
HashMap 面试必会知识点详解(JDK 8)
java·面试·职场和发展
码艺-Alimjan13 小时前
Tauri 源码备份 · 打包 & 解压 总结,源码收集之路
前端·javascript·vue.js
小马不起床13 小时前
零基础玩转 FastAPI_11:前端后台管理页面
前端·状态模式·fastapi
子非鱼a15 小时前
【文件上传】一个普普通通的edu16
前端
美狐美颜SDK开放平台15 小时前
直播APP如何实现美白滤镜功能?视频美颜SDK技术开发方案详解
前端·数据库·人工智能·音视频·美颜sdk·直播美颜sdk·视频美颜sdk