Skip to content

金融科技算法工程师线上笔试复盘 ​

面试官提问清单 ​

单选题(现有材料中可完整复核的题目) ​

  1. 第 6 题:强化学习中的奖励函数是否必须为正数?
  2. 第 10 题:基本有序序列最适合使用哪种排序算法?
  3. 第 11 题:大模型问答接口如何让用户更早看到已生成内容?
  4. 第 12 题:如何结合交叉验证的样本外预测概率定位疑似错误标签?
  5. 第 16 题:Python 的 *args 与 **kwargs 哪项描述错误?
  6. 第 23 题:结构化剪枝通常以什么结构为裁剪对象?
  7. 第 25 题:如何在大规模文本语料中高效识别近重复文本?
  8. 第 26 题:GQA 的 Query 头与 Key/Value 头如何分组?
  9. 第 28 题:不对点积注意力做缩放是否一定导致 Softmax 梯度消失?
  10. 第 55 题:DeepSpeed ZeRO-3 对哪些模型状态做分片?
  11. 第 56 题:RoPE 的旋转角度主要受什么因素控制?
  12. 第 57 题:DAPO 动态采样如何处理组内奖励没有方差的样本?
  13. 第 60 题:GPT 预训练采用什么目标?
  14. 第 64 题:IPO 与独立奖励回归相比,核心差异是什么?
  15. 第 66 题:从 1 至 8 中选 3 个号码,最大号码为 6 的概率是多少?

多选题 ​

  1. 哪些统计量可以描述数据的集中趋势?
  2. Prefill/Decode 分离推理中,KV Cache 应如何保存和传输?
  3. 自回归语言模型有哪些优势?
  4. 关于 BFS、DFS 和连通分量的哪些说法正确?
  5. 关于训练后量化(PTQ)的哪些说法正确?
  6. 如何通过 Prompt 改善银行报告的指标遗漏和结构混乱?
  7. 正态分布的 1σ、2σ、3σ 区间各覆盖多少数据?
  8. 哪些数据结构支持较快的插入和删除?
  9. 多说话人、含噪且带时间戳的语音数据应如何预处理?
  10. 多头注意力相比单头注意力有哪些优势?
  11. 哪些因素会影响 GQA 模型的性能或效率?
  12. 哪些技术可以加速大模型推理?
  13. Python 的基本数据类型包括哪些?
  14. RLHF 的关键步骤包括哪些?
  15. Python 字符串可以使用哪些引号形式表示?
  16. 哪些方法可以增强深度学习模型的可解释性?
  17. 如何通过 Prompt 让回答聚焦问题并减少无关内容?

判定范围与结论 ​

统一复核口径:本页现在以题干、选项含义和可复用知识为中心;录屏中的临时勾选只作为证据附注,不作为知识结论。原视频当前不在工作区,下面对无法从关键帧恢复的选项明确标注,不凭空补写。

现有可复核材料没有展示官方答案或最终得分,并且只完整覆盖了 66 道单选题中的 15 道;17 道多选题均可复核。因此,下面的“建议答案”是依据题干、基础定义和原始论文得到的高把握判断,不等同于官方答案。

可见范围内的结论是:

  • 单选题:复核 15 题,明确错误 5 题,其余 10 题的最终选项正确。
  • 多选题:明确存在漏选 11 题;高把握完整正确 3 题;另有 3 题受题干范围或题库口径影响,需对照官方答案。
  • 合计:32 道可见题中,至少 16 道没有拿到满分。
  • 无法据此还原整场笔试分数:其余 51 道单选题不可见,多选题又采用“错选不得分、少选得一半分”的规则。

第 10 题最终由归并排序改为直接插入排序,第 16 题最终由 C 改为 B;两题均以最后提交的选项判定为正确,不把操作过程中的临时选择计为错题。

题目与选项复核清单 ​

以下清单把现有材料中的 15 道单选和 17 道多选重新按“题干目标 → 选项判断 → 参考答案”组织。旧关键帧能读出完整选项的题目保留了选项含义;只有主题摘要的题目不补猜原文。

单选题 ​

