Skip to content

AI 面试冲刺题库与复盘

目录

1. 学习目标

  • 将 16 周知识压缩为可脱稿表达的面试答案;
  • 能在 30 秒、3 分钟和连续追问三种深度间切换;
  • 形成“结论—原理—项目—权衡—验证”的稳定回答结构;
  • 用评分证据定位知识、工程、项目或表达问题;
  • 完成三轮覆盖基础、RAG/Agent 和系统设计的模拟面试;
  • 将每次失分转换为具体文档、实验和下一次复测任务。

2. 面试结论

2.1 30 秒回答

面试冲刺不是继续横向收集题目,而是把已有知识转化为稳定输出:先用一句话回答本质,再按面试官追问逐层展开原理、实现、项目证据和权衡。每次模拟面试都要记录原话、缺口、错误类型和下一步动作;只有能脱稿解释、完成实践并通过递进追问,才把主题标记为掌握。

2.2 一分钟复述版

我会将冲刺分为三个闭环。第一是知识压缩:每个主题准备 30 秒结论、3 分钟展开和三层追问。第二是项目证据:每个项目准备背景、约束、方案、权衡、故障、验证和复盘,并只陈述真实贡献。第三是反馈修复:从准确性、原理、工程、项目和表达五个维度评分,低分项必须映射到具体文档或实验,并在 1、3、7 天后复测。目标不是背标准答案,而是面对问题变化仍能重建因果链。

3. 面试官为什么问

面试官不是只验证名词记忆,而是在逐步确认:

  1. 你能否先回答问题,而不是绕背景;
  2. 你是否理解机制,而不是只会调用框架;
  3. 你能否说明适用边界和替代方案;
  4. 你是否真的做过项目并有验证证据;
  5. 遇到故障时是否有分层诊断能力;
  6. 需求变化时能否做工程权衡;
  7. 不确定时是否诚实说明边界,而不是编造。

4. 概念与边界

4.1 30 秒、3 分钟和深挖回答

深度目标推荐结构不应包含
30 秒证明知道本质定义 + 核心机制 + 边界历史、框架清单、无关细节
3 分钟证明理解与落地结论 + 原理 + 实现 + 项目 + 权衡逐字背诵、没有因果的堆词
深挖证明高级能力公式/数据流 + 故障 + 替代 + 验证编造指标、回避边界

4.2 知识题与项目题

知识题回答:

是什么 -> 为什么需要 -> 如何工作 -> 复杂度/边界 -> 工程场景

项目题回答:

背景目标 -> 约束难点 -> 方案与调用链 -> 个人贡献 -> 故障与验证 -> 权衡与复盘

系统设计题回答:

需求/SLO -> 规模估算 -> 架构 -> 数据与关键链路 -> 瓶颈/故障 -> 安全/成本/评测 -> 演进

4.3 “掌握”的验收条件

只有同时满足以下条件才标记 mastered

  • 不看文档能说出 30 秒结论;
  • 能解释至少一层公式、数据流或源码机制;
  • 能完成最小实现或实验;
  • 能回答三道来自边界和故障的追问;
  • 能结合真实项目或明确标注的示例项目;
  • 能指出一个不适用场景和替代方案。

5. 冲刺与复盘机制

5.1 每题回答流程

图 1:从首次作答到间隔复测的能力修复闭环

图表加载中…

替代文本: 每道题先复述边界并给出 30 秒结论,再展开原理、项目证据和失败场景;追问暴露的缺口会变成补课、实验或答案改写任务,经过 1、3、7 天复测,未达标则继续修复,达标后才进入下一题。

读图结论: 冲刺的最小闭环不是“答过一道题”,而是“暴露缺口—修复—再次验证”。

图中 A~F 是现场表达阶段,G~J 是离场后的能力修复阶段;只有复测门禁通过才更新掌握状态,因此“做完题数”不能替代“稳定答对并能承受追问”。

5.2 五维评分

维度0 分1 分2 分3 分4 分5 分
准确性未回答或完全无关核心结论错误有部分概念但存在重大事实错误主结论正确,仍有边界或次要错误事实与边界准确,仅有小遗漏事实、因果、假设、边界和验证路径均准确
原理深度没有机制内容只背定义或术语能复述步骤但因果链断裂流程正确,缺公式、维度或复杂度能讲机制、实现和复杂度能推导机制并说明假设、替代与失败边界
工程意识无工程内容只会 Demo 或给出危险方案只说“加重试/日志”等泛化措施能提性能、异常和基础测试能讲指标、可靠性、成本、安全与权衡能给出 SLO、故障证据、降级、回滚和验证闭环
项目证据虚构经历/指标或拒绝说明边界只有模糊场景只列组件,个人贡献和证据不清有背景和方案,但故障或验证薄弱调用链、贡献、故障和验证证据清晰证据可核验,并能解释限制、替代方案与演进
表达结构严重跑题或无法沟通无结论、堆术语有结论但层次混乱结构完整但冗长或重点不稳结论前置,能按层次展开能按追问动态控制深度,并准确表达不确定性

默认等权时单轮总分为 25;岗位权重、Rubric 和阈值必须共同版本化。以下硬门禁优先于平均分:

  • 核心事实方向相反:准确性不高于 1;
  • 虚构项目贡献、指标或个人职责:项目证据为 0,且本题不能标记 mastered
  • 建议直接执行越权、无幂等副作用或泄露敏感数据:工程意识不高于 1;
  • 关键结论证据不足:标记 U 并进入复核,不能靠其他维度高分掩盖。

“18/25”只作为尚未用真实面试结果校准的初始预警线,不是录用线或掌握证明。使用一段时间后,应按双人评分一致性、真实追问表现和岗位结果重新校准。最低维度必须生成具体任务,不能只写“继续复习”。

5.3 错误分类

  • F:事实错误,优先修正文档和来源;
  • M:机制不清,补公式、数据流或代码;
  • B:边界缺失,补不适用场景和替代方案;
  • E:工程不足,补故障、指标、成本和安全;
  • P:项目证据弱,补真实调用链、个人贡献和验证;
  • C:表达问题,重写 30 秒和 3 分钟版本;
  • U:不确定但未说明,练习诚实表达和验证路径。

6. 实现与记录工具

6.1 最小评分记录脚本

python
from dataclasses import dataclass
from math import isfinite
from types import MappingProxyType


DIMENSIONS = (
    "accuracy",
    "mechanism",
    "engineering",
    "project",
    "communication",
)

WEIGHT_CONFIGS = MappingProxyType(
    {
        "ai-backend-equal-v1": tuple((name, 0.2) for name in DIMENSIONS),
    }
)

