面试官说"打开你的AI工具"——我才发现,他考的根本不是写代码

Starboard的负责人James Lowman面试时爱问一句:"讲讲你最近写的三个Claude Code skills。" 有个实习生答了俩字------没有。 理由是用不起付费工具。

上周 LeadDev 专门发了篇文章,标题翻译过来就是:你的面试题,默认候选人买得起Claude Code Max。

我刷到这事的时候愣了一下。不是因为心疼那个实习生,是我突然想明白------这两年我面过、看过、听过的AI相关面试题,没几个人真正搞懂面试官在问什么。

面试现场真让你打开AI工具写

这不是段子。知乎一篇高赞面经,原话:

"AI编程标配 Cursor / Claude Code(面试现场允许用AI工具解题,观察你怎么用)"

还有个前端跑了五家主打AI业务的前端岗,回来写的原话:

"现在面试官根本没兴趣跟你死磕老八股默写......不少面试官开场跳过基础原理,直接上AI业务落地、流式交互、模型前端集成、工程质量管控类场景题。"

划重点不是"用没用过AI",是你怎么用

博客园有位作者这话挺狠------"面试AI Coding,我只看你是不是驾驶员。"他说他观察到一个现象,很多人聊AI跟聊新闻联播似的,DeepSeek、Agent、上下文窗口、推理模型、多模态、MCP,词儿蹦得贼溜,但全是"知道",没一个"做过"。

这种人就是面试官要刷掉的。

你以为考写代码,其实考的是你会不会挑AI的刺

我先把最常见的误区摆出来。很多人以为AI面试就是:面试官问你用不用AI,你说用,然后讲讲用Cursor写了个组件。这点分现在不够了。

面试官真正盯的,我归纳了下,没有一条是"你能不能用AI写出能跑的代码"。

挑个真题说。前面那篇面经里反复出现的题:能不能解决SSE流式渲染卡顿。

AI给你写流式对话,大概率长这样:

ts 复制代码
// AI生成的第一版------能跑,用户一多就卡
function ChatPanel() {
  const [text, setText] = useState('');
  
  useEffect(() => {
    const es = new EventSource('/api/chat');
    es.onmessage = (e) => {
      setText(prev => prev + e.data);  // ← 每来一个chunk就整体拼接+重渲染
    };
    return () => es.close();
  }, []);
  
  return <div className="whitespace-pre-wrap">{text}</div>;
}

"能跑"。但你要是面试官,看着候选人原样照抄、一个字不质疑,心里基本有数了------这人没拿AI写过真正上线的流式功能。

因为真到线上,这段代码有几个要命的坑:

  • prev + e.data,每来一个token就拼一次字符串,长对话下是O(n²)的字符串操作,越聊越卡
  • 每次setState整个组件重渲染,token流得快时一秒重渲染几十次,输入框都跟着卡
  • 没有取消机制,组件卸载时请求还没完,setState直接打到已经卸载的组件上

面试官想看的,是你会不会自己把这些坑点出来,然后动手填掉:

ts 复制代码
// 改进版------现场能主动说出这几个问题,就是加分项
function ChatPanel() {
  const [chunks, setChunks] = useState<string[]>([]);
  const [done, setDone] = useState(false);
  
  useEffect(() => {
    const controller = new AbortController();
    
    fetch('/api/chat', { signal: controller.signal })
      .then(res => readStream(res.body!, controller))  // 用ReadableStream,绕开EventSource的坑
      .finally(() => setDone(true));
    
    return () => controller.abort();  // 卸载即取消,避免泄漏
  }, []);
  
  const deferredChunks = useDeferredValue(chunks);
  const content = useMemo(() => deferredChunks.join(''), [deferredChunks]);
  
  return (
    <div className="whitespace-pre-wrap">
      {content}
      {!done && <span className="animate-pulse">▍</span>}
    </div>
  );
}

这里面没一个高深东西。AbortController、useDeferredValue、useMemo,都是React基础API。AI默认不会主动给你加这些------它默认你要的是"能跑的代码"。

