AI面试题

本文最后更新于 2025年11月3日 中午

熟练使用 Cursor、ChatGPT 等 AI 工具解决问题和提高效率,关注 AI 与前端开发的结合趋势。

我在简历中写了以上内容,面试官可能会问我哪些问题?我应该怎样回答?

使用场景

怎么用 AI

最早:ChatGPT 的对话框发送需求,开发一个滑动小组件
后来:Cursor 使用 Agent 帮助我开发
现在:

  • Claude、Cursor:编程场景,主要用 Agent 模式,Edit 和 Ask 比较少

    • 在工作中:介绍项目内容、分析项目结构和文件、解释代码、写代码、写注释、写 TS
    • 自我开发:帮助创建项目、直接开发应用
  • ChatGPT、DeepSeek:非直接编程场景,网页直接问

    • 学习:会让 AI 给我一个概览和简洁的示例,比漫无目的地查文档快很多
    • 编码:终端命令、正则表达式、不常用的属性和 API,提供更完善的示例
    • 这次找工作:怎样完善简历、常见问题答案、分析简历、面试官可能问的问题
    • 生活中的日常问题

项目示例

  • Cursor:浏览器翻译插件

    在没有浏览器插件开发经验的情况下,使用 Cursor 的 Agent 模式帮助开发了一个从英文翻译为中文的浏览器翻译插件。代码基本都是由 AI 生成,我主要是导入插件到浏览器、自测验收、针对 bug 调整提示语修改,解决不好解决的 bug 和对翻译平台 API 的申请。每个阶段完成小功能后就推送代码,防止 AI 生成代码错乱覆盖好的代码。并且我现在日常还在用这个插件。

  • ChatGPT、DeepSeek:开发滑动小组件

    根据产品经理提供的原型和设计师提供的样式稿,我直接复制贴图给 ChatGPT,描述组件功能和交互要求,要求用 React 的函数组件完成代码设计,并解释实现思路。我主要是对比跟我所想的思路是否一致,对代码进行 Review、自测验收、进行一些样式上的小修改即可。不用再写简单的基础代码,只负责复杂的逻辑校验即可。估时 3 小时的组件 2 小时就能完成,效率提高 30%。

解决难题

这方面没有特别深的印象:

  • 如果是用 AI 编程出现的问题,一般是通过给提示语让 AI 解决,实在不行的是自己解决
  • 如果是已有项目出现 bug 或者是线上问题,还是习惯直接用浏览器直接调试排查

AI 编码最佳实践

AI Coding 和自己手写代码相互配合。AI 能提升编码效率,但不代表说已经是能完全替代手搓代码,更不能把两者对立起来。首先应该回归初心,写代码是为了什么?

刨除学习和自嗨为目的的写代码,通常我们写代码是为了构建软件产品。因为要构建一个产品才需要去写代码实现产品需求。所以 AI 写代码和手搓代码,都属于写代码的手段,而不是目的。

任何情况都应该尝试用 AI Coding

很多任务开始可以先用 AI 写一遍,了解 AI 编程的优缺点在哪里,边界在哪里;另外,每隔一段时间都再测试一下以前失败的地方,看随着模型的进化和工具的升级,能不能解决以前不能解决的问题。

试试没坏处,AI 不行了再自己手写,或基于 AI 的结果手动改进。AI 应该是程序员的一个重要工具,就像战士的枪一样,应该对它的优缺点和适用场景了如指掌。

原型开发适合用 AI 写代码

原型开发是最适合用 AI 大量生成代码的场景,尤其是 Web 开发,利用好设计稿,现在的 AI 很擅长,并且不需要考虑代码后期维护、性能、安全性这些。

需要用代码理思路或保持心流,手搓代码

编程是创造性的工作,有时候我们需要直接的渐进反馈,手搓代码更能让我们跟上自己思维的节奏,就像写作的时候用键盘一个字符字符的敲打修改,更能和自己的思路保持相同的节奏,如果 AI 一次性生成太多内容,或者我们不想要的内容,反而会打乱自己的思路。

另外我个人的经验是 AI 写代码很容易打断心流,要等待结果,要重新修改提示词抽卡,很打断心流,有时候我宁可手动写,虽然慢一点,但是可以保持心流状态,代码质量也更有保证。

不好描述要做的事或写 Prompt 成本更高,手搓代码

Prompt 不是万能的,很多需求或者问题是没法用文字或者图片描述清楚的,或者要清楚的描述成本比手搓代码成本还高,那真的没必要还要去写 Prompt。

如何把需求表达清楚不是很容易,尤其是那些自己擅长写文字的资深人士,是体会不到要清晰的用文字描述清楚一个需求是有点难度需要练习的,而有时候写代码反而直接些,因为简单并什么二义性。

所以我建议新手可以多用伪代码当提示词,代码也是很好的 Prompt。我自己在写不熟悉的语言时,通常会用熟悉的语言写成伪代码,然后让 AI 生成目标语言的代码。

AI 代码质量低,手搓代码

现在 AI 写的代码虽然质量不错但随机性很强,有时候很好,有时候很差,对于复杂一点的没训练过的算法或者训练语料不足的语言,还是得手搓才能获得更好的结果。

Debug 和 Review 代码时,优先用 AI

AI Agent 对于 Debug 和 Review 代码能力挺强的,经常能帮助找到一些隐藏的 Bug。AI 比人有优势的地方在于看到人看不见的盲区。但 AI 很多时候也不行,还得去人工复现一点点缩小范围。

模块级、上下文充足时优先用 AI

如果代码只是模块级别,并且上下文充足,AI 生成通常能又快又好,如果效果不好可以调整提示词多生成几次。