GATE_RULES = MappingProxyType(
    {
        "interview-rubric-v1": MappingProxyType(
            {
                "CORE_FACT_REVERSED": ("accuracy", 1),
                "FABRICATED_PROJECT": ("project", 0),
                "UNSAFE_SIDE_EFFECT": ("engineering", 1),
            }
        )
    }
)


@dataclass(frozen=True)
class DimensionReview:
    score: int
    evidence_quotes: tuple[str, ...]
    rationale: str
    next_action: str

    def __post_init__(self) -> None:
        if not 0 <= self.score <= 5:
            raise ValueError("score must be between 0 and 5")
        if not self.rationale or not self.next_action:
            raise ValueError("rationale and next_action are required")


@dataclass(frozen=True)
class GateHit:
    code: str
    evidence_quotes: tuple[str, ...]

    def __post_init__(self) -> None:
        if not self.code or not self.evidence_quotes:
            raise ValueError("gate requires code and evidence")


@dataclass(frozen=True)
class Review:
    topic: str
    answer: str
    rubric_version: str
    weight_version: str
    dimensions: tuple[tuple[str, DimensionReview], ...]
    gate_hits: tuple[GateHit, ...] = ()
    error_codes: tuple[str, ...] = ()

    def __post_init__(self) -> None:
        dimension_map = dict(self.dimensions)
        if len(self.dimensions) != len(DIMENSIONS) or set(dimension_map) != set(DIMENSIONS):
            raise ValueError("all five dimensions are required")
        weight_items = WEIGHT_CONFIGS.get(self.weight_version)
        if weight_items is None:
            raise ValueError("unknown weight_version")
        weights = dict(weight_items)
        if (
            set(weights) != set(DIMENSIONS)
            or any(not isfinite(value) or value < 0 for value in weights.values())
            or abs(sum(weights.values()) - 1.0) > 1e-9
        ):
            raise ValueError("trusted weight configuration is invalid")
        gate_rules = GATE_RULES.get(self.rubric_version)
        if gate_rules is None:
            raise ValueError("unknown rubric_version")
        declared_gate_codes = {gate.code for gate in self.gate_hits}
        missing_gate_hits = (set(self.error_codes) & set(gate_rules)) - declared_gate_codes
        if missing_gate_hits:
            raise ValueError("severe error code requires structured GateHit")
        for gate in self.gate_hits:
            rule = gate_rules.get(gate.code)
            if rule is None:
                raise ValueError("gate code is not defined by rubric_version")
            dimension, max_score = rule
            if dimension_map[dimension].score > max_score:
                raise ValueError(
                    f"{gate.code} caps {dimension} at {max_score}"
                )

    def raw_total(self) -> int:
        return sum(item.score for item in dict(self.dimensions).values())

    def weighted_score_5(self) -> float:
        weights = dict(WEIGHT_CONFIGS[self.weight_version])
        dimension_map = dict(self.dimensions)
        return sum(
            weights[name] * dimension_map[name].score
            for name in DIMENSIONS
        )

    def weighted_score_25(self) -> float:
        return 5.0 * self.weighted_score_5()

    def weakest(self) -> list[str]:
        dimension_map = dict(self.dimensions)
        minimum = min(item.score for item in dimension_map.values())
        return [
            name
            for name, item in dimension_map.items()
            if item.score == minimum
        ]


if __name__ == "__main__":
    review = Review(
        topic="Transformer",
        answer="Self-Attention 用 QK 匹配后聚合 V,但我没讲复杂度;我把示例当成了线上项目。",
        rubric_version="interview-rubric-v1",
        weight_version="ai-backend-equal-v1",
        dimensions=(
            ("accuracy", DimensionReview(
                4, ("用 QK 匹配后聚合 V",), "主结论正确", "补充缩放与 Mask"
            )),
            ("mechanism", DimensionReview(
                3, ("没讲复杂度",), "流程正确但缺维度和复杂度", "手推 n×n 矩阵"
            )),
            ("engineering", DimensionReview(
                2, (), "未讨论长序列成本", "补 FlashAttention 与 OOM 排查"
            )),
            ("project", DimensionReview(
                0,
                ("把示例当成了线上项目",),
                "项目证据不真实,命中硬门禁",
                "删除虚构表述并补真实贡献边界",
            )),
            ("communication", DimensionReview(
                4, ("先给出核心机制",), "结论前置", "压缩为 30 秒版本"
            )),
        ),
        gate_hits=(
            GateHit(
                "FABRICATED_PROJECT",
                ("把示例当成了线上项目",),
            ),
        ),
        error_codes=("M", "E", "P"),
    )
    print("raw total:", review.raw_total())
    print("weighted score / 25:", review.weighted_score_25())
    print("weakest dimensions:", review.weakest())
    dimension_map = dict(review.dimensions)
    for name in review.weakest():
        print(name, "next:", dimension_map[name].next_action)

weight_versionrubric_version 只引用服务端发布的不可变配置;调用方不能自行提交权重、门禁维度或分数上限。GATE_RULES 根据门禁代码派生受限维度和上限,isfinite 阻止 NaN/Infinity 权重,维度评分使用不可变元组保存,避免校验后被修改。

6.2 每题记录模板

text
题目:
我的原始回答:
30 秒版本:
Rubric/权重版本:
各维度分数:accuracy / mechanism / engineering / project / communication
各维度回答原句证据:
各维度评分理由:
错误代码与严重门禁:
并列最低评分维度:
每个最低维度的下一动作:
修复文档/实验/项目证据:
复测日期:+1 / +3 / +7 天

6.3 验证边界

  • 评分数字必须有理由和回答原句;
  • 回答原文和项目证据可能含敏感信息,只保存复盘所需最小片段,并设置脱敏、访问权限、保留期和删除能力;
  • 不同面试官评分存在差异,应关注稳定缺口而不是单次总分;
  • 代码只负责记录,不自动证明“已掌握”;
  • 真实掌握状态需要口述、实践和追问共同验证。

7. 核心题库与深挖路径

以下 16 题严格对应十六周学习计划。每题先用合格答案完成 30 秒回答,再用深挖问题检验原理、工程和项目表达。

7.1 第 1 周:AI、机器学习和深度学习是什么关系?

  • 难度:基础
  • 考察点:技术集合关系、模型层与系统层边界、数据集划分意识
  • 对应主题文档AI 学习框架与数据集划分
  • 合格答案要点
    1. AI 是让机器表现出智能能力的总目标,机器学习是让系统从数据中学习规律的方法集合,深度学习是以多层神经网络为核心的机器学习分支。
    2. LLM 是深度学习模型,RAG 是“检索 + 生成”的应用架构,Agent 是模型参与动态决策、运行时负责执行的系统模式;三者不能当作同层算法并列。
    3. 模型效果必须在未参与训练和调参的数据上评估,训练集、验证集、测试集分别服务于拟合、选择和最终报告。
  • 优秀答案加分项:能用“能力目标—学习方法—模型家族—应用架构”四层知识图说明边界,并指出时间、用户或实体相关数据不能随意随机切分。