题号题干目标选项判断要点参考答案
6奖励函数是否必须为正数正数、非负数、可含负值、与环境无关等说法中,奖励可以为负数或零可含负值/零
10基本有序序列的排序选择直接插入、选择、快速、堆等方法比较;插入排序对小规模近有序数据可达近似线性直接插入排序
11让问答接口尽早展示生成内容一次性返回、轮询、SSE/流式响应等方案比较;流式输出可边生成边展示流式传输
12用 OOF 概率定位错误标签拟合概率、人工抽样、Confident Learning、随机重标等;应使用样本外预测概率Confident Learning
16*args 与 **kwargs 的含义*args 收集位置参数,**kwargs 收集关键字参数;具体错误选项以录屏原文为准旧笔记记录为 B
23结构化剪枝的裁剪对象单个权重、神经元/通道、任意稀疏点、随机元素等;结构化剪枝删除规则化结构通道/神经元等结构
25近重复文本的海量检索TF-IDF/BM25、PCA、MinHash+LSH、随机抽样等;近重复集合应用 MinHash+LSHMinHash + LSH
26GQA 的 Q 头与 K/V 头分组每个 Q 独享 KV(MHA)、全部 Q 共享一个 KV(MQA)、分组共享(GQA)等分组共享 K/V
28点积注意力不缩放是否必然梯度消失“一定”属于绝对化表述;缩放降低方差和 Softmax 饱和风险,但不缩放不构成必然梯度消失错
55ZeRO-3 分片的模型状态优化器状态、梯度、参数分别对应 Stage 1/2/3;激活不是 ZeRO 三阶段状态参数、梯度、优化器状态
56RoPE 旋转角度由什么决定与 token 在序列中的位置、旋转维度频率相关;不是由词频或随机数决定位置与维度频率
57DAPO 如何处理组内奖励无方差保留、丢弃、扩大 batch 或随机填充;无方差组无法提供有效相对优势,应过滤/动态采样过滤无方差组
60GPT 预训练目标下一 token 预测、自编码重构、对比学习、掩码语言建模等下一 token 预测
64IPO 相对独立奖励回归的核心奖励回归、价值估计、标签平滑、身份映射等;IPO 直接基于偏好对构造隐式目标使用身份映射构造偏好优化目标
661~8 选 3 个且最大值为 6 的概率总数 C(8,3);6 必选,另选 C(5,2)5/28

多选题 ​

多选题按每个选项独立判断,不根据答案数量猜选项。完整可复核的答案集合为:

题号题目应选选项其余选项的排除依据
1集中趋势统计量众数、中位数、均值方差描述离散程度
2Prefill/Decode 分离中的 KV Cache至少保留 Decode 所需 KV,并处理跨设备传输/一致性具体复制方式依赖拓扑,不能脱离架构绝对化
3自回归语言模型优势统一 next-token 目标、生成自然、可扩展、上下文建模与双向并行编码、无需顺序依赖等说法矛盾
4BFS、DFS、连通分量BFS 用队列;DFS 用栈/递归;极大连通子图是连通分量把 BFS/DFS 数据结构或连通分量定义对调的选项错误
5PTQ 量化对称量化适合近零对称分布;非对称量化适合偏移分布;校准集影响 scale把 PTQ 说成必须反向传播训练的选项错误
6Prompt 修复银行报告遗漏/混乱规定输出结构;明确必备指标和材料范围;必要时限制长度只改语气或泛泛要求“写得更好”不能保证指标齐全
7正态分布覆盖率±1σ≈68%、±2σ≈95%、±3σ≈99.7%将覆盖率或区间方向写错的选项错误
8支持较快插入删除的数据结构哈希表、平衡树、已知节点位置的链表数组中间插入删除通常需搬移元素
9多说话人含噪语音预处理VAD、降噪、说话人分离/聚类、时间戳对齐只做文本清洗无法解决说话人和时间边界
10多头注意力优势多子空间表示、并行计算、不同关系模式“头越多一定越好”不是保证
11GQA 性能/效率因素Q/KV 头数比例、KV Cache 大小、投影参数和带宽与 GQA 推理结构无关的因素不能直接计入
12大模型推理加速PagedAttention、MQA/GQA、TensorRT、KV Cache只增加参数或关闭缓存不会加速
13Python 基本数据类型数字、字符串、列表、元组、集合、字典、布尔等把变量、函数或 char 当作独立基础类型错误
14RLHF 步骤SFT、奖励模型、偏好数据、PPO 等策略优化只训练分类器而没有奖励/策略环节不完整
15Python 字符串引号单引号、双引号、三引号Python 没有独立 char 类型
16深度学习可解释性特征/梯度归因、可视化、反事实、Attention 观察线索Attention 权重不能单独证明因果解释
17Prompt 减少无关回答明确任务边界、限定材料、提供正反例、规定输出格式/长度只提高温度或放宽主题会增加发散

