小红书 大模型算法岗面经合集(三):Transformer 细节、DPO 与推理优化
- 轮次
- 多轮面试合集
- 时间
- 2026-09
- 来源
- 牛客网
《面试题目》
面经 01(2026 年 1 月 29 日)
- 全参数微调 7B 需要多少显存?
- FP16、BF16 区别
代码题:找数组第 k 大元素
面经 02(2026 年 1 月 10 日)
- Transformer 的结构,有哪些可以学习的参数?
- 多头自注意力结构,矩阵个数
- encoder、decoder 区别
- 一个 decoder block 由几个部分组成?
- encoder 的输出,作为什么到 decoder?
- 为什么 decoder 更适合生成?
- decided mask 在推理中有用吗?
- 各个架构在 attention、ffn、位置编码上的改进
- GQA、MHA、MQA 区别
- swiGLU 的改进
- rope 在哪里加入?
- 用的什么开源 dpo 数据?
- 为什么没用 qwen-3?
- 全参数微调 7B 需要多少显存?
- FP16、BF16 区别
- AdamW 显存计算
- 介绍 Flash attention
- 介绍 gradient checkpoint
- RougeL 计算方法
面经 03(2026 年 1 月 10 日)
- 项目还可以提升的地方
- dpo 训练对于系统问答的优化在哪里?
- 提高模型的准确率核心是什么?
- 怎么提高数据的质量?
- rag 文档怎么切分?
- rag 向量化的模型
- rerank 用的什么模型?
- 有没有微调 rerank 模型?应该怎么微调?
- dpo 用的什么库?
代码题:已知无序数组,求第 k 大数
面经 04(2025 年 12 月 29 日)
- 项目深挖,相关八股
- 解释 lora
- diffusion 原理
- 场景题:小红书平台很多山寨物品,正品、假货、山寨混在一起,怎么识别正品?从算法角度来说,可以用哪些模块?
- 知道 triple loss 吗?
- 目标检测,可以用哪些目标检测模型检测纹理?
代码题:给一个整数求平方根,只保留整数、舍弃小数
面经 05(2025 年 12 月 28 日)
- 介绍一下你的实习工作
- 讲一下你 RAG 项目的亮点
- 你对 VLLM 中使用的技术是否熟悉(如 Flash Attention、KV Cache)?
- 介绍几种 Attention 技术的不同:Self-Attention、Cross-Attention、GQA
- 了解加速推理框架 Deepspeed 吗?
- 微调项目是如何模型选型的?
- 如何做微调的?直接用 PEFT 库,还是用 LLama Factory 做的?
- 讲一下 DPO、PPO、GRPO 的原理和区别
- 如果让我去做,会怎么收集数据、怎么训练、怎么做?
- 数据如何收集?要什么格式的数据?可以人工收集并打标记
代码题:LeetCode 算法题
面经 06(2025 年 12 月 21 日)
- 前端存会话?
- npm 包管理工具
- rspack、webpack 区别主要就是打包
- 线上的区别,webpack 如果你引入一个需要全量打包吗?
- 合并两个有序链表
- 大模型的了解,在前端的理解
- 大模型怎么引入和业务结合?
- react native(了解)
- vue 的 API,常用的一些东西
- watchEffect 监听对象的某个属性更改会怎样?
- ts 常用的东西
- 事件循环机制
- VUE 的异步更新
- 问了大模型相关的,算法题是三数之和
面经 07(2025 年 12 月 16 日)
- 八股:大模型框架了解哪些?介绍下 vllm 原理
- 八股:常用的 LLM,讲解 DeepSeek R1 的训练流程和基本原理
- 八股:讲讲 MOE 架构和 Dense 架构差异,在训练和推理方面
- 项目:介绍实习项目,项目中有没有做微调?
- 项目:DPO、PPO 和 GRPO 的区别
- 项目:为什么 PPO 要用 value baseline 和 GAE?它们如何让训练更稳定?
- 项目:为什么 GRPO 在训练 MOE 时会出问题?原因是啥,怎么改进策略?
- 项目:GRPO 的 KL 散度是什么?KL 散度中超参数如何设计?
- 项目:阐述大模型的幻觉现象及抑制方法
代码题:lc300 最长递增子序列
面经 08(2025 年 12 月 16 日)
- 八股:Transformer 的计算复杂度分析,写伪代码
- 八股:多头和单头的情况下有什么区别?
- 八股:DeepSeek R1 的创新点和优化点?
- 项目:介绍实习经历,并选一篇论文进行讲解
- 项目:提示工程的主要方法有哪些?有哪些优化技巧?
- 项目:LLM 怎么微调的,数据量多大,各数据配比多少?
- 项目:SFT 和强化学习各自有什么优缺点,分别适用于什么场景?
- 项目:大模型生成内容的评测方式有哪些,具体怎么操作?
- 项目:大模型输出前后不一致怎么办,如何确保大模型输出内容的一致性?
代码题:手撕 sqrt(x),保留 6 位小数
面经 09(2025 年 12 月 11 日)
- 经历阐述:介绍实习经历,并自选一篇论文进行讲解
- 项目细节追问:针对项目展开深入提问
- 大模型生成评测:大模型生成内容的评测方式有哪些,具体如何操作?
- RAG 技术短板:RAG 存在哪些缺陷?
《参考解析》
-
显存估算要给出公式而不是一个数字:全参微调 7B 时,显存大致由四块构成——参数本身、梯度、优化器状态、以及前向的激活值。混合精度下参数两字节、梯度两字节、AdamW 的动量和方差各四字节,因此「参数 + 梯度 + 优化器状态」约等于 16 到 18 字节每参数,7B 就是一百多 GB,必须配 ZeRO 或 FSDP 之类的分片才能上单机多卡;剩下的一大块是激活,靠梯度检查点和序列长度控制。FP16 与 BF16 的区别在指数位与尾数位分配——BF16 动态范围与 FP32 相同、精度低但不容易溢出,FP16 精度更高但需要 loss scaling;训练大模型优先 BF16,老硬件才退回 FP16。
-
Transformer 的结构细节要能画图并数清矩阵:一个 decoder block 通常包含自注意力、前馈网络、两处残差与归一化(Pre-LN 更主流),自注意力里至少有 Q、K、V、输出投影四个可学习矩阵,多头是把总维度切成若干份分别做注意力再拼接,所以头数变化不改变参数量总量。encoder 的输出在解码器里当 Cross-Attention 的 K 和 V,decoder 的因果掩码保证只能看到已生成的位置,这正是它适合自回归生成的原因;掩码推理时用 KV Cache 避免重复计算。GQA、MQA 是介于多头与单头之间的折中——多个 query 头共享一组 K、V,换来推理时 KV Cache 显存的大幅下降;RoPE 加在 Q、K 上按位置旋转;SwiGLU 是对前馈网络激活与门控结构的改进。
-
FlashAttention 与梯度检查点要讲「省什么、代价是什么」:FlashAttention 的核心是不把完整注意力矩阵落到显存,而是分块加载、在线计算 softmax 的归一化统计量,减少 HBM 读写,属于「省显存又快」;梯度检查点则是前向只存少量中间结果、反向时重算,省激活显存但增加约三成计算量。两者结合是大模型训练的常规配置,回答时把「显存换计算」和「IO 换显存」这两条思路说清,比背名词有效。
-
DPO 相关的追问集中在数据与工程实现:DPO 用偏好对直接优化策略,省掉奖励模型和在线采样,优势是稳定便宜,短板是需要高质量偏好对、对分布外问题约束弱。被问「为什么不用 qwen-3」这类选型问题时,要从数据可得性、输出风格匹配度、可商用与许可证、以及社区工具链成熟度几个角度回答,而不是只说效果好。rerank 微调则要讲清训练对的构造(query 与正负文档)、损失选择(pointwise 交叉熵或 pairwise 排序损失)、以及负样本采样策略。
-
RAG 链路要能逐段给优化点:切分看文档结构(按标题层级与语义切,控制块大小与重叠)、向量化看模型选型(通用 embedding 与领域微调的取舍)、检索看召回与精度平衡(多路召回、混合检索、查询改写)、rerank 看重排模型的训练与延迟预算、生成看引用约束与拒答。常见缺陷正是被追问的 RAG 短板:多跳推理弱、知识更新滞后、块切分破坏上下文、假相关文档引入幻觉,对应的缓解手段要一并说清。
-
PPO、GRPO 与 MoE 的坑:PPO 需要价值网络估计 baseline 并用 GAE 降低方差、配合裁剪限制策略更新幅度,所以多一份价值网络的显存与训练成本;GRPO 去掉价值网络,用同一问题的一组采样结果做相对比较来算优势,因而更省也更适合推理类任务,代价是对奖励设计更敏感。GRPO 在 MoE 上容易出问题,常见原因是专家路由在采样之间波动大、组内比较的信号被路由噪声放大,改进方向是固定或平滑路由、调整组内归一化与 KL 约束的强度。KL 项的作用是限制新策略偏离参考模型,系数太大会学不动、太小会退化成乱说,通常按任务先给一个保守值再逐步放。