深挖问题

  1. 判别式模型和生成式模型在学习目标上有什么差别?
  2. 为什么 RAG 不是模型训练方法?
  3. Agent 为什么不等于一次 LLM 调用?
  4. 如何防止训练集、验证集和测试集之间的数据泄漏?

参考答案

  1. 判别式模型主要学习 p(yx) 或决策边界,生成式模型学习数据分布或条件分布并可生成新样本;同一任务也可能组合两类能力。
  2. RAG 在推理时从外部知识源取证并构造上下文,通常不更新模型参数;它可以和微调组合,但两者解决的是知识供给与行为适配两个问题。
  3. Agent 至少包含“观察—决策—行动—新观察”的循环,还要有状态、工具、终止条件和权限边界;单次生成或单次工具调用都不构成完整 Agent。
  4. 先按真实上线边界选择时间、用户或实体级切分,再只用训练集拟合预处理器和模型、用验证集选方案、把测试集封存到最终评估;最后做 ID、近重复样本和时间穿越检查。
  • 常见错误:只背缩写;把 LLM、RAG、Agent 都说成模型;随机切分同一用户的近重复样本;反复查看测试集并据此调参。

7.2 第 2 周:梯度下降为什么能优化模型?

  • 难度:基础偏原理
  • 考察点:一阶近似、链式法则、学习率与优化诊断
  • 对应主题文档数学基础与梯度优化
  • 合格答案要点
    1. 在可微点附近,L(θ+Δ)L(θ)+L(θ)TΔ;取 Δ=ηL 且步长足够小时,一阶项为负,因此局部损失倾向下降。
    2. 链式法则把输出误差沿计算图传回每层参数,优化器再根据梯度和自身状态更新参数。
    3. 学习率过大会振荡或发散,过小会收敛慢或停在平坦区;非凸优化不保证找到全局最优。
  • 优秀答案加分项:能区分求梯度与用梯度、说明 Mini-batch 梯度的方差,并用训练损失、梯度范数、参数更新比和验证曲线诊断训练。

深挖问题

  1. 链式法则如何连接一个多层网络?
  2. 学习率过大和过小分别会出现什么证据?
  3. SGD 和 Adam 在状态、收敛与代价上有什么差别?
  4. 梯度为零是否说明已经找到最优解?

参考答案

  1. z=f(g(x)),则 z/x=(z/g)(g/x);多层网络就是沿计算图连续做向量—雅可比积,把同一上游梯度分配到所有参数。
  2. 过大时损失振荡、出现 NaN、梯度或更新量突增;过小时损失长时间近似不变、更新比过低。应联合学习率、梯度范数和数据批次排查,而非只看一条损失曲线。
  3. SGD 主要保存参数和可选动量,状态少、泛化常较稳但对尺度敏感;Adam 为每个参数维护一阶和二阶矩估计,前期收敛快、对尺度更鲁棒,但状态显存通常约为参数量的两倍且仍需调学习率与正则。
  4. 不一定;它可能是局部最小值、局部最大值、鞍点、饱和区或数值下溢。需要看曲率、邻域扰动、训练目标与验证表现,判断是否真正达到可接受解。
  • 常见错误:把梯度说成误差;声称负梯度一定通往全局最优;只会更换优化器,不检查数据尺度、损失实现和梯度数值。

7.3 第 3 周:分类任务为什么不能只看 Accuracy?

  • 难度:基础偏工程
  • 考察点:混淆矩阵、指标选择、阈值与业务错误代价
  • 对应主题文档传统机器学习与评测
  • 合格答案要点
    1. 类别极不平衡时,全部预测为多数类也可能获得高 Accuracy,却对关键正类零召回。
    2. 应从 FP 和 FN 的业务代价选择 Precision、Recall、F1、PR-AUC、ROC-AUC、校准误差和成本指标,而不是先选公式。
    3. 概率模型输出的是分数,阈值必须在验证集按业务约束选择;测试集只对冻结方案做独立最终评估,其泛化意义还要求样本代表目标分布、切分独立且测试集未参与选择。
  • 优秀答案加分项:能区分排序能力、概率校准与决策效果,并提出分群误差分析、线上漂移监控和人工复核区间。

深挖问题

  1. 什么业务场景应优先提高 Recall,代价是什么?
  2. 为什么稀有正类任务通常更关注 PR-AUC 而不是 ROC-AUC?
  3. 分类阈值应该如何选择和上线?
  4. 离线指标提高但线上效果下降,应按什么顺序排查?

参考答案

  1. 漏诊、欺诈初筛或高价值线索召回等 FN 代价高的场景应优先 Recall;代价是 FP 增多,因此常配合二级模型、人工审核或成本上限控制 Precision。
  2. ROC-AUC 的 FPR 分母包含大量负类,正类稀少时即使产生很多 FP,FPR 仍可能看起来很低;PR 曲线直接呈现正类召回与预测正例纯度,更贴近稀有事件的决策压力。
  3. 先在验证集上画阈值—指标—成本曲线,按召回下限、审核容量或期望成本选阈值;上线后监控分数分布、校准和业务结果,阈值与模型版本一起灰度和回滚。
  4. 先核对指标口径与数据泄漏,再检查训练—线上特征一致性、标签延迟、样本分布和阈值,最后分析下游流程是否吞掉收益;不要先归因于模型能力。
  • 常见错误:只罗列指标公式;把 AUC 当作固定阈值下的业务效果;在测试集上调阈值;忽略不同错误的真实成本。

7.4 第 4 周:反向传播本质是什么?

  • 难度:中等
  • 考察点:计算图、反向模式自动微分、梯度流与训练稳定性
  • 对应主题文档神经网络训练与反向传播
  • 合格答案要点
    1. 反向传播是在计算图上按逆拓扑顺序应用链式法则,高效计算一个标量损失对大量参数的梯度。
    2. 前向传播产生激活并构建依赖,反向传播求梯度,优化器使用梯度更新参数;三者职责不同。
    3. 深层网络中雅可比连乘可能导致梯度消失或爆炸,可用匹配激活的初始化、残差连接、归一化和梯度裁剪改善。
  • 优秀答案加分项:能写出两层网络的张量形状和局部梯度,解释反向模式为何适合“一个损失、很多参数”,并给出梯度钩子与异常检测方案。

深挖问题

  1. 为什么反向传播需要保留部分前向中间值?
  2. 反向模式自动微分为何适合神经网络训练?
  3. zero_graddetach 和训练/推理模式分别解决什么问题?
  4. 训练出现 NaN 时如何建立最小证据链?

