综合模拟面试 4 · 压力挑战面#
面试官画像: 大厂 P8/P9 架构师,风格犀利,每个决策都追问”为什么不用更简单的方案” 时长: 40 分钟 · 难度: ★★★★★ 覆盖方向: 每个设计决策的挑战与反驳
连续挑战#
面试官: 同质 fork 是不是过度设计?直接 asyncio.gather(5 × item_search) 不行?
候选人: 子任务”简单”是事后观察。作为 Agent 它可以在需要时多做几步(换关键词、查品类),Worker 没这个灵活性。况且只维护一份代码,同质 fork 的边际成本很低。
面试官: 这不就是 Workflow 披了 Agent 的皮?
候选人: 流程次序没有一行代码强制。真 Workflow 是 r = search(); c = compare(r) 焊死。品类查询 2 步出结果——Workflow 做不到。
面试官: 阶段状态机不也是 Workflow?
候选人: 阶段状态机约束的是”这个阶段能用什么工具”,不是”必须依次调哪些工具”。阶段内模型自由决定用哪个、用几次。约束粒度完全不同。
面试官: 138 万商品零 GPU 离线评测——生产能用?
候选人: 不能直接用。但每个缺失能力有升级路径。项目价值在 Agent 架构设计、治理框架、质量保障体系——可复用的工程能力。
面试官: 你说”机制优于 prompt”——那 prompt 还有什么用?
候选人: Prompt 覆盖正常路径(80%)——模型按 prompt 选工具、按 prompt 理解意图、按 prompt 生成文案。机制只在异常路径(20%)兜底——模型不听话时拦住。两者互补不替代。
面试官: 四层终止机制会不会太保守?Agent 还没做完就被掐?
候选人: 有补搜闸——item_picker 返回空时回退到 SEARCHING。参数也是实测调优的:主 30 轮 / 300 秒,正常购物链路 5 轮就完成,剩余空间足够。
面试官: 你做过 A/B 对比吗?
候选人: 做过摘工具 vs 哨兵的 A/B:摘工具延迟更低(65.3s vs 79.3s)但 cache 命中率不可预测。选了保 cache。但不是大规模线上实验,是离线对比。
面试官: 评测集 18 条 query,过拟合了吧?
候选人: 种子集确实有过拟合风险。但设计为回归基线——改完跑一遍看分数变化。覆盖 13 个场景桶。大规模需线上 A/B。
面试官: 你说 few-shot 蒸馏效果不显著——为什么还留着?
候选人: 代码留着但默认不注入。诚实记录负结果——不是每个”应该有效”的改进都真有效。可能是示例数量不够、可能是场景匹配度不够。暂不投入更多精力。
面试官: 你觉得这个项目最能体现什么能力?
候选人: 技术判断力——知道什么不做。每个”不做”都有”什么时候该做”的判断标准。YAGNI 贯穿始终。