AI们 - 高级前端面试必背

一、RAG(检索增强生成)⭐⭐⭐

面试题1:什么是RAG?解决什么问题?

标准答案(背诵版)
RAG是Retrieval-Augmented Generation的缩写,检索增强生成。它解决了LLM的三大问题:

  1. 知识过时:模型训练后无法获取最新信息
  2. 幻觉问题:模型会编造不存在的内容
  3. 领域知识缺失:通用模型缺少企业私有数据

工作流程(必背)

1
用户提问 → 向量化查询 → 检索知识库 → 拼接上下文 → LLM生成答案

面试题2:RAG的技术实现流程?

标准答案

  1. 离线阶段

    • 文档切片(Chunking):将长文档切成512-1024 token的片段
    • 向量化(Embedding):用模型(如text-embedding-ada-002)转成向量
    • 存储:保存到向量数据库(Pinecone/Milvus/Chroma)
  2. 在线阶段

    • 用户问题向量化
    • 相似度检索(余弦相似度/欧氏距离)
    • Top-K召回(通常K=3-5)
    • 构造Prompt:根据以下资料回答:[检索内容] 问题:[用户问题]
    • LLM生成答案

面试题3:RAG的优化策略?

必背要点

  1. Chunking优化:重叠切片(overlap 50-100 tokens)避免语义断裂
  2. 混合检索:向量检索 + 关键词检索(BM25)
  3. 重排序(Rerank):用专门模型对召回结果重新打分
  4. 查询改写:用LLM优化用户问题,提高召回率
  5. 引用溯源:返回答案时标注来源文档

二、MCP(模型上下文协议)⭐⭐⭐

面试题4:MCP是什么?和Function Calling有什么区别?

标准答案
MCP是Model Context Protocol,由Anthropic提出的标准化协议,让AI能统一调用各种外部工具。

与Function Calling的区别

维度 Function Calling MCP
标准化 各家实现不同 统一协议标准
工具发现 需手动注册 自动发现工具
连接方式 直接调用API 通过MCP Server
适用场景 简单工具调用 复杂工具生态

面试题5:MCP的架构组成?

必背架构(三层)

1
2
3
4
5
AI应用层(Client)
↓ MCP协议
MCP Server层(工具提供方)
↓ 实际调用
外部服务层(数据库/API/文件系统)

核心概念

  1. Resources:可读取的数据源(文件、数据库记录)
  2. Tools:可执行的操作(搜索、计算、API调用)
  3. Prompts:预定义的提示词模板

面试题6:如何实现一个MCP Server?

标准实现步骤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
// 1. 定义工具
const tools = [{
name: "search_database",
description: "搜索用户数据库",
inputSchema: {
type: "object",
properties: {
query: { type: "string" }
}
}
}];

// 2. 实现工具逻辑
async function handleToolCall(name, args) {
if (name === "search_database") {
return await db.query(args.query);
}
}

// 3. 启动MCP Server
const server = new MCPServer({
name: "my-database-server",
version: "1.0.0",
tools,
onToolCall: handleToolCall
});

配置文件(mcp.json)

1
2
3
4
5
6
7
8
9
{
"mcpServers": {
"database": {
"command": "node",
"args": ["./mcp-server.js"],
"env": { "DB_URL": "..." }
}
}
}

三、Agent(智能体)⭐⭐⭐⭐⭐

面试题7:Agent和普通LLM应用的区别?

标准答案
普通LLM:一问一答,被动响应
Agent:能自主规划、使用工具、多轮迭代直到完成任务

Agent的核心能力(必背)

  1. Planning(规划):将复杂任务分解为子任务
  2. Tool Use(工具使用):调用外部API/数据库/搜索引擎
  3. Memory(记忆):记住历史对话和中间结果
  4. Reflection(反思):评估执行结果,调整策略

面试题8:Agent的工作流程(ReAct模式)?

必背流程

1
2
3
4
5
1. Thought(思考):分析任务,决定下一步
2. Action(行动):选择工具并执行
3. Observation(观察):获取执行结果
4. 循环1-3,直到任务完成
5. Final Answer(最终答案):输出结果

实际例子

1
2
3
4
5
6
7
8
9
10
11
用户:帮我查北京明天天气,如果下雨就推荐室内活动

Thought: 需要先查天气
Action: call_weather_api(city="北京", date="明天")
Observation: 明天北京有雨,温度15-20℃

Thought: 确实下雨,需要推荐室内活动
Action: search_activities(type="室内", city="北京")
Observation: 找到博物馆、电影院、商场等

Final Answer: 明天北京有雨,推荐去国家博物馆或看电影...

面试题9:SubAgent是什么?什么时候用?

标准答案
SubAgent是专门处理特定子任务的Agent,由主Agent调用。

使用场景

  1. 任务分解:主Agent负责规划,SubAgent执行具体任务
  2. 专业领域:代码生成Agent、数据分析Agent、测试Agent
  3. 并行处理:多个SubAgent同时执行独立任务

架构示例

1
2
3
4
主Agent(任务协调)
├─ 代码生成SubAgent
├─ 代码审查SubAgent
└─ 测试执行SubAgent

四、Workflow(工作流)⭐⭐⭐

面试题10:AI Workflow的常见模式?

必背四种模式

  1. Sequential(顺序链)
1
2
输入 → 步骤1 → 步骤2 → 步骤3 → 输出
例:文档总结 → 翻译 → 润色
  1. Parallel(并行)
1
2
输入 → [步骤1, 步骤2, 步骤3] → 合并 → 输出
例:同时调用多个搜索引擎,汇总结果
  1. Conditional(条件分支)
1
2
输入 → 判断 → 分支A / 分支B → 输出
例:情感分析 → 正面回复 / 负面转人工
  1. Loop(循环)
1
2
输入 → 执行 → 检查 → 未完成则继续 → 输出
例:代码生成 → 测试 → 失败则重新生成

面试题11:如何设计一个代码审查Workflow?

标准设计(必背)

1
2
3
4
5
6
7
8
9
1. 接收代码变更
2. 并行执行:
- 静态分析(ESLint/TypeScript)
- 安全扫描(依赖漏洞检查)
- AI代码审查(逻辑/性能/可读性)
3. 汇总问题
4. 生成审查报告
5. 如果有严重问题 → 阻止合并
否则 → 允许合并

实现要点

  • 使用Hook触发(preToolUse/postToolUse)
  • 设置超时机制(避免阻塞)
  • 结果缓存(相同代码不重复审查)

五、Skills(技能系统)⭐⭐

面试题12:Skills在AI系统中的作用?

标准答案
Skills是Agent可以学习和复用的能力模块,类似函数库。

核心特点

  1. 可组合:多个Skills组合完成复杂任务
  2. 可复用:不同Agent共享相同Skills
  3. 可扩展:动态加载新Skills

示例

1
2
3
4
5
6
7
8
基础Skills:
- 文件读写
- 网络请求
- 数据库操作

高级Skills:
- 代码生成(组合:读文件 + 分析 + 写文件)
- 自动化测试(组合:执行命令 + 解析结果)

六、OpenClaw⭐⭐

面试题13:OpenClaw是什么?

标准答案
OpenClaw是Captain Claw游戏的开源重制版,使用C++和SDL2开发。

技术栈

  • 语言:C++
  • 图形库:SDL2(跨平台2D图形)
  • 构建工具:CMake
  • 平台:Windows/Linux/macOS

核心模块

  1. 游戏引擎:物理引擎、碰撞检测、动画系统
  2. 资源管理:图片、音频、关卡数据加载
  3. 输入处理:键盘、手柄输入映射

面试题14:如何在Windows上编译OpenClaw?

必背步骤

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
# 1. 安装依赖
- Visual Studio 2019+
- CMake 3.15+
- SDL2开发库

# 2. 克隆代码
git clone https://github.com/pjasicek/OpenClaw.git
cd OpenClaw

# 3. 创建构建目录
mkdir build && cd build

# 4. 生成项目
cmake .. -G "Visual Studio 16 2019"

# 5. 编译
cmake --build . --config Release

# 6. 运行
./Release/OpenClaw.exe

常见问题

  • SDL2找不到:设置CMAKE_PREFIX_PATH
  • 缺少游戏资源:需要原版游戏的CLAW.REZ文件

七、综合面试题⭐⭐⭐⭐⭐

面试题15:设计一个AI代码助手,需要哪些技术?

完整方案(必背)

  1. 基础能力

    • LLM:Claude/GPT-4作为核心
    • RAG:索引项目代码和文档
    • MCP:连接Git/IDE/测试工具
  2. Agent架构

1
2
3
4
5
主Agent(任务理解)
├─ 代码搜索SubAgent(RAG检索相关代码)
├─ 代码生成SubAgent(编写新代码)
├─ 代码审查SubAgent(检查质量)
└─ 测试执行SubAgent(运行测试)
  1. Workflow设计
1
2
3
用户需求 → 理解意图 → 搜索相关代码 → 
生成方案 → 编写代码 → 运行测试 →
测试失败?→ 修复代码(循环)→ 提交代码
  1. Skills配置

    • 文件操作(读/写/搜索)
    • Git操作(commit/push/PR)
    • 命令执行(npm/pytest)
    • 诊断分析(getDiagnostics)
  2. 优化策略

    • 增量索引:只索引变更文件
    • 上下文压缩:只传递相关代码片段
    • 并行执行:多个SubAgent同时工作
    • 结果缓存:相同问题复用答案

面试题16:如何评估AI系统的效果?

评估维度(必背)

  1. 准确性指标

    • RAG召回率:相关文档是否被检索到
    • 答案准确率:人工评估正确率
    • 幻觉率:编造内容的比例
  2. 性能指标

    • 响应时间:P50/P95/P99延迟
    • Token消耗:成本控制
    • 并发能力:QPS
  3. 用户体验

    • 任务完成率:用户目标达成比例
    • 交互轮次:平均对话轮数
    • 满意度评分:1-5分
  4. 系统稳定性

    • 错误率:API调用失败率
    • 超时率:任务执行超时比例
    • 降级策略:LLM不可用时的备选方案

八、快速记忆口诀

技术栈记忆

1
2
3
4
5
RAG查知识(向量检索)
MCP调工具(标准协议)
Agent做规划(ReAct循环)
Workflow管流程(顺序/并行/条件/循环)
Skills是能力(可组合复用)

面试万能公式

1
是什么 → 解决什么问题 → 技术实现 → 优化策略 → 实际案例

高频考点排序

  1. RAG实现流程(必考)
  2. Agent的ReAct模式(必考)
  3. MCP vs Function Calling(高频)
  4. Workflow设计模式(高频)
  5. 系统优化策略(加分项)