参考答案

  1. 局部导数通常依赖输入或输出,例如 ReLU 掩码和线性层输入;缓存可避免反向时重算。激活检查点以重算换显存,是这一权衡的工程化形式。
  2. 训练从一个标量损失反推数百万参数;反向模式一次逆向遍历即可复用上游梯度,代价大致与前向同阶,而逐参数前向求导会非常昂贵。
  3. zero_grad 清除框架默认累加的梯度,detach 切断指定张量的求导路径;训练模式启用 Dropout、更新 BatchNorm 统计,推理模式关闭这些训练行为,但是否记录梯度还需独立控制。
  4. 固定随机种子和最小批次,先查输入、标签和损失首个非有限值,再逐层记录激活、梯度范数和参数更新,定位首个异常算子;随后检查学习率、混合精度、归一化和除零/对数边界。
  • 常见错误:把反向传播等同于梯度下降;只说“梯度爆炸就裁剪”而不定位源头;混淆 eval() 与关闭自动求导。

7.5 第 5 周:Token、Embedding 和上下文长度是什么关系?

  • 难度:中等
  • 考察点:分词、向量查表、张量形状、成本与版本边界
  • 对应主题文档Token 与 Embedding
  • 合格答案要点
    1. Tokenizer 按规范化、预切分、子词模型、词表、特殊 Token 和采样配置编码 Token ID;固定完整配置且关闭采样时,生产编码通常确定,但显式启用 Unigram Subword Sampling 或 BPE Dropout 时同一文本可得到不同切分。Embedding 再用矩阵 ER|V|×d 将每个 ID 查表为 d 维连续向量。
    2. 输入形状通常从 [batch, seq] 变为 [batch, seq, hidden];Embedding 表达语义特征,但不等于可验证事实库。
    3. 上下文窗口按 Token 数计量,分词粒度会影响可容纳信息、序列长度、延迟和费用;Tokenizer、词表与模型权重必须版本匹配。
  • 优秀答案加分项:能说明词表大小与序列长度、Embedding 参数量、跨语言效率之间的权衡,并把 Token 预算加入 RAG 上下文构造和在线成本监控。

深挖问题

  1. 子词分词为什么能缓解未登录词问题?
  2. Embedding 查表与 one-hot 乘矩阵是什么关系?
  3. Padding、Attention Mask 和池化不匹配会造成什么问题?
  4. 升级 Tokenizer 时为什么不能只替换分词文件?

参考答案

  1. BPE、WordPiece 或 Unigram 用可组合的子词单元复用已知片段,因而能降低整词 OOV;但能否覆盖任意字符取决于词表、字符覆盖率、UNK 和是否启用 byte fallback,并非算法无条件保证。训练增强可开启随机子词切分,生产推理通常关闭采样并固定完整配置。
  2. ID 对应的 one-hot 向量左乘 Embedding 矩阵,结果就是选中该行;实现用索引查表避免构造巨大稀疏 one-hot,数学含义相同但计算更高效。
  3. 若 Pad Token 未被 Mask,注意力和平均池化会把填充值当有效内容,导致长度相关偏差;必须统一 Pad ID、Mask 语义和池化分母,并覆盖全 Padding 等边界。
  4. Token ID 的含义由词表顺序决定,替换 Tokenizer 会让同一 ID 指向不同子词,与旧 Embedding 权重错位;还会改变长度、截断和缓存键,因此需模型、Tokenizer、索引和评测集联动迁移。
  • 常见错误:把 Token 等同于汉字或单词;认为词表越大一定越好;假设所有 Tokenizer 都原生 byte fallback 或永远确定;把相似向量当成事实证明;忽略 Tokenizer 配置对缓存和索引的影响。

7.6 第 6 周:Self-Attention 如何工作,为什么是平方复杂度?

  • 难度:中等偏难
  • 考察点:Q/K/V 张量、Mask、复杂度与长上下文优化
  • 对应主题文档Attention 与 Transformer
  • 合格答案要点
    1. 输入 X 线性投影为 Q、K、V,用 A=softmax(QKT/dh) 计算每个 Query 对 Key 的权重,再由 AV 聚合信息。
    2. 多头把特征分到多个子空间,Causal Mask 阻止看未来,Padding Mask 屏蔽填充;softmax 通常沿 Key 维。
    3. 长度为 n 时,每个 Query 要与 n 个 Key 交互,注意力分数为 n×n,时间和朴素中间显存的主项均随 n2 增长。
  • 优秀答案加分项:能逐步写出 [B,H,N,Dh][B,H,N,N] 的形状,区分 FlashAttention 的精确 IO 优化与稀疏/近似注意力的算法变化。

深挖问题

  1. 为什么点积要除以 dh
  2. Causal Mask 和 Padding Mask 在语义与形状广播上有何区别?
  3. 全 Mask 行为什么容易产生 NaN,如何处理?
  4. FlashAttention 是否把注意力的理论复杂度变成线性?

参考答案

  1. 若 Q、K 各维近似零均值单位方差,点积方差约为 dh;不缩放会让 logits 随维度变大,softmax 饱和、梯度变小,除以 dh 可稳定尺度。
  2. Causal Mask 由相对位置生成,屏蔽未来 Key;Padding Mask 来自每个样本真实长度,屏蔽无效 Key。实现时二者通常广播到 [B,H,Nq,Nk] 后合并,且布尔/加性 Mask 约定必须一致。
  3. 一行全部被替换为负无穷时,softmax 归一化会出现未定义的 0/0。必须在归一化前识别空行:拒绝该样本、保证至少一个合法 Key,或使用对空分母有明确定义的稳定 Masked Softmax 分支;不能先产生 NaN 再在 softmax 后清零。测试要同时断言前向输出和反向梯度有限。
  4. 不会;精确全注意力的算术量仍是平方级。FlashAttention 通过分块、在线 softmax 和重算减少 HBM 读写与中间矩阵存储,因此实际速度和显存显著改善。
  • 常见错误:只背公式却说不清维度和 softmax 方向;认为多头会消除平方复杂度;把 FlashAttention 说成近似注意力或线性复杂度。

7.7 第 7 周:预训练、SFT、LoRA、RLHF 和 DPO 的关系是什么?

  • 难度:中等偏难
  • 考察点:训练阶段、参数高效微调、偏好对齐与技术选型
  • 对应主题文档LLM 预训练、微调与对齐
  • 合格答案要点
    1. 预训练通过下一个 Token 预测等目标学习通用分布;SFT 用指令—回答示范塑造任务行为,并通常只对回答 Token 计算损失。
    2. LoRA 是把权重增量限制为低秩矩阵的参数高效训练方式,可用于 SFT 或偏好训练,它不是独立的业务目标。
    3. RLHF 通常包含偏好数据、奖励模型和策略优化;DPO 直接利用偏好对与参考策略优化相对偏好,省去显式奖励模型和在线 RL 环节。
  • 优秀答案加分项:能从知识时效、行为格式、数据量、显存、遗忘风险和评测成本判断 RAG、SFT、LoRA、DPO 的组合,而不是按流行度选型。

