AI编程-Vibe coding(大厂常问问题)

📅 2026/6/17 18:24:02
AI编程-Vibe coding(大厂常问问题)
目录1. Vibe Coding 到底是什么2. AI 越来越强你的优势到底是什么优势一问题定义能力优势二上下文构建能力优势三结果验证能力优势四技术决策能力优势五成本控制能力五大优势总结3. AI 编程工具的 Token 成本怎么控制策略一模型路由——什么活用什么模型策略二上下文管理——别把整个代码库塞进去策略三Prompt 优化——一次说清楚别来回改策略四缓存和复用策略五评估——哪些任务让 AI 做更贵4. 面试高频问题汇总QAI 越来越强你的优势是什么Q你负责的项目里哪些让 AI 写哪些自己写Q你怎么审查 AI 生成的代码QAI 生成的代码出了线上 bug你怎么处理QAI 写的代码上线出问题了让 AI 修结果 AI 也修不好你怎么兜底QAI 编程工具的 Token 成本怎么控制Q你们团队怎么管理 AI 生成的代码Q用 AI 写代码怎么保证不泄露公司代码写在最后现在大厂面试官最喜欢问一个灵魂问题在 vibe coding 盛行以及基模越来越强的当今你觉得你的优势是什么之前的回答思路已经不够用了。为什么这么说因为之前的套路是说AI 做不了复杂业务逻辑“AI 写不了安全代码”“AI 处理不了并发”——但说实话2026 年了AI 这些都写得挺好。Claude Code 能写出带完整异常处理的微服务调用Codex 能处理复杂的状态机逻辑Cursor 能一次改十几个文件还不乱。那你的优势到底在哪这篇文章重新回答这个问题并且聚焦面试官真正关心的实操问题——Token 成本怎么控制、AI 代码怎么管、效果怎么评估。1. Vibe Coding 到底是什么2025 年 2 月 Andrej Karpathy 提出这个词的时候定义很明确不审查、不理解、直接 Accept AI 生成的代码。面试官问你是不是 Vibe Coding其实是在问一个问题你对你 Accept 的代码负不负责这个定义不用多展开重点是下面两个问题。2. AI 越来越强你的优势到底是什么先承认一个事实AI 现在确实写得好。复杂业务逻辑给它足够的上下文它能写出符合你公司规则的结算代码。安全代码告诉它要注意什么它能写出带输入校验和权限检查的代码。跨模块调用把接口文档喂给它它能生成正确的调用链路。性能优化让它关注性能它能帮你找出 N1 查询和内存泄漏。所以如果你的回答还是AI 做不了 XX面试官一句话就能怼回来“你给够上下文了吗”那你的优势到底在哪不是AI 做不了什么而是AI 做什么都需要你先做对什么。优势一问题定义能力AI 能解决你定义好的问题但定义问题本身就是最难的部分。产品经理说加个退款功能——这不是需求这是一句话。真正的需求定义要回答部分退款怎么处理退款和优惠券的互斥规则是什么多次退款的幂等性怎么保证退款超时了怎么自动关闭这些问题的答案AI 不知道产品经理也没说清楚。是你把一句话变成了可执行的规格AI 才能写出正确的代码。反过来如果你自己都没想清楚AI 写出来的代码一定也是模糊的——你给它一句话它给你一个看起来像那么回事的接口跑是能跑但业务逻辑经不起推敲。面试怎么说AI 很强但它需要精确的问题定义。我的优势在于能把模糊的需求拆解成清晰的技术规格——边界条件、异常处理、业务规则这些 AI 不会主动问你但不说清楚代码一定写不对。优势二上下文构建能力AI 的输出质量直接取决于你给的上下文质量。同样的需求两种人用 AIA 直接说写一个退款接口 → AI 凭想象写大概率不符合你的业务B 给了完整的业务规则、数据库表结构、上下游接口文档 → AI 写出来的代码基本能直接用差距在哪不是 AI 的能力差距是喂给 AI 的上下文质量的差距。上下文构建能力包括知道给什么哪些信息是 AI 必须知道的哪些是噪音知道不给什么塞 10 万行无关代码进上下文既浪费 Token 又干扰模型知道怎么组织先给背景再给需求和反过来AI 的生成质量完全不同这也是为什么同一个 AI 工具高手用和新人用效果差 10 倍。不是工具不同是输入不同。面试怎么说同样用 Claude Code不同人产出质量差很多。差别在于上下文构建——我给 AI 的 Prompt 包含完整的业务规则、相关代码片段和边界条件而不是一句话就让它写。AI 的上限是由你的输入质量决定的。优势三结果验证能力代码跑起来了 ≠ 代码对了。AI 生成的代码经常看着对、跑得通、但语义是错的。比如退款接口返回成功但实际是退到了错误的账户权限校验通过了但用的是错误的角色数据处理完成了但精度丢失了两位小数这些 bug 跑测试不一定能发现因为测试是按你的预期写的而你的预期可能和业务需求有偏差。验证能力不是跑一下看有没有报错而是业务语义验证这段代码的行为是否符合业务意图边界验证极端情况下的行为是否符合预期回归验证这次改动有没有影响其他功能特别要注意 AI 的合理但错误代码——逻辑通顺、能跑通、但语义和业务需求不一致。这种代码最容易通过 Code Review因为看起来真的很合理。面试怎么说AI 生成的代码我会重点验证业务语义不是看能不能跑通而是看行为是否符合业务意图。比如退款接口我会验证退款金额、退款对象、幂等性这些是测试覆盖不到的必须人工理解。优势四技术决策能力AI 能列出方案 A 和方案 B 的 pros/cons但拍板选哪个是你决定的。技术决策包括选型决策用 Redis 还是 Memcached用 gRPC 还是 RESTAI 能分析但你的业务场景只有你知道架构决策拆微服务还是单体优先同步还是异步短期快还是长期稳成本决策花 3 天重构还是花 3 个月重构用贵的模型还是便宜的模型AI 的建议是通用的你的决策是具体的。通用建议和具体场景之间永远需要人来做判断。举个实际例子AI 会告诉你高并发场景用缓存但不会告诉你你们团队的缓存之前出过两次线上事故这次要用就得多加一层降级。这个判断只能你做。面试怎么说AI 能帮我分析方案但最终的选型决策是我做的。因为决策要考虑的不仅是技术因素还有团队现状、业务阶段、历史教训——这些 AI 不知道也不应该由 AI 决定。优势五成本控制能力这一条在面试里越来越重要因为AI 编程不是免费的。一次 Claude Code 的交互可能消耗 5 万到 20 万 Token。一个项目跑下来Token 费用可能比工程师工资还高。成本控制能力包括知道什么时候用大模型什么时候用小模型知道怎么组织上下文才能省 Token知道怎么写 Prompt 才能减少来回次数知道哪些任务让 AI 做更贵自己做更便宜五大优势总结一句话AI 的输出质量取决于你的输入质量——定义问题、构建上下文、验证结果、做决策、控成本这五件事 AI 替代不了你。 「定构验决控」不是AI 做不了是AI 做什么都需要你先做对。这两种说法看起来差不多但逻辑完全不同AI 做不了的潜台词是等 AI 也能做了你就没优势了AI 需要你的潜台词是只要 AI 还需要人来驱动你的优势就在前者是防守型思路越守越窄。后者是驱动型思路越用越强。3. AI 编程工具的 Token 成本怎么控制这个问题面试官越来越爱问因为这是团队用 AI 编程最实际的问题。不控制成本一个月 Token 账单可能比工程师工资还高。控制得太狠AI 产出质量又下降。关键是在成本和质量之间找到平衡点。策略一模型路由——什么活用什么模型不是所有代码都需要最强的模型来写。根据任务复杂度路由到不同模型成本差距有多大 大模型的输出价格是小模型的近 20 倍。如果一个 70% 的任务能用小模型解决整体成本能降 60% 以上。模型路由策略当然模型路由不是让你手动选。Claude Code 内部已经在做这件事——简单补全走轻量模型复杂推理走主力模型。Claude Code 深度解析 (opens new window)里有讲它的双模型策略。但面试官想听的不是工具自动做了而是你理解为什么这么做。面试怎么说我们团队做了模型路由策略——简单补全用小模型复杂任务才用大模型。70% 的日常编码任务其实不需要最强模型这样整体 Token 成本能降 60% 以上。策略二上下文管理——别把整个代码库塞进去上下文窗口是 Token 消耗的大头。很多人用 Claude Code 的时候习惯把整个项目目录打开让它自己找文件。结果每次交互模型都要读取大量无关代码Token 消耗直接翻几倍。正确的做法只给相关的代码修改用户模块就不要把支付模块的代码也塞进去用摘要代替全文不需要把 500 行的配置文件全给 AI给关键部分就行按需加载先让 AI 看接口定义需要实现细节时再给具体代码定期清理上下文长时间对话会积累大量历史 Token该开新会话就开新会话实际效果只给相关代码 vs 给整个项目Token 消耗可能差 3-5 倍。还有一个容易忽略的点AI 读到的无关代码越多生成质量反而越差。因为无关信息会干扰模型的注意力让它关注到不该关注的地方。所以上下文管理不只是省钱也是在提升质量。上下文管理对比面试怎么说我会主动管理上下文只给 AI 相关的代码片段而不是整个项目。修改用户模块就只给用户模块的代码和它依赖的接口定义。这样做 Token 消耗能降 3-5 倍而且 AI 生成质量反而更好——因为无关信息少了模型不容易被干扰。策略三Prompt 优化——一次说清楚别来回改来回改是最浪费 Token 的。模糊的 Prompt → AI 生成不符合预期 → 再改 Prompt → 再生成 → 还是不对 → 再改……一次说清楚直接省掉 3-4 轮交互。怎么写好 Prompt说清楚目标不是写个接口是写一个 REST 接口接收退款请求参数包括订单号和退款金额需要幂等校验说清楚约束性能要求、安全要求、代码规范说清楚上下文相关的数据库表结构、上下游接口给示例一个具体的输入输出示例比 100 字描述更有效成本对比一次精确 Prompt 可能 500 Token四轮模糊 Prompt 可能 12000 Token——差 24 倍。这还没算时间的浪费。Prompt优化对比一篇 Harness Engineering 面试题 (opens new window)核心观点就是AI 编程的重心正在从 Prompt Engineering 转向 Context Engineering——不是你怎么说是你给什么信息。策略四缓存和复用相似的问题不要让 AI 从零生成。Prompt 缓存相同的 Prompt 前缀API 层面可以缓存省掉重复计算的 Token。Anthropic 的 API 已经原生支持了 Prompt Caching相同前缀的输入可以打到 90% 的缓存命中率代码模板常见的 CRUD 接口、表单验证维护一套模板AI 只需要填差异部分会话复用同一类任务的 Claude Code 会话可以复用之前的上下文不要每次从零开始面试怎么说我们团队维护了一套代码模板AI 只需要根据具体需求填充差异部分而不是每次从零生成。配合 Prompt Caching相似任务的 Token 消耗能降低 50% 以上。策略五评估——哪些任务让 AI 做更贵不是所有任务都适合让 AI 做。有些任务你自己写 10 分钟搞定让 AI 写要花 20 分钟来回改 Prompt 审查代码Token 费用还不少。这种情况下直接自己写才是最优解。适合让 AI 做的重复性高、模式固定的代码CRUD、样板代码你知道要什么但手写太慢的代码需要快速探索多种方案的场景不熟悉的语言或框架的入门代码不适合让 AI 做的改一行配置就能解决的小修改你已经非常熟悉的代码区域手写比解释更快需要深度理解业务上下文的决策型代码已经有精确模板、复制粘贴比生成更快的情况举个日常开发的例子线上报了一个 NullPointerException你翻日志定位到是 OrderService.java 第 127 行user.getAddress() 没做空判断。你加一行 if (user.getAddress() ! null) 10 秒搞定。你已经知道问题在哪、怎么改这时候直接改就是最优解。4. 面试高频问题汇总场景类QAI 越来越强你的优势是什么差的回答“AI 做不了复杂业务逻辑和安全代码。”好的回答“AI 确实越来越强很多之前说 AI 做不了的场景现在都做得不错。但 AI 的输出质量直接取决于人的输入质量——定义问题、构建上下文、验证结果、做决策、控成本(定构验决控)这五件事 AI 替代不了我。我的优势不是比 AI 写得好是让 AI 写得更好。”Q你负责的项目里哪些让 AI 写哪些自己写判断标准不是AI 做得了还是做不了而是**“这段代码出 bug 的代价有多大和让 AI 写和手写哪个综合成本更低”**。代价大、AI 写更贵的自己写或 AI 写但严格审查。代价小、AI 写更便宜的让 AI 加速。Q你怎么审查 AI 生成的代码重点查三样业务语义代码行为是否符合业务意图、安全风险输入校验、权限控制、敏感数据、工程性性能、可维护性、规范一致性。特别注意 AI 的合理但错误代码——逻辑通顺、能跑通、但语义和业务需求不一致。这种代码最容易漏过 Review。QAI 生成的代码出了线上 bug你怎么处理三步走先止血再定因最后补流程。止血回滚或降级先让线上恢复不管是不是 AI 写的代码处理方式一样。定因看监控确认影响范围看日志追踪调用链路定位到具体的问题代码。如果是 AI 生成的代码还要想清楚审查的时候为什么没拦住——是安全没审到还是边界条件没覆盖还是业务语义理解有偏差。补流程补充测试用例、加强审查重点、甚至调整哪些场景允许 AI 生成。一个 bug 不可怕同类 bug 再出一次才可怕。QAI 写的代码上线出问题了让 AI 修结果 AI 也修不好你怎么兜底这个问题很刁钻但确实会发生。AI 自己写的代码自己修不好——可能是因为它对线上环境没有感知也可能是因为问题根因涉及多个模块的交互AI 的上下文窗口里装不下全局信息。兜底的关键是你不能等 AI 来救你你得自己能接手先止血不管 AI 能不能修先回滚到上一个稳定版本线上用户等不了自己排查看日志、看监控、看链路追踪定位根因。这时候你之前审查 AI 代码积累的理解就派上用场了——如果你审查的时候理解了逻辑排查速度会快很多如果你审查的时候是看着没问题就过了那排查起来跟看别人的代码没区别修复上线自己改代码走正常的测试和发布流程复盘为什么 AI 修不好是上下文不够还是问题超出它的能力范围这次复盘的结论决定下次类似问题还要不要交给 AI说到底AI 修不了的时候你得能修。这是底线。工程落地类QAI 编程工具的 Token 成本怎么控制五个策略模型路由70% 任务用小模型、上下文管理只给相关代码、Prompt 优化一次说清楚、缓存复用维护模板 Prompt Caching、任务评估不该用 AI 的就别用。核心是在成本和质量之间找平衡不是越便宜越好也不是越贵越好。Q你们团队怎么管理 AI 生成的代码四件事代码归属谁 Accept 谁负责、审查流程AI 代码走和人工代码一样的 Review、监控指标追踪 AI 代码的 Bug 率和漏洞率、持续优化根据数据调整 AI 使用策略。Q用 AI 写代码怎么保证不泄露公司代码很多公司还没有自己的私有化Agent那么业务开发就面临代码安全问题。AI 编程工具都有代码上传的行为——你的代码会发送到模型的服务端做推理虽然厂商说不会用来训练但合规部门不一定买账。实际操作敏感代码不上传核心算法、密钥管理、交易策略这些代码不在 AI 工具里打开更不让 AI 生成和审查用企业版而非个人版企业版有数据隔离协议代码不会被用于训练合规风险小得多配置 .gitignore 和 .claudeignore把敏感目录和文件排除在 AI 的访问范围之外防止工具自动读取不该读的代码团队统一规范哪些项目可以用 AI、哪些不能写进开发规范新人入职就知道边界面试怎么说我们区分了敏感项目和非敏感项目敏感项目不用 AI 工具非敏感项目用企业版。同时配置了 .claudeignore 排除敏感文件确保 AI 不会读到不该读的代码。写在最后回到开头的灵魂问题在 vibe coding 盛行以及基模越来越强的当今你觉得你的优势是什么答案是AI 做什么都需要你先做对——定义问题、构建上下文、验证结果、做决策、控成本。[定构验决控]不是AI 做不了是AI 需要你。AI 做不了是防守越守越窄。AI 需要你是驱动越用越强。你的优势不是比 AI 写得好是让 AI 写得更好。