4 周面试复习计划(v2 · 考频加权版)

核心策略:P0 四大考点(RAG / Agent 架构 / Tool Calling / 记忆系统)占 60% 时间,P1(安全 / Checkpoint / 评测 / 上下文工程)占 25%,P2(Redis / MQ / SSE / LLM 原理)占 15%。上午偏理论深度,下午偏项目实战,晚上偏场景表达。

📅 第 1 周:RAG 全链路深度 + Redis 应用

目标:把 RAG 从"能用"讲到"生产级",Redis 聚焦项目实际应用。
0%
时间 上午(理论深度) 下午(项目实战) 晚上(场景表达)
周一 P0 RAG 检索原理:向量检索(cosine/L2/IP)对比、Embedding 模型选型(BGE/M3E/OpenAI)、Chunk 切分策略(固定长度 vs 语义切分 vs 递归切分)。 P0 混合检索落地:在项目中实现 BM25(rank_bm25)+ pgvector 向量检索的融合,对比纯向量的 Recall@K 差异。 P0 场景题:为什么纯向量检索对专有名词召回率低?你的混合检索方案怎么设计的?
周二 P0 Rerank 重排:Cross-Encoder vs ColBERT 原理、Rerank 在检索链路中的位置(粗召回→精排→生成)。 P1 Rerank 集成:接入 Cohere Rerank 或 BGE-Reranker,对比 Rerank 前后的 nDCG 指标。 P0 表达训练:画出你的 RAG 三阶段架构图(粗召回→精排→生成),讲清每阶段的选型 Trade-off。
周三 P1 RAG 评测体系:Recall@K、MRR、nDCG 的计算方式;回放评测 vs 静态 benchmark 的区别;Badcase 回流评测集的闭环。 P1 评测脚本:编写 RAG 评测脚本,用 10~20 个真实 QA 对计算 Recall@5 和 MRR,量化混合检索+Rerank 的提升。 P1 场景题:面试官问"你怎么评估 RAG 效果"——用你的评测数据回答,有数字有对比。
周四 P2 Redis 核心原理:数据结构选型(String/Hash/ZSet/Stream)、持久化(RDB/AOF)、缓存穿透/击穿/雪崩。 P1 Redis 项目应用:梳理项目中 Redis 的两个用途——①SSE 断连补偿队列(List)②会话热数据缓存(Hash)。写清楚数据流。 P1 表达训练:话术——"项目中 Redis 的演进:从 PG 直查到引入 Redis 缓存热数据 + SSE 消息暂存,响应从 xx ms 降到 xx ms。"
周五 P2 Redis 进阶:分布式锁(SET NX EX + Lua 释放)、Redis Stream 消息模型、Pipeline 批量操作。 P2 SSE 补偿机制完善:优化项目中的 Redis List 消息暂存逻辑,确保断连→重连→拉取未读的完整链路。 P1 复盘:整理 RAG 架构图 + Redis 在项目中的应用架构图。
周末 P2 休息/机动:阅读 RAG 相关论文(RAPTOR、Self-RAG)。 P2 休息/机动:跑通 Rerank Demo。 放松。

📅 第 2 周:Agent 架构 + Tool Calling + 上下文工程