深挖问题

  1. 什么时候应优先使用 RAG,而不是微调?
  2. LoRA 为什么采用低秩更新,参数量如何估算?
  3. RLHF 中的奖励模型会引入哪些偏差?
  4. DPO 相对典型 RLHF 简化了什么,又保留了什么依赖?

参考答案

  1. 事实频繁变化、需要引用和权限过滤时优先 RAG;输出风格、格式、领域行为稳定且可提供高质量示范时考虑微调。两者可组合:RAG 提供事实,微调改善遵循与表达。
  2. 经验上有用的任务增量常集中在较低维子空间,故令 ΔW=BA,只训练秩 r 的两个小矩阵;原矩阵为 dout×din 时,新增参数约为 r(din+dout)
  3. 标注者偏好、位置偏差、长度偏好、领域覆盖不足和分布外输入都会让奖励失真;策略还可能钻奖励漏洞,因此需保留独立评测、KL 约束和人工审查。
  4. DPO 把奖励建模和带 KL 约束的策略优化转成偏好对上的分类式目标,避免单独训练奖励模型和 PPO 采样循环;但仍依赖高质量偏好对、参考模型、温度超参和覆盖充分的评测。
  • 常见错误:把 LoRA、RLHF、DPO 当作同层互斥方案;用微调灌入高频更新事实;只算可训练参数,不算优化器、激活和基座权重显存。

7.8 第 8 周:KV Cache 优化了什么,代价是什么?

  • 难度:中等偏难
  • 考察点:Prefill/Decode、缓存形状、显存估算与服务调度
  • 对应主题文档LLM 推理与服务优化
  • 合格答案要点
    1. 自回归解码时历史 Token 在每层产生的 K/V 不再变化,缓存后新一步只计算新 Token 的投影,并读取历史 K/V 做注意力。
    2. 它避免重复计算历史投影和前缀网络,降低单 Token 解码延迟,但新 Query 仍要访问所有历史 Key/Value,不能把注意力变成常数复杂度。
    3. KV 显存近似为 2×L×B×Hkv×T×Dh×s 字节,随层数、批量、KV 头数和序列长度线性增长;生产系统还要解决碎片、抢占和调度。
  • 优秀答案加分项:能把 TTFT、ITL、吞吐和显存区分开,说明 MQA/GQA、Paged KV Cache、量化与 Continuous Batching 各自优化的瓶颈。

深挖问题

  1. Prefill 和 Decode 的计算特征为什么不同?
  2. MHA、GQA 和 MQA 对 KV Cache 有什么影响?
  3. Paged KV Cache 解决的是计算问题还是内存管理问题?
  4. 服务出现 KV Cache OOM 时应如何排查和降级?

参考答案

  1. Prefill 可并行处理整段 Prompt,矩阵乘法规模大、算力利用率高,主要影响 TTFT;Decode 每步通常只处理一个新 Token,频繁读历史 KV,常受内存带宽和调度影响,决定 ITL。
  2. MHA 每个 Query 头有独立 K/V 头;GQA 让一组 Query 头共享 K/V;MQA 让所有 Query 头共享一组 K/V。后两者按 Hkv 降低缓存和带宽,但可能带来一定质量权衡。
  3. 它主要把不同长度、动态增长的 KV 块分页管理,减少预留浪费和外部碎片,并支持共享、换入换出和更灵活调度;它不改变精确注意力的数学结果。
  4. 先用模型层数、KV 头、精度、批量和上下文核算理论占用,再看实际碎片与并发;可限制上下文/输出、降低并发、用 GQA/量化、分页或抢占,并通过排队和小模型降级保护服务。
  • 常见错误:声称 KV Cache 让每步复杂度变成 O(1);把 Prefill 和 Decode 混为一谈;只优化模型权重显存,忽略长上下文 KV 占用。

7.9 第 9 周:结构化输出和 Function Calling 解决什么问题?

  • 难度:中等
  • 考察点:输出约束、工具协议、业务校验与副作用安全
  • 对应主题文档Prompt 与结构化输出
  • 合格答案要点
    1. Prompt 主要影响模型行为,结构化输出用 Schema 约束返回形状,Function Calling 让模型表达“调用哪个工具及参数”;后两者降低自由文本解析的不确定性。
    2. Schema 合法只证明类型和结构符合约束,不证明事实、资源归属、库存、金额或权限正确。
    3. 工具执行必须经过服务端反序列化、业务规则、鉴权、幂等和风险确认;模型输出始终视为不可信输入。
  • 优秀答案加分项:能设计“生成—Schema 校验—业务校验—人工确认—幂等执行—结果回填”闭环,并处理拒答、截断、工具失败和多轮修复。

深挖问题

  1. JSON Mode 和严格 Schema 输出有什么本质区别?
  2. 为什么结构合法仍可能业务错误?
  3. 模型返回拒答、截断或不完整结果时应如何处理?
  4. 高风险工具如何防止重复执行和越权?

参考答案

  1. JSON Mode 主要保证输出可解析为 JSON,不保证字段、枚举和必填关系满足业务 Schema;严格结构化输出会约束受支持的 Schema 子集,但应用仍需校验语义和平台返回状态。
  2. Schema 不知道当前用户能访问哪些资源、ID 是否存在、金额是否超限或数据是否过期;这些依赖实时业务状态,必须由服务端查询和规则引擎判断。
  3. 先依据 API 的完成状态和拒答字段分流,截断可在安全边界内续写或缩小任务,Schema 失败可把明确校验错误回馈模型有限次修复;超过预算则降级或人工处理,不能把半成品当成功。
  4. 服务端按可信身份做对象级鉴权,展示规范化动作并让批准绑定 call_id 和完整参数指纹;执行前持久化业务意图,优先向外部供应商传原生幂等 Token。超时或响应丢失时进入结果未知/对账状态,先按 Client Key 或任务 ID 查询,不能仅靠本地唯一键盲目重提。
  • 常见错误:认为合法 JSON 就等于可信结果;让模型生成并决定资源 ID;只在 Prompt 中做权限控制;工具超时后无条件重试。

7.10 第 10 周:完整 RAG 链路是什么?

  • 难度:中等
  • 考察点:离线索引、在线检索、引用与端到端版本治理
  • 对应主题文档RAG 基础链路
  • 合格答案要点
    1. 离线链路包括采集、解析、清洗、切块、元数据与权限标注、Embedding、索引构建和版本发布。
    2. 在线链路包括查询规范化、权限过滤、候选召回、重排、上下文构造、生成、引用校验和 Trace。
    3. RAG 的目标是让可变知识可更新、可引用、可控访问;评测必须拆分语料、检索、上下文和生成,不能只看最终 Demo。
  • 优秀答案加分项:能设计文档—Chunk 可追溯 ID、蓝绿索引、删除传播、租户隔离和“检索为空/证据不足”的拒答路径。