题号 6、11、16 的选项是否成立依赖题干语境(报告要求、GQA 性能口径、可解释性定义);当前保留“技术严谨口径”和“基础题库口径”的差异,不伪装成官方答案。

明确错误与漏选 ​

单选题 ​

题号最终选择建议答案错因
12AB:Confident Learning题干同时给出“交叉验证”“样本外预测概率”“标签与高置信预测冲突”,这些是置信学习定位标签错误的直接特征。
25BD:MinHash + LSHBM25 适合相关性检索,不是大规模近重复集合搜索的典型方案;MinHash 近似 Jaccard,相似签名再由 LSH 缩小候选集。
28A:对B:错缩放用于控制点积方差、降低 Softmax 饱和风险,但“不缩放”不等于数学上一定梯度消失。绝对化表述使该命题错误。
55AB:参数、梯度、优化器状态ZeRO-1 分片优化器状态,ZeRO-2 再分片梯度,ZeRO-3 再分片参数;激活值不是 ZeRO 三阶段定义中的第三类模型状态。
66B:23/28A:5/28总数为 C(8,3)=56;最大值固定为 6 时,另两个数从 1 至 5 中选,满足情况为 C(5,2)=10,概率为 10/56=5/28。

多选题 ​

题号最终选择高把握应选漏选点
1B、DB、C、D众数与中位数、均值都描述集中趋势;方差描述离散程度。
4B、DA、B、DBFS 通常使用队列,DFS 通常使用栈或递归栈;无向图的极大连通子图是连通分量。
5A、BA、B、D近零均值、正负大致对称的权重通常适合对称量化;偏移明显的分布更适合非对称量化。
6A至少 A、D指定输出结构能整理段落;显式要求核心风险指标才能直接约束“指标遗漏”。若题目还强调避免冗余,C 的长度上限也可能计入。
7A、BA、B、D正态分布在均值正负 1σ、2σ、3σ 内约覆盖 68%、95%、99.7%。
8B、DB、C、D哈希表平均 O(1),平衡二叉搜索树 O(log n);已知节点位置时链表插删 O(1)。数组中间插删通常需要搬移元素。
9B、DA、B、D还需要说话人分段与聚类(speaker diarization)及角色映射;对齐和 VAD 分别解决时间区间与有效语音片段问题。
12C、DA、B、C、DPagedAttention 改善 KV Cache 内存管理;MQA 减少 KV 头和缓存量;TensorRT 与 KV Cache 也都可用于推理加速。
14DA、D典型 RLHF 既训练奖励模型,也使用 PPO 等策略优化方法更新语言模型。
15B、CB、C、DPython 字符串可用三引号、双引号或单引号;没有独立的 char 类型。
17C、DA、C、D负面示例可以显式展示不希望出现的无关内容;限定材料范围和任务边界则从正面收紧输出空间。

这 11 道题的最终选择都属于漏选,没有发现明确错选。按题面规则,它们通常会得到一半分,而不是零分;实际计分仍以官方答案为准。

需要对照官方答案的题目 ​