目标:把 Agent 引擎从"能跑"讲到"稳定可控",覆盖四大 P0 中的两个。
0%
时间 上午(理论深度) 下午(项目实战) 晚上(场景表达)
周一 P0 Agent 架构模式(重点 Plan-and-Execute):ReAct / Plan-and-Execute / Router / Workflow 的原理与适用场景对比。重点深挖 Plan-and-Execute——规划阶段生成任务 DAG、执行阶段逐步调用工具、反馈阶段局部重试失败节点。理解为什么视频/创作类多步任务不适合纯 ReAct(think-act 循环在长链路中容易发散),必须先规划再执行。单 Agent vs 多 Agent 的选型依据。 P0 项目架构梳理:画出你项目中 Agent 从输入到输出的完整链路(用户消息→上下文组装→LLM 调用→工具执行→流式输出),标注每环节的技术选型。额外准备:把"用户上传视频素材→Agent 理解意图→规划剪辑步骤→调用剪辑/特效/字幕工具→输出成品"的链路设计思路写出来,即使没有实际项目经验也要有架构推演。 P0 场景题:①什么场景下 ReAct 搞不定,必须用 Plan-and-Execute?你的项目为什么选 ReAct?②如果用户说"帮我把这段视频剪成 30s 短片并加字幕",Agent 怎么做任务规划?失败了一个步骤怎么局部重试?
周二 P0 Tool Calling 深度:MCP vs Function Calling vs A2A 的区别;并行 Tool Calling 的线程安全与结果合并;工具参数强校验(类型、枚举、权限、业务边界)。 P0 稳定性治理复盘:整理项目中的"双层机制"——硬约束(10 轮上限/相似度 0.7 去重/上下文熔断)+ 软引导(动态收敛提示)。准备一个具体 Badcase 演示治理效果。 P0 场景题:三个工具并行调用其中一个失败了,Agent 流程怎么处理?你的项目有重试/熔断吗?
周三 P1 工具权限与安全:工具调用的权限分级、敏感操作二次确认、Prompt Injection 攻击原理及防御。 P1 安全加固案例:整理项目中的安全实践——Piston 沙箱隔离 + 超时控制(10s)+ 网络禁用 = "双层安全模型"。设计敏感工具的确认流方案。 P1 表达训练:话术——"如果用户诱导 Agent 执行删除数据库的命令,我的系统在工具层做了沙箱隔离,即使模型被骗也无法越权。"
周四 P0 上下文工程:角色隔离(system/user/tool 分层)、Token 预算管理、信息裁剪策略、上下文压缩与过期淘汰。 P0 两阶段压缩复盘:深度整理项目中的"单轮工具链路控量 + 多轮历史记忆治理"策略,准备数据——优化前后 input token 消耗对比(减少 30%)。 P0 场景题:如果用户发了一个超长 PDF + 10 轮历史对话,你的 Token 预算怎么分配?
周五 P2 MQ 选型了解:Kafka vs RocketMQ vs RabbitMQ 区别、ACK 机制、消息堆积处理。注意:只聊选型思路,不要声称项目已落地。 P2 定时任务方案:整理项目中"AI 新闻早报"的实现方案——APScheduler + Redis 而非 MQ,讲清为什么当前规模不需要 MQ。 P1 复盘:整理 Agent 架构全景图 + Tool Calling 稳定性治理流程图。
周末 P1 多模态 Agent 专题:研究多模态模型(GPT-4o/Gemini)的能力边界——能理解什么(视频/图片内容理解)、不能直接生成什么(视频生成需要专用模型如 Sora/可灵)。梳理"视频理解→意图拆解→任务规划→工具调用(剪辑/特效/字幕/配乐)→效果评估"的创作 Agent 链路设计思路。准备话术:"虽然我没直接做过视频生成,但 Agent 在创作场景的核心挑战是把模糊意图('让视频更有趣')拆解为可执行的工具调用序列,这和我在助手平台做的意图理解+工具编排是同一套能力模型。" 整理工具调用的 Badcase 集合。额外:搜索了解剪映/CapCut 的 AI 功能(智能字幕、AI 剪辑、图文成片),理解产品形态以便面试时能结合业务场景聊。 放松。

📅 第 3 周:记忆系统 + 评测体系 + 状态管理