深挖问题

  1. Chunk 太大和太小分别有什么后果?
  2. Top-k 为什么不是越大越好?
  3. 多租户权限过滤应放在哪一层?
  4. 如何发布和回滚一次索引升级?

参考答案

  1. 太小会丢失上下文和实体关系、增加索引条目;太大则语义混杂、命中不精确并挤占上下文。应按文档结构先切,再用带黄金证据的评测集联合调大小、重叠和邻接扩展。
  2. 增大 k 可提高候选覆盖,却会增加延迟、重排成本和上下文噪声,甚至让模型忽略关键证据;应分别调召回 k、重排 k 和最终注入数量。
  3. 权限约束应在进入候选集前由可信服务端强制执行,并在缓存、索引命名空间和返回阶段纵深校验;先召回越权内容再让模型忽略,既有泄露风险也污染排序。
  4. 将解析器、切块、Embedding、语料快照和索引记录为不可变版本,离线构建并跑回归集;通过别名或路由灰度切换,监控质量和延迟,异常时原子切回旧版本,并保留删除与权限变更日志。
  • 常见错误:把 RAG 简化成“Embedding 后放向量库”;没有文档版本和权限字段;把所有候选直接塞进 Prompt;答案带编号却无法回溯原文。

7.11 第 11 周:没有召回和召回错误如何区分?

  • 难度:中等偏难
  • 考察点:候选覆盖、排序质量、混合检索与定位顺序
  • 对应主题文档RAG 检索优化
  • 合格答案要点
    1. “没有召回”是相关文档未进入候选集,优先查语料覆盖、解析切块、索引、权限过滤、Query 表达和 ANN 参数。
    2. “召回错误”是候选存在但相关文档排名低或被噪声挤出,优先查稀疏/稠密表示、融合、重排和业务特征。
    3. 必须保存各阶段候选、分数、过滤原因和版本,才能判断问题发生在召回、融合、重排还是上下文选择。
  • 优秀答案加分项:能用固定 Query 集做分层消融,比较 exact search 与 ANN、BM25 与 dense、融合前后和重排前后的 Recall/MRR/延迟。

深挖问题

  1. 如何用证据区分语料缺失、过滤过严和 ANN 漏召回?
  2. BM25 与向量检索为什么互补?
  3. RRF 为什么常用于混合检索,它不解决什么?
  4. Reranker 什么时候会成为质量或性能瓶颈?

参考答案

  1. 先通过文档 ID 验证黄金内容是否入库且可解析,再绕过权限过滤做受控对照,最后以同一向量比较 exact top-k 和 ANN top-k;三步分别定位覆盖、过滤和近似索引问题。
  2. BM25 擅长专有名词、编号和精确词匹配,dense 检索擅长同义改写和语义相似;融合可覆盖两类查询,但仍需统一权限和后续重排。
  3. RRF 按不同排序器的名次做稳健融合,不要求原始分数同尺度;它不能修复所有排序器都漏掉相关文档,也不理解业务语义,最终仍可能需要 reranker。
  4. 候选数、文档长度和并发过高会放大交叉编码器成本;领域不匹配还可能重排变差。应做候选截断、批处理、轻重模型级联和质量—延迟消融,必要时回退融合排名。
  • 常见错误:答案错就直接更换 Embedding 模型;不记录过滤原因;把“返回了若干文档”误认为召回正确;只看最终生成文本定位检索问题。

7.12 第 12 周:如何评测和排查 RAG?

  • 难度:高级
  • 考察点:分层评测、不可回答样本、线上 Trace 与防回归
  • 对应主题文档RAG 评测与生产工程
  • 合格答案要点
    1. 建立包含 Query、相关文档/证据片段、参考答案、租户与不可回答标签的版本化评测集,并覆盖头部、长尾和故障样本。
    2. 检索看 Recall@k、MRR、nDCG 和延迟;生成分别看正确性、Groundedness、引用支持率、完整性和拒答,避免用单一总分掩盖失败层。
    3. 线上 Trace 串联语料/索引、Embedding、检索候选、过滤、Prompt、模型、缓存和输出版本,事故样本进入离线回归集。
  • 优秀答案加分项:能说明指标不变量和 Judge 偏差,设计人工校准、分层采样、Shadow/Canary 发布,以及解析失败、权限泄漏和删除未传播等生产测试。

深挖问题

  1. Correctness 和 Groundedness 为什么必须分开评估?
  2. 不可回答问题如何评测,为什么它是安全指标?
  3. LLM-as-a-Judge 有哪些偏差,如何控制?
  4. 检索命中正确证据但答案错误,如何继续定位?

参考答案

  1. 答案可能符合常识但没有被当前证据支持,也可能忠实复述错误或过期证据;前者是事实正确性,后者是证据约束,两者拆开才能决定修检索、语料还是生成。
  2. 为缺乏充分证据的问题标注不可回答,统计正确拒答、误答和过度拒答,并验证是否泄露其他租户内容;这衡量系统在证据不足时能否控制幻觉和越权风险。
  3. Judge 会受位置、长度、措辞、自偏好和领域盲区影响。应固定 Rubric 和版本、随机化候选顺序、用多样人工样本校准一致性,并把 Judge 分数视为证据之一而非真值。
  4. 先检查上下文构造是否截断或打乱证据,再核对 Prompt 指令、引用映射、模型完成状态和缓存键;随后用固定上下文重放不同 Prompt/模型,区分编排、生成和缓存问题。
  • 常见错误:只比较答案与参考答案的文本相似度;把正确性和忠实度合成一个模糊分;只测可回答问题;线上日志无法还原索引和 Prompt 版本。

7.13 第 13 周:Agent 与 Workflow 的边界是什么?

  • 难度:中等
  • 考察点:动态决策、Agent Loop、状态/记忆与终止条件
  • 对应主题文档Agent 核心机制
  • 合格答案要点
    1. Workflow 的路径和分支由代码预定义,Agent 允许模型根据目标和中间观察动态选择下一动作;Tool Calling 只是动作协议,不自动构成 Agent。
    2. Agent Loop 包含观察、决策、工具执行、结果回填和终止判断,运行时必须持有状态并验证工具参数。
    3. 开放探索、步骤难预定义时适合 Agent;固定、可审计、高风险流程应优先 Workflow,必要时只在受控节点引入模型决策。
  • 优秀答案加分项:能结合 AI 面试教练说明“状态机守流程、Agent 选追问”的混合设计,并从收益、失败半径、成本和可评测性论证边界。