面试官在看的,是AI给的是糙活,你能不能看出哪里不够、该补什么。 这就是"驾驶员"的意思------AI是车,你是握方向盘的。车自己不会变道,是你让它变的。

再说个更隐蔽的------AI埋的类型坑

知乎那篇面经列的高频真题,几乎全是"找坑"型:

  • AI接口返回的字段可能因模型版本动态变化,怎么设计类型守卫和类型收缩?
  • 多轮对话、工具调用结果的嵌套数据结构,怎么用泛型做类型推导?
  • 设计一个类型系统描述Agent执行的状态流转(思考→执行→观察→完成),还能类型安全地切换。

没有一个问"怎么写"。全在问"怎么约束AI输出的不确定性"。

道理也简单------AI写代码这事已经不稀罕了。 稀罕的是知道AI的输出哪儿会出问题、出了问题怎么兜。

举个常见的。AI生成的工具调用类型,十有八九长这样:

typescript 复制代码
// AI默认------把所有可能性拍平成一个大type
type AgentResponse = {
  thought?: string;
  action?: string;
  result?: string;
  status?: 'thinking' | 'executing' | 'observing' | 'done';
  error?: string;
  // ...一堆可选字段
};

能跑。但类型基本没起作用------你拿到一个AgentResponse,根本不知道这个状态下哪些字段一定有、哪些一定没有。面试官想看的是你把它拆成"状态-数据"绑一块的判别联合:

typescript 复制代码
// 判别联合------每个状态只带它该带的字段,编译器帮你查错
type AgentState =
  | { status: 'thinking'; thought: string }
  | { status: 'executing'; action: string; tool: string }
  | { status: 'observing'; action: string; result: string }
  | { status: 'done'; result: string }
  | { status: 'error'; action: string; error: string };

function handle(state: AgentState) {
  if (state.status === 'done') {
    console.log(state.result);       // ✅ 有result
    // console.log(state.thought);    // ❌ 编译报错------done状态不该有thought
  }
}

也不是什么高阶技巧。但AI默认不会这么写------它默认你要的是"最快能跑的版本"。面试官在筛的,是你有没有那种"AI给的是糙活、我能把它捋成工程级"的意识。

回到那个实习生------这事最扎心的地方

"没有,用不起。"

这真不是"他不努力"四个字能盖过去的。

LeadDev引了一篇论文,提出个"Agentic Inequality"框架,三个维度:

维度 含义
availability(可用性) 某个agentic系统对你是否可用
quality(质量) 它有多强
quantity(数量) 你能同时跑多少个agent

作者有个说法挺戳人:agent跟以前的技术不一样------它不是工具,是"能替你行动的劳动力"。 工具的不平等,差距是线性的;"劳动力"的不平等,差距会被复利放大。

四道门槛把关:金钱、算力、专业知识、时间。 Sharp原话是,你问skills/workflows这些,测的不只是能力,还有"谁付得起这样练习"。会把暂时的资源差距,变成永久的筛选机制。

成本摆台面上:Claude Code Pro约20刀/月,Max 5x是100刀,Max 20x是200刀。有开发者追了自己8个月,烧了约100亿token,按API价折算远超订阅价。对一个大三实习生,200刀/月就是真金白银的门槛。

所以James Lowman那道题,残酷的地方不在"你会不会写skills",在"你有没有那个经济余裕,把一个付费工具磨到熟练"。

不买Max,也能证明自己是驾驶员

这是我真正想掰扯的。大多数人买不起Max,也没必要为了面试去买。

LeadDev那篇的潜台词摆得明白:把面试题建在"候选人买得起特定付费工具"上,不公平。但对个人来说,抱怨不公平没用,得有办法证明自己。

关键是把"会用AI"拆成能验证的能力,别老想着"我订了哪个套餐"。 几个不花钱也能练、练了面试能讲的角度:

一,用免费的DeepSeek API + 开源DSH,自己搭个coding agent

前两天DeepSeek把Harness开源了,MIT协议,npx @deepseek-ai/dsh web一行命令起本地Web UI。配DeepSeek的API,成本是Claude的零头。你能在这个环境里完整跑一遍"模型+工具+Agent Loop"是怎么凑一块的------这比"我订了Claude Code Max"有信息量多了。