总结

用 AI 还是手搓,其实没标准答案,得看不同的场景以及使用 AI 的人。不能简单的就认为手搓代码不如 AI 写代码高级。

不是所有的场景都适合用 AI 编程,很多时候还是得手写代码,会写代码依然是重要的基础能力,不能因为 AI 写代码强了而忽视了锻炼自己的编程能力。

但是,手搓代码再熟练也需要多使用 AI Coding,让它成为自己有力的工具。至于未来 AI 如何进化,都需要保持关注,持续学习,无论 AI 怎么强,用好它也能让自己更强。

工具对比

对比工具

我主要深度使用 Cursor 和 ChatGPT,对 Claude code 有过一些探索,主要用来对比不同模型答案的多样性。

  • Claude:上下文长,适合看文档、读源码
  • Cursor:嵌入 IDE,自动补全 + 代码重构,适合日常开发
  • ChatGPT:知识面广,适合调试、方案对比

在技术问题上,DeepSeek 更具深度,ChatGPT 更具有概括性。都通俗易懂,比一些技术文章易读。在社会和经济问题上,ChatGPT 更具深度,DeepSeek 更保守。当然可能跟我的使用有关。

结合使用

  • 防止回答错误,查看是否有更好的回答
  • 防止某个模型不可用

效率提升

AI 帮你提升了多少效率

直接举例子。

AI 出错如何判断和处理

基于自己的开发经验。不盲目接受 AI 生成的所有代码。

  1. 逻辑审查:像做 Code Review 一样,仔细阅读 AI 生成的代码,理解它的思路,检查是否有明显逻辑错误或不合理之处
  2. 运行测试:我一定会将代码放到真实环境或测试环境中运行,这是验证其正确性的最有效手段
  3. 交叉验证:对于一些概念性或最佳实践的问题,我会将 AI 的答案与官方文档、权威社区(如 Stack Overflow、GitHub discussions)的信息进行交叉对比,确保其准确性

深入思考

前端开发被替代

我认为不会完全取代,会取代普通开发者,并且会改变前端开发或者说是程序员的工作模式。AI 只是工具,真正取代普通开发者的不是 AI,而是会使用 AI 的开发者。目前的 AI 都是基于已有的数据训练出来的,更擅长的是模式识别和代码生成,但它缺乏真正的创造力、业务理解力和抽象思维。我认为 AI 会处理更多重复性、模式化的底层编码工作,开发者的价值会更多在:

  • 架构设计:基于公司现有的应用和系统,如何设计更合理、可扩展的系统
  • 复杂问题拆解:深入理解业务,将复杂需求转化为技术方案
  • 用户体验决策:做出更人性化、更创新的交互设计
  • 指导和验证 AI:成为 AI 的教练

我认为应该主动拥抱 AI,把它当作杠杆来放大开发者的能力,让开发者能更专注于高价值的工作。

未来方向

一个是 AI 驱动的前端开发工具,比如 V0 by Vercel、Bluesky 的,它们可以通过自然语言直接生成整个 UI 界面,这可能会改变我们构建应用的起点方式。

另一个是 AI 辅助的 UI/UX 设计,比如 Galileo AI、GenUI,它们可以根据描述生成设计稿,甚至直接生成前端代码。这意味着前端开发者需要更紧密地与设计流程结合,甚至需要具备一些提示词工程的能力来精准控制输出。

MCP 是什么

什么是 MCP?

  • MCP = Model Context Protocol
  • 它是 Anthropic(Claude 背后的团队)提出的一种开放协议,目标是为 AI 模型提供一个统一的扩展接口,让模型可以安全、可控地访问外部工具、数据和 API
  • 类似于给 AI 定义了一套 “插件系统” 或 “上下文桥梁”

MCP 解决了什么问题?

在 AI 应用中,模型经常需要:

  • 访问数据库(查数据)
  • 调用 API(比如天气、股价)
  • 操作文件系统(读写本地文件)
  • 运行外部工具(如测试、构建、执行代码)

以前这些都是由每个应用“私有实现”,不通用、不安全。MCP 提供了一个标准协议,让 任何 AI 工具(如 Claude、Cursor、ChatGPT 客户端)都能用统一方式调用外部服务。

MCP 的工作方式

  • MCP Server(服务端)
    • 提供某种能力,比如“数据库访问”、“文件读写”、“Git 操作”
    • 它实现 MCP 协议,就能对外暴露标准接口
  • MCP Client(客户端,通常是 AI 应用本身)
    • 例如 Cursor 或 Claude
    • 通过 MCP 协议,向 Server 请求能力
  • AI 模型
    • 在和你对话时,决定调用哪个 MCP 工具,把结果作为上下文返回给你

可以理解成:
👉 AI 是“大脑”,
👉 MCP 是“神经系统”,
👉 MCP Server 是“大脑可以控制的手脚”。

MCP 的应用

  • Cursor 支持 MCP,你可以在 .cursor/mcp.json 配置中添加 MCP server,比如:
    • cursor-git → 提供 Git 操作
    • cursor-fs → 文件系统操作
    • cursor-db → 数据库访问
  • Claude Desktop 也支持 MCP,可以直接挂载 API 或本地工具

简单比喻

MCP 有点像 USB 协议:

  • 不管你插的是键盘、鼠标还是硬盘,电脑只要支持 USB 协议就能用
  • 不管是 Cursor 还是 Claude,只要支持 MCP 协议,就能调用 MCP server 提供的工具

AI面试题
https://xuekeven.github.io/2025/08/26/AI面试题/
作者
Keven
发布于
2025年8月26日
更新于
2025年11月3日
许可协议