深挖问题

  1. 状态、上下文和记忆有什么区别?
  2. Agent Loop 应设置哪些终止条件?
  3. Manager 与 Handoff 两种多 Agent 组织方式如何选择?
  4. 哪些场景明确不该使用 Agent?

参考答案

  1. 状态是流程推进所需的结构化事实,上下文是本次模型调用可见的有限输入,记忆是跨轮或跨会话保存并按策略检索的信息;记忆进入上下文前仍需权限、时效和可信度过滤。
  2. 至少包括目标完成、用户取消、最大步数、时间/Token/金额预算、重复动作检测、无进展阈值和不可恢复错误;终止由确定性运行时裁决,不能只靠模型自觉。
  3. Manager 保持中心编排和统一上下文,适合强控制与汇总;Handoff 把控制权交给专家,适合职责清晰、长流程协作。二者都增加延迟、上下文同步和调试成本,不应为“多 Agent”而多 Agent。
  4. 路径固定、规则可编码、强事务一致性或高风险副作用场景不应让 Agent 自由规划,例如付款、权限变更和合规审批;用状态机/Workflow 更可测试和审计。
  • 常见错误:把“用了工具”或“调用多次模型”当成 Agent;没有显式状态与终止条件;用多 Agent 增加复杂度却没有可量化收益。

7.14 第 14 周:如何让 Agent 可靠且安全?

  • 难度:高级
  • 考察点:失败语义、幂等与补偿、权限、人审、可恢复与可观测
  • 对应主题文档Agent 工程化与安全
  • 合格答案要点
    1. 模型负责提出受限动作,确定性运行时负责 Schema、业务校验、鉴权、预算、状态机、执行与审计;Prompt Guardrail 不能替代权限系统。
    2. 副作用工具要在执行前持久化业务意图,使用本地唯一约束并优先传递供应商原生幂等 Token;超时或响应丢失进入结果未知/对账状态,不能直接重提。人工批准必须绑定 call_id、身份和完整动作指纹。
    3. Agent 状态需持久化到可恢复检查点,并记录每一步输入摘要、工具结果、耗时、成本、版本和终止原因,同时对敏感字段脱敏。
  • 优秀答案加分项:能对可重试、不可重试、结果未知和业务拒绝四类失败给出不同策略,并覆盖 Prompt Injection、记忆污染和越权工具组合。

深挖问题

  1. 工具调用超时后为什么不能直接重试?
  2. 如何同时控制死循环和“不同动作但没有进展”的循环?
  3. Prompt Injection 与越权有什么区别,防线分别在哪里?
  4. 如何从检查点安全恢复一个中断的 Agent?

参考答案

  1. 超时只说明调用方没收到结果,不代表供应商未执行;内部唯一键只能约束本地,覆盖不了“供应商已受理、任务 ID 尚未落库”的窗口。应优先传原生幂等 Token,结果不明进入 SUBMISSION_UNKNOWN/RECONCILING,按 Client Key 或任务列表对账;供应商既不支持去重也不支持查询时只能人工补偿,不能承诺 exactly-once。
  2. 除最大步数和预算外,还要对规范化动作签名去重,定义可观测的进展指标,对连续无进展、往返状态和同类错误设阈值;运行时触发降级或人工接管。
  3. Prompt Injection 是不可信内容诱导模型偏离指令,越权是执行层允许调用者做无权动作。前者靠内容隔离、指令/数据分层和工具白名单降低影响,后者必须靠服务端身份鉴权和最小权限阻断。
  4. 检查点保存状态版本、已完成步骤、待执行动作和幂等键;恢复时先校验代码/Prompt/工具版本及外部副作用状态,再通过乐观锁取得执行权,从安全边界续跑而非重放全部历史。
  • 常见错误:只在 Prompt 写“不要做危险操作”;所有异常都统一重试;批准只绑定自然语言描述;Trace 记录完整隐私数据或无法定位具体步骤。

7.15 第 15 周:如何设计生产级 AI 应用?

  • 难度:高级
  • 考察点:需求澄清、容量与 SLO、分层架构、质量闭环和降级
  • 对应主题文档AI 应用系统设计AI 面试教练项目AI 视频生产工作流项目
  • 合格答案要点
    1. 先明确用户任务、质量标准、峰值请求、输入/输出 Token、延迟、可用性、成本、安全和数据保留,再决定模型与框架。
    2. 将接入、业务编排、模型网关、RAG/Agent、状态与队列、缓存、评测和观测分层;长耗时 AI 视频等任务采用可恢复异步 Workflow,不占用同步 HTTP 生命周期。
    3. 每个外部依赖都要有超时、限流、熔断、降级和版本回滚;Prompt、模型、语料、索引、工具与评测集共同版本化。
  • 优秀答案加分项:能做 Token/QPS/并发与 GPU 或 API 配额估算,提出权限感知缓存、Shadow/Canary 质量门禁,并把 AI 面试教练和镜头级视频生产的不同 SLO 讲清。

深挖问题

  1. 如何估算 LLM 服务的基础容量?
  2. 模型网关的价值是什么,何时会变成单点?
  3. 语义缓存为什么必须感知权限和版本?
  4. AI 视频生产为什么要按镜头拆成持久化工作流?

参考答案

  1. 从峰值 QPS、输入/输出 Token 分布和端到端 SLO 推导每秒 Prefill/Decode Token,再结合模型实测吞吐、并发效率和安全余量估算副本或配额;必须用目标硬件和真实长度压测校准。
  2. 网关统一鉴权、路由、配额、重试、成本、审计和模型降级,隔离上层业务与供应商差异;若无多副本、超时隔离和旁路降级,它本身会成为单点和排队瓶颈。
  3. 相同语义在不同租户、同角色但不同用户组/项目/文档 ACL,以及不同语料、Prompt、模型版本下都可能有不同合法答案;检索/上下文缓存要绑定完整 entitlement fingerprint 与 policy version,命中后仍重新授权文档,撤权和删除事件主动失效。最终答案还要绑定会话或独立查询状态,否则会造成陈旧回答或跨权限泄露。
  4. 视频生成耗时长、成本高且单个镜头易失败;镜头级任务配合状态机、幂等键和中间产物,可并行、局部重试、断点续跑和精确核算成本,最后由统一时间线合成与质检。
  • 常见错误:从模型名和框架开始回答;没有规模假设和 SLO;对所有失败统一重试;语义缓存不隔离租户;把长任务放进同步请求。