面试能这么讲:"我用DSH配DeepSeek V4跑过完整前端项目,Harness里context管理、工具调用、容错重试怎么配合的我清楚。" ------比"我用过Cursor"强。

二,练"否决AI代码"------这是面试新维度

CSDN有个Node.js面试指南点出个新趋势:面试官直接问"你用AI写过Node吗?哪次你否决了AI的代码?"

这题答不上来的,基本就是"让AI写、自己不审"那类。平时攒着------AI给的方案,哪些你没用、为啥不用、改成了啥。攒几个真实案例,面试能讲二十分钟。

三,做个集成了AI的真实前端项目

不是"用AI写项目",是"写一个集成了AI的项目"。一个对话界面、一段流式渲染、一个AI输出的错误兜底。这种项目面试能被深挖,因为它有真实的边界问题,不是套壳调API。

现场用AI时的绿旗红旗

把上面那些面经和LeadDev的讨论揉一块,候选人现场用AI解题,你解题的过程本身就是被观察的题:

行为 信号
直接粘AI输出,不读不审 🔴 红旗------连"质检员"都算不上,是搬运工
AI输出后,主动点出哪里不安全、会踩坑 🟢 绿旗------驾驶员意识
会反问AI"这边界case咋办",而不是照单全收 🟢 绿旗
只会用一个工具,问备选方案答不上 🟡 中性------视野窄
能讲清AI生成代码背后"为啥这么写"的原理 🟢 绿旗------最难造假
光蹦词儿(MCP/Agent/上下文窗口),没一个动手痕迹 🔴 红旗------新闻联播型

最后一行是面试官最敏感的红线。你能蹦一串词,但没一个真做过、调过、踩过坑的东西兜着,一深挖就露。

说到底在考啥

AI能写代码之后,"写得出代码"已经不是稀缺能力,"判断这段代码该不该这么写"才是。

James Lowman问"你写过skills吗",问的是"你有没有把一个工具用到能改造它的程度"------这是驾驶员和乘客的差别。那个实习生答"没有",错不在没买Max,错在没把任何一个免费工具用到那个深度。

工具不平等是真的,LeadDev把这层窗户纸捅破了,值得敬。但对个体来说,能证明自己的路没被锁死------DSH开源了,DeepSeek API白菜价,Cursor有免费额度。门槛从来不是"买不买得起Max",是"有没有花时间,把一个工具用到能讲出细节"。

时间这道坎,倒是真不挑人。


你被问过最刁钻的AI题是啥?现场让用AI工具解题你碰上过吗?评论区聊聊,我攒一篇面经合集。

觉得有用,点个赞👍让更多正在面试的人看到。

相关推荐
冬奇Lab1 小时前
Code Agent 解剖(03):各家 LLM 格式不一样,agent 怎么统一对接?
人工智能·开源
lifallen1 小时前
模型不是函数:claude-cookbooks/misc 十四篇的公共底层
人工智能·学习·ai·ai编程
冬奇Lab1 小时前
开源项目第189期:DeepTutor — Agent 原生的终身个性化学习工作台,三层记忆+多引擎RAG+Partners
人工智能·开源·资讯
小柯南敲键盘1 小时前
电商图片翻译工具推荐,批量处理主图视频字幕,免费试用
大数据·人工智能·python·音视频
一次旅行2 小时前
2026.08.16 AI产业深度解读|国产大模型全面突围,算力硬件/智能安全/人形机器人四大趋势附落地方案
人工智能·安全·机器人
观远数据2 小时前
零售连锁BI选型清单:什么样的场景适合ChatBI,什么样的场景不适合
大数据·人工智能·零售
IT_陈寒2 小时前
Vue的双向绑定把我坑惨了,原来这个场景不能用
前端·人工智能·后端
hunterandroid2 小时前
[Android 从零到一] Compose LazyColumn 性能优化:key、稳定性与重组治理
android·前端
阿甘编程点滴2 小时前
多角色对话AI配音工具技术解析与功能实测汇总
人工智能