题号最终选择争议来源建议处理
多选 2BDecode 阶段确实需要保留并读取 KV Cache;是否跨卡复制、是否把 Prefill 和 Decode 放在同一分片/机组,取决于系统拓扑与调度目标。P/D 分离本身就允许两阶段位于不同设备。B 必选;C、D 不能脱离具体架构判死。拿到官方答案后补录其假设。
多选 11A、B、C、DQuery 分组数和 K/V 投影方式直接影响 GQA;参数量也会影响性能。优化器影响训练结果,却不是 GQA 推理结构本身的因素。若题干指“端到端训练性能”,C 可选;若指“GQA 架构和推理效率”,更稳妥的是 A、B、D。
多选 16A、D常见基础题库会把 Attention 机制当作可解释性手段,可能给 A、C、D;但研究表明 Attention 权重不能自动等同于可靠解释,学术上存在明确争论。应试时记录题库口径 A、C、D;技术回答中补充“Attention 只能提供观察线索,不能单独证明因果解释”。

多选第 3、10、13 题分别选择 B/D、A/D、A/B/C,在高把握口径下完整正确。

知识点回顾 ​

置信学习:使用样本外概率检查标签 ​

当标签由自动模型生成、人工只能复核少量样本时,不能直接使用同一批训练数据上的拟合概率找错标:模型可能已经记住噪声标签。正确链路是:

text
K 折划分
  → 每次用 K-1 折训练
  → 对留出折生成样本外类别概率
  → 汇总所有样本的 OOF 概率
  → 按“给定标签概率低、其他类别概率高”等标签质量指标排序
  → 人工优先复核高风险记录

关键不变量是:每个样本的检查概率必须由没有见过该样本标签的模型产生。分层抽样只能改善各折类别比例,本身不会完成标签错误排序。可参考 Confident Learning 原论文。

MinHash + LSH:大规模近重复检索 ​

对文档分词并生成 shingle 集合后,可以用 Jaccard 相似度定义近重复。完整两两比较需要 O(n²) 次文档比较,不适合大语料;MinHash 用短签名近似集合相似度,LSH 再把可能相似的签名放入同一候选桶,只对候选对做精确比较。

text
规范化文本 → shingle 集合 → MinHash 签名 → LSH 候选桶 → 精确相似度 → 去重

BM25 回答的是“文档与查询是否相关”,不能直接替代近重复集合搜索。数据去重对减少记忆文本和训练集/验证集重叠的作用可参考 Deduplicating Training Data Makes Language Models Better。

Scaled Dot-Product Attention ​

注意力分数写成:

text
scores = QKᵀ / sqrt(d_k)
attention = softmax(scores)

当 Q、K 各维近似独立且方差稳定时,点积的方差会随 d_k 增长。除以 sqrt(d_k) 是为了把分数量级拉回稳定范围,降低 Softmax 过度饱和和梯度过小的风险。它是数值稳定手段,不是“不除就必然梯度消失”的充要条件。定义见 Attention Is All You Need。

MHA、GQA、MQA 与 KV Cache ​

结构Query 头与 KV 头关系主要取舍
MHA每个 Query 头有各自的 K/V 头表达能力强,KV Cache 较大
GQA一组 Query 头共享一组 K/V 头在质量和推理效率之间折中
MQA所有 Query 头共享单个 K/V 头KV Cache 最小,可能牺牲质量

GQA 原论文将其定义为 K/V 头数介于 MHA 与 MQA 之间。推理时还可以组合:

  • KV Cache:避免每生成一个 token 都重新计算历史 token 的 K/V;
  • PagedAttention:按分页思想管理动态增长的 KV Cache,减少碎片和冗余复制,见 vLLM 论文;
  • TensorRT:进行图优化、算子融合和低精度内核选择;
  • Prefill/Decode 分离:分别调度计算密集的 Prefill 与访存密集的 Decode,但必须显式处理 KV Cache 传输和设备放置,见 DistServe。

ZeRO 三阶段 ​

记忆方式不是背“ZeRO-3 等于什么”,而是逐阶段累加:

text
Stage 1:分片 optimizer states
Stage 2:Stage 1 + 分片 gradients
Stage 3:Stage 2 + 分片 parameters

因此 ZeRO-3 的答案是参数、梯度、优化器状态。激活重计算和激活分片属于相关显存优化,但不能混进 ZeRO 阶段定义。可对照 DeepSpeed ZeRO 官方文档。

DAPO 动态采样 ​

组相对策略优化依赖同一 Prompt 下多个回答之间的奖励差异。若组内回答全部正确或全部错误,标准化后的优势信号没有有效方差。DAPO 动态采样会过滤这类 Prompt,并继续采样有不同奖励结果的组,使训练批次保留有效学习信号。该机制来自 DAPO 论文。

RLHF 基本链路 ​

text
监督微调模型
  → 收集回答偏好排序
  → 训练奖励模型
  → 用奖励模型提供标量奖励
  → 使用 PPO 等策略优化方法更新语言模型

“训练奖励模型”与“策略梯度优化”都属于典型 RLHF 流程,不能只选其中一个。可参考 InstructGPT 论文。

概率题:把“最大值恰好为 m”转成组合计数 ​

从 1..n 中无放回选 k 个数,最大值恰好为 m:

text
总方案数 = C(n, k)
有利方案数 = C(m - 1, k - 1)
概率 = C(m - 1, k - 1) / C(n, k)

理由是最大值 m 必选,剩余 k-1 个数只能从 1..m-1 中选择。做这类题先写“事件约束”,再计数,避免使用补集时把“最大值大于 m”和“最大值不等于 m”混淆。

多选题的独立判断清单 ​

多选题不应先猜“本题有几个答案”,应逐项验证:

  1. 这个选项描述的是定义、典型实现,还是所有场景都成立的保证?
  2. 复杂度是否隐含前提,例如哈希表的平均 O(1)、链表已知节点后的 O(1)?
  3. 选项是否只解决题干的一部分,例如只规定报告结构,却没有要求必须输出核心指标?
  4. 是否出现“必须”“一定”“所有”等绝对词?若有,尝试构造一个反例。
  5. 专有名词是否与题干信号一一匹配,例如 OOF 概率对应 Confident Learning,近重复集合对应 MinHash + LSH。

本次回答中需要改进的地方 ​

多选策略 ​

  • 问题:11 道明确失分的多选题都是漏选,没有发现明确错选;集中趋势、图遍历、PTQ、正态分布、数据结构、语音预处理、推理加速、RLHF、字符串和 Prompt 约束都漏掉了一个或两个独立成立的选项。
  • 改进:第一遍选出确定项后,必须对每个未选项单独做一次“定义—前提—反例”检查。不要因为已经选了两个答案就停止判断,也不要根据选项数量反推答案数量。
  • 问题:题面采用“错选 0 分、漏选一半分”,当前策略明显偏保守,但某些被放弃的选项其实是基础定义,例如 BFS 使用队列、RLHF 使用策略优化、Python 支持单引号字符串。
  • 改进:把“定义级确定项”和“依赖实现的争议项”分开。定义级选项应果断选择;P/D 跨卡调度、优化器是否算 GQA 因素这类依赖语境的选项再保守处理。

专业知识 ​

  • 问题:第 12、25、55 题没有把题干中的强信号映射到对应方法:OOF 概率 → Confident Learning,近重复语料 → MinHash + LSH,ZeRO-3 → 三类模型状态分片。
  • 改进:按“任务目标、输入信号、核心机制、替代方案为何不合适”制作方法对照卡,不只记缩写。
  • 问题:第 28 题忽略了“一定”这一绝对条件,把“风险上升”误判成“必然发生”。
  • 改进:判断题先圈出量词,再找反例。能够构造某个低维或分数未饱和的情形,就足以否定“一定梯度消失”。
  • 问题:第 66 题没有把“最大值恰好为 6”转换成“6 必选,其余从 1 至 5 选 2 个”。
  • 改进:组合概率固定先写样本空间和有利事件,再约分;禁止只凭选项大小估计。

应试记录 ​

  • 问题:材料没有官方答案页,注意力可解释性等题又存在题库口径与技术严谨口径的差异,当前无法确认这些争议题是否实际扣分。
  • 改进:若后续能取得成绩页或官方解析,优先核对多选第 2、11、16 题,并只更新“需要对照官方答案”表;其余高把握知识结论无需重写。

使用 Markdown 与 VitePress 构建