7.16 第 16 周:讲一次最有价值的项目故障

  • 难度:高级项目题
  • 考察点:证据链、根因分析、个人贡献、验证与机制化防回归
  • 对应主题文档AI 视频生产工作流项目AI 面试教练项目
  • 合格答案要点
    1. 按“现象与影响—时间线—证据与假设—根因—止血与修复—验证—防回归”回答,给出日志字段、状态、版本、接口或指标等具体句柄。
    2. 区分触发条件、直接原因和系统性根因;说明自己负责的定位与修改,不把团队结果包装成个人贡献,也不虚构指标。
    3. 修复验证同时覆盖故障样本、正常回归、失败注入和上线观测,并把事故转成测试、告警、Schema、Runbook 或架构约束。
  • 优秀答案加分项:能以 AI 视频“超时重试导致重复生成/扣费”或面试教练“检索正确但评分失真”为示例假设,讲清跨层定位和为何选择最小可逆修复。

深挖问题

  1. 触发条件、直接原因和根因如何区分?
  2. 为什么原有监控没有提前发现问题?
  3. 如何证明修复有效且没有引入新回归?
  4. 事故后如何把个人经验升级为系统能力?

参考答案

  1. 触发条件让缺陷暴露,例如供应商响应变慢;直接原因造成当次故障,例如超时后重复提交;根因是未在调用前持久化业务意图、未使用供应商原生幂等 Token,也没有 SUBMISSION_UNKNOWN/RECONCILING 和查询对账。若供应商不支持去重/查询,必须承认至少一次语义并人工补偿,不能用内部唯一键宣称 exactly-once。
  2. 常见原因是只监控 HTTP 错误率,没有业务唯一键、步骤状态、重复扣费或质量指标;应回放时间线,指出缺失的信号、阈值和关联维度,再补可行动告警而非笼统“加强监控”。
  3. 用原始故障输入稳定复现,增加单元/集成测试和故障注入,验证幂等、超时、补偿及正常链路;灰度上线后比较错误率、重复执行数、延迟和成本,并保留一键回滚。
  4. 将根因对应到强制机制:幂等键和唯一约束、状态机与检查点、结构化 Trace、回归样本、告警和 Runbook;同时明确负责人、验证周期和类似链路扫描范围。
  • 常见错误:只说“查日志后修好了”;把相关性当根因;没有个人负责边界和验证证据;用未经测量的收益数字包装事故复盘。

8. 常见失分模式与修复

失分现象深层原因修复动作复测证据
开头绕两分钟没有核心结论每题先写一句话答案30 秒录音
只背定义缺机制模型画数据流、写公式和最小代码不看文档重画
堆技术名词没有因果和取舍每个选型回答“为什么、代价、替代”对比表口述
项目像教程没有真实贡献和证据补文件、接口、指标、故障和验证项目证据清单
只讲成功缺生产经验准备两个失败场景和排查链故障复盘口述
被追问就改口边界不稳或在猜先承认不确定,再给验证方法不确定性表达练习
回答过长不会按层次控制30 秒、3 分钟、深挖三版定时录音
虚构数字用数字装饰项目只用实测;否则明确假设证据来源核对

9. 三轮模拟面试方案

9.1 第一轮:基础与模型机制

建议 45 分钟:

  1. AI/ML/DL 边界;
  2. 数据集划分与泄漏;
  3. 指标和类别不平衡;
  4. 反向传播;
  5. Attention 张量维度;
  6. 训练、对齐与推理;
  7. 追问一个最小代码实现。

验收:准确性和原理深度优先,不能只背结论。

9.2 第二轮:RAG 与 Agent 工程

建议 60 分钟:

  1. 从文档到答案的完整 RAG 链路;
  2. 零召回、错召回和生成幻觉的分层排查;
  3. 评测集、指标和线上回归;
  4. Agent/Workflow/Tool Calling 边界;
  5. 幂等、超时、人工确认和提示注入;
  6. 设计一次故障注入和验证。

验收:工程意识、故障诊断和证据优先。

9.3 第三轮:项目与系统设计

建议 60 分钟:

  1. 三分钟介绍 AI 面试教练或 AI 视频项目;
  2. 深挖一个关键技术决策;
  3. 深挖一次失败与修复;
  4. 估算十倍并发下的瓶颈;
  5. 设计质量、成本、安全和降级;
  6. 复盘如果重新设计会改变什么。

验收:项目证据、权衡、系统边界和表达结构优先。

9.4 复盘报告模板

text
日期 / 目标岗位 / 轮次:
总分与五维分数:
表现最好的三个问题:
最危险的三个错误:
反复出现的缺口:
需要更新的知识文档:
需要完成的代码或实验:
需要补充的项目证据:
下一次复测题目与日期:

10. 递进追问

  1. 为什么“题库背得更多”不一定提升高级面试表现?
  2. 如何区分事实不会、机制不懂和表达不清?
  3. 同一题不同面试官评分不同,怎样提取稳定改进信号?
  4. 如何验证一个项目指标是自己的实测,而不是团队或假设数据?
  5. 面试时间只有一周,如何根据岗位和低分维度取舍?
  6. 如果三轮模拟分数提高但真实面试仍失败,应该检查哪些偏差?

11. 实践任务

  • [ ] 为 16 道核心题分别录制 30 秒答案;
  • [ ] 选择 8 道题录制 3 分钟展开;
  • [ ] 完成三轮模拟面试并保留原始回答;
  • [ ] 每轮至少生成一个文档修复、一个实验和一个项目证据任务;
  • [ ] 在第 1、3、7 天复测最低分题目;
  • [ ] 只有通过口述、实践和追问后才更新 learning_status

12. 相关知识与参考资料

12.1 核心关联

12.2 使用说明与一手资料

本题库的知识答案只提供复述骨架,每题直接链接的主题文档是深入原理和完整来源的单一事实源。复习时先作答,再查文档;不要先看答案要点制造“会了”的错觉。

以下一手资料于 2026-07-10 核对,用于覆盖题库的核心技术主线;各主题的完整论文、官方文档与版本说明见对应主题文档:

  1. Vaswani et al., Attention Is All You Need
  2. Lewis et al., Retrieval-Augmented Generation for Knowledge-Intensive NLP Tasks
  3. Yao et al., ReAct: Synergizing Reasoning and Acting in Language Models
  4. OpenAI, Agents SDK — Running agents
  5. Google, Site Reliability Engineering — Service Level Objectives

13. 简明总结

一句话记忆: 面试冲刺不是继续看答案,而是把每个缺口变成文档、实验、项目证据和下一次复测。

  • 每题准备 30 秒结论、3 分钟展开和连续追问三层深度;
  • 用准确性、原理、工程、项目和表达五维评分定位问题;
  • 16 道核心题覆盖学习计划,但深入内容回到对应主题文档;
  • 三轮模拟分别验证模型基础、RAG/Agent 和项目系统设计;
  • 只有能脱稿、能实践、能追问、能复测,才算真正掌握。