目标:补齐 P0 记忆系统 + P1 评测/Checkpoint,拉满深度。
0%
时间 上午(理论深度) 下午(项目实战) 晚上(场景表达)
周一 P0 记忆系统设计:短期记忆(滑动窗口)、长期记忆(向量检索)、摘要记忆(增量压缩)的分层设计。记忆写回策略(什么值得写、衰减、冲突消解)。 P0 Mem0 深度复盘:梳理项目中 mem0 的集成细节——如何自动提取用户偏好、如何注入 system prompt、跨会话连续性怎么保证。准备数据——"用户重复问题减少 35%"的口径。 P0 场景题:短期记忆和长期记忆怎么协同?如果用户 3 个月前提过一个偏好,系统还能记住吗?
周二 P1 记忆污染与防护:记忆污染的常见场景(幻觉写入、过时信息、冲突记忆)、防护策略(置信度阈值、人工审核、版本化存储)。 P1 上下文压缩优化:结合 mem0 的长期记忆,优化项目的"增量摘要压缩"策略。探索用语义评分替代固定轮次截断。 P0 表达训练:画出记忆系统架构图(短期→摘要→长期→检索注入),讲清每层的数据流向和淘汰策略。
周三 P1 Agent 评测体系(含创作效果评估):多层评估(任务完成率、工具选择正确率、过程质量);线上指标(采纳率、回滚率、人工接管率);回放评测 vs 静态 benchmark。创作场景评估补充:视频/图片创作的效果更难量化,需准备 A/B 测试、用户留存、创作完成率、人工评审打分(LLM-as-Judge 对生成内容打分)等方案,体现对"非结构化输出怎么评"的思考。 P1 评测方案设计:基于 Langfuse 的 Trace 数据,设计你的 Agent 评测方案——哪些指标已经能算(延迟/token 消耗),哪些需要补(工具选择正确率、采纳率)。额外:设计一个"创作效果评估"方案——如果 Agent 帮用户生成了一段视频剪辑,怎么自动评估质量?(维度:任务完成度、用户满意度、渲染成功率、首帧延迟) P1 场景题:①面试官问"你怎么衡量 Agent 的好坏"——用你的 Langfuse 数据+评测方案回答。②"剪映的 AI 剪辑功能上线后,你怎么衡量效果好不好?"——从技术指标和业务指标两个维度回答。
周四 P1 Checkpoint 与状态管理:状态 vs 上下文的区别、Checkpoint 持久化(存什么、存哪里)、中断恢复的难点(幂等、副作用、版本漂移)。 P2 状态机完善:整理项目中 ChatSessionAgent 的状态流转,设计服务器重启后的对话恢复方案。 P1 场景题:Agent 正在执行工具调用时服务器挂了,重启后怎么恢复?已完成的工具副作用怎么处理?
周五 P2 LLM 基础原理:Tokenization(BPE)、Attention 机制(Self-Attention/MHA/GQA)、位置编码(RoPE/ALiBi)、Temperature/Top-P 采样策略。 P2 SSE 流式架构复盘:整理项目中 SSE 的完整架构——FastAPI StreamingResponse → 前端 EventSource → 自动重连 → Redis 补偿。准备流式渲染优化方案。 P1 复盘:整理记忆系统架构图 + 评测体系设计图。
周末 休息/机动:阅读 Mem0 源码中记忆提取的 Prompt。 休息/机动:整理 Langfuse 上的典型 Trace 截图,面试时可以展示。 放松,准备最后一周冲刺。

📅 第 4 周:全真模拟 & 简历对齐

目标:所有技术点融入简历话术,高强度模拟面试。
0%
时间 上午(后端补强) 下午(Agent 实战) 晚上(模拟演练)
周一 P2 系统设计专项:练习"秒杀系统"、"Feed 流"等传统后端题,保持手感。 P0 简历话术打磨:把 Redis/MQ 的表述从"引入"改为"演进"——Redis 已在用(SSE 补偿+缓存),MQ 是未来规划。确保每段项目经历有 3 个可追问的深度点。 P0 全真模拟 1:找朋友模拟面试,重点考察 P0 四大考点 + 项目深挖。
周二 P0 高频考点串讲:快速过一遍 14 个考点的核心问题,查漏补缺。 P0 项目 Trade-off 整理:为每个技术选型准备"为什么选 A 不选 B"的回答——pgvector vs FAISS vs ES、FastAPI vs Django、单 Agent vs 多 Agent。 P0 全真模拟 2:针对昨天的薄弱环节补强,重点练习"被追问到不会"时的应对话术。
周三 P1 场景设计专项:练习"设计一个 RAG 系统"、"设计一个 Agent 平台"等开放题。 P1 查漏补缺:回顾错题本和标记的薄弱考点,做最后巩固。 P0 全真模拟 3:邀请有经验的工程师模拟面试,获取真实反馈。
周四 P2 心态调整:回顾所有面试话术和架构图,不再学新知识。 P2 轻复习:只看笔记和架构图。 早点休息,保证睡眠。
周五 P2 最终准备:检查面试设备、网络、环境。准备好自我介绍(3 分钟版 + 1 分钟版)。 休息。 放松,看电影。
周末 随时待命,保持手机畅通。 休息。 为可能的面试养精蓄锐。

⚠️ 项目口径统一(重要)

简历中 Shopee 工作经历写了 Redis、Kafka,但两个子项目的用法不同

  • GEO 搜索优化平台:Kafka 重度使用,处理高并发采集任务的消费与暂停/恢复。
  • AI 智能助手平台:Redis 用于 SSE 补偿 + 会话缓存,APScheduler 做定时任务,未用 Kafka
"Kafka 是在 GEO 采样项目中重度使用的,用于高并发任务消费和削峰;AI 助手平台当前规模用 Redis + APScheduler 足够,如果日志解耦需求上来会迁移到 Kafka。"

💡 3 个强化动作

动作 1:后端视角画架构图(贯穿全程)

每次画 Agent 架构图时,强制标出 DB / Cache / MQ / LB 的物理位置。

"选 FastAPI 因为原生 Asyncio 对 SSE 长连接友好,Django 的同步模型在高并发推流场景下需要额外的 ASGI 适配;选 pgvector 因为已经在用 PG 做业务库,避免多维护一套 ES 集群,运维成本更低。"

动作 2:Langfuse Trace → Badcase 回流(第 3 周周三)

"接入 Langfuse 后,我基于 Trace 数据建立了 Badcase 回流机制——自动捕获 Token 消耗异常高(>阈值)或工具调用次数过多(>8 轮)的会话,纳入评测集。每迭代一轮 prompt 或工具描述,跑一遍评测集看指标变化。"

动作 3:多 Agent 只准备 Supervisor 模型(第 2 周周末)

"新闻早报 = 搜索 Agent + 总结 Agent + 翻译 Agent,Supervisor 负责任务分配和状态聚合。状态共享通过 StateGraph 的 channel 机制,错误传播:子 Agent 失败后 Supervisor 决定重试或降级。"

💡 项目话术要点(v2 修正版)

1. Redis(修正:项目已在用,不是"计划引入")

"项目中 Redis 有两个核心用途:SSE 断连补偿会话热数据缓存。断连时流式块先写入 Redis List,重连后拉取未读消息,保障对话连续性。会话热数据从 PG 迁移到 Redis Hash 后,响应延迟从 xx ms 降到 xx ms。后续如果并发进一步上来,会考虑引入 Redis Cluster 做分片。"

2. MQ(修正:不声称已落地,只聊选型思路)

"当前项目的定时任务用 APScheduler + Redis 实现,比如 AI 新闻早报的定时推送。这个方案对当前规模(单机部署、日均推送量级)足够用。如果后续需要解耦 Agent 日志写入和主对话链路,我会考虑引入 MQ——选型上倾向 RocketMQ,因为事务消息和延迟队列原生支持更好,Kafka 更适合大数据量日志场景,我们目前还没到那个量级。"

3. RAG 混合检索

"早期版本只用 pgvector 纯向量检索,发现对专有名词(如内部项目代号)召回率低。升级为 BM25 + 向量混合检索后,粗召回阶段用 RRF(Reciprocal Rank Fusion)融合两路结果,再过 Cross-Encoder 重排。当单会话附件超过 5 份时自动触发混合检索。用 15 个测试 QA 对评估,Recall@5 从 0.62 提升到 0.81。"

4. 记忆系统

"短期记忆用滑动窗口 + 增量摘要压缩,每轮超过 Token 预算 80% 触发压缩。长期记忆用 mem0,自动从对话中提取用户偏好和关键事实,存入 PGVector。下次对话前检索相关记忆注入 system prompt。上线后用户重复问题减少 35%,长对话(20+ 轮)的连贯性明显提升。"

5. 上下文工程

"采用两阶段压缩策略:单轮内——工具结果按相关性筛选,超 Token 预算 80% 强制熔断;多轮间——按轮截窗 + 增量摘要,保障长对话连续性。接入 Langfuse 观测后,定位到上下文膨胀和冗余工具调用是主要瓶颈,优化后 input token 消耗减少 30%,端到端延迟降低 15%。"

📊 考点覆盖自查表

优先级 考点 覆盖天数 所在周次
P0RAG 全链路3 天第 1 周 周一~周三
P0Agent 架构与状态机1.5 天第 2 周 周一 + 第 3 周 周四
P0Tool Calling 体系1.5 天第 2 周 周二~周三
P0记忆系统设计2 天第 3 周 周一~周二
P1安全与权限1 天第 2 周 周三
P1Checkpoint/失败恢复1 天第 3 周 周四
P1评测体系1 天第 3 周 周三
P1上下文工程1 天第 2 周 周四
P2后端基础架构(Redis)2 天第 1 周 周四~周五
P2后端基础架构(MQ)0.5 天第 2 周 周五上午
P2流式输出/前端0.5 天第 3 周 周五下午
P2LLM 原理0.5 天第 3 周 周五上午
P3模型部署/监控间接覆盖Langfuse 贯穿项目
P3微调 vs RAG间接覆盖RAG 天自然涉及