Agent 全栈工程师 - 面试知识准备清单

基于 Chat Agent 与 GEO 采样项目的系统化复习指南

一、Agent 核心(Chat Agent 项目)

核心1. ReAct Loop 自研
必须能讲清楚:你的 ReAct Loop 每一步的角色(思考→工具选择→执行→观察→判断循环),与标准 ReAct 论文的差异点。
💡 建议准备:画一张状态流转图,标注硬约束(10轮/5次/相似度0.7)和软引导(收敛提示)分别在哪个节点生效。
核心2. MCP 工具调用链路
必须能讲清楚:MCP 协议的核心交互模型(初始化→工具发现→调用→结果返回),你的工具描述(description)是怎么设计的。
💡 建议准备:准备 1-2 个具体工具(如 web_searchcode_execution)的完整调用链路口述。
核心3. 工具调用稳定性治理
必须能讲清楚:"模型反复调用 web_search 无法收束"这个问题的根因,以及你的双层机制设计。
💡 建议准备:准备"收敛提示"的示例文案,说明怎么在"限制滥用"和"保证必要调用"之间平衡。

二、上下文与 RAG(Chat Agent 项目)

核心4. 上下文压缩策略
必须能讲清楚:"单轮工具链路控量 + 多轮历史记忆治理"的两阶段策略,具体怎么落地。
💡 建议准备:口述一个长对话场景(比如 20 轮后),消息是怎么被压缩和保留的。
核心5. RAG / 文档查询(Context7)
必须能讲清楚:Context7 在你的系统里扮演什么角色,向量检索链路怎么走的。
💡 建议准备:简要说明文档解析(PDF/图片)→ 切分 → embedding → 检索 → 注入 prompt 的完整链路。

三、工程架构与部署(Chat Agent 项目)

工程6. SSE 流式通信与断连恢复
必须能讲清楚:FastAPI StreamingResponse 的实现细节,前端自动重连与续传机制。
💡 建议准备:口述 SSE 连接→断连→重连→续传的消息时序图。
工程7. 代码执行安全(Piston)
必须能讲清楚:Piston 的沙箱隔离原理,以及你叠加的应用层安全策略。
💡 建议准备:强调"双层安全模型"——Piston 沙箱 + 应用层超时/网络限制。
工程8. 生产级部署与运维
必须能讲清楚:Docker Compose 编排结构,Nginx 反向代理配置,HTTPS 证书管理。
💡 建议准备:准备一张部署架构图(Nginx → FastAPI → PostgreSQL/Redis)。

四、基础设施(GEO 采样工具项目)

基建9. Kafka 消费治理
必须能讲清楚:并发阈值控制、暂停/恢复机制的设计动机和实现。
💡 建议准备:口述一个任务从入队→消费→执行→状态回写的完整状态机。
基建10. Redis 账号池与代理治理
必须能讲清楚:账号预占、分层冷却、动态冷却的实现。
💡 建议准备:强调反爬策略的工程化思路——"把反爬当成常态故障处理"。
基建11. MySQL 与数据存储
必须能讲清楚:GEO 平台的数据模型设计,采样结果怎么存。
💡 建议准备:准备核心表结构(任务表、账号表、采样结果表)的 ER 关系口述。
基建12. Playwright 与自动化采集
必须能讲清楚:为什么选择 Playwright 而不是直接调用 ChatGPT API。
💡 建议准备:结合两个项目,说明 Playwright 在不同场景下的应用。

五、前端工程(全栈视角)

前端13. React / TypeScript / 状态管理
必须能讲清楚:Chat Agent 前端的消息状态管理(多轮对话、工具结果渲染、SSE 消息拼接)。
💡 建议准备:强调 Redux Toolkit 或 React Context 在消息状态管理中的取舍。
前端14. 复杂编辑器状态(站外广告项目)
必须能讲清楚:Campaign/AdSet/Ad 三层树结构的跨层级联动校验。
💡 建议准备:这个项目虽然离 Agent 较远,但能体现你处理复杂状态的能力,准备 1 个技术难点即可。

六、开放性问题 & 场景设计(高频压轴题)

15. 如果让你重构 Chat Agent,你会怎么做?
🚀 建议方向:
  • 上下文压缩引入语义化评分模型(替代规则策略)
  • SSE 内存队列升级为 Redis Stream(支持多实例)
  • ReAct Loop 引入 Plan-and-Execute 或 Reflection 机制(提升复杂任务成功率)
  • 工具调用引入 Toolformer 或学习式调度(替代固定阈值)
16. 如果 Agent 需要支持 10w QPS,你的架构怎么改?
🚀 建议方向:
  • 推理层:模型调用接入批处理或专用推理服务(vLLM/TGI)
  • 状态层:对话历史从内存/PostgreSQL 迁到 Redis Cluster + 分片
  • 工具层:工具执行异步化(Celery/RQ),结果通过 Webhook 回调
  • 部署层:Docker Compose → K8s + 自动扩缩容
17. Agent 的"幻觉"问题你怎么解决?
🚀 建议方向:
  • 工具结果注入时加置信度标注
  • 关键信息(如代码执行结果)要求模型"复述确认"
  • 对不确定的回答引导模型说"我需要再查一下"而不是编造

七、面试表达建议

基于你之前的面试反馈,特别注意以下几点: