美团两轮技术面 · 每轮一道手撕 · 训练侧八股密度高 28 分钟读完

美团大模型算法岗:两轮面试的完整题单与答法

大模型应用算法工程师(含北斗大模型校招线)

面经美团LoRAGRPORAG推理部署

岗位:大模型应用算法工程师(社招线)与北斗大模型(校招线) 轮次:两轮技术面,每轮约 60 分钟 一句话定性:这是一场「原理 + 工程账」双线面试,每个原理题都会追到工程细节,每个工程题都要能算出数字。 素材时间线:2026 年春招季的多场美团大模型面试,整理时间 2026-09-28


0. 一分钟速览

项目内容
公司 / 岗位美团 · 大模型应用算法 / 北斗大模型
形式两轮技术面,每轮末尾手撕一道
有手撕吗有。手写带 causal mask 的多头注意力、螺旋矩阵、K 个一组翻转链表
有八股吗密度高。LoRA、ZeRO、KV Cache、量化、显存估算全考
考察重心微调原理落到超参与梯度、RAG 全链路、推理部署的算力账
难度感受一面广而深,二面全是工程估算题,答不上数字很伤
准备方向把 LoRA、KV Cache、显存估算这三件事练到能手推数字

1. 面试流程与时间分配

流程:自我介绍 → 微调原理链 → RAG 链路 → 推理部署与算力 → 手撕 → 反问

环节时长面试官在听什么常见失分点
微调原理20 minLoRA、QLoRA、SFT、GRPO 能否落到超参和损失函数只说「低秩分解很省显存」
RAG 链路15 minchunk 切分、召回优化、GraphRAG 的实际了解背架构图说不出瓶颈定位
推理部署15 min显存估算、量化选择、MoE 算力从来没算过参数量和显存
手撕10 min注意力实现或中等算法题causal mask 边界写错

2. 追问机制:原理题追到工程,工程题追到数字

美团的两条典型追问链:

LoRA 链:LoRA 原理 → 秩怎么选 → 合并回原模型时梯度有什么问题 → 能不能插在 LayerNorm 后面 → QLoRA 怎么把成本降下来的。

显存链:估算 LLaMA-7B 推理要多少显存 → KV Cache 占多少 → bf16 和 fp16 选哪个 → ZeRO 各阶段省的是什么。

准备方式是把每个高频原理准备成「原理、超参、坑、数字」四件套,第四件套最容易被忽略也最拉差距。


3. 一面:微调原理链

3.1 NLP 与 LLM 的区别(开场题)

问法:「做过 NLP,那 NLP 和 LLM 的区别是什么?」

答题要点:不是罗列任务类型,而是说范式变化:NLP 时代任务定义在数据集上(分类、序列标注各管一段),LLM 时代任务定义在提示词上,预训练加指令微调把任务边界打通了。这个开场题答出层次感,后面的问题质量会明显变高。

3.2 LoRA 全链

问法:「讲讲 LoRA 原理,秩怎么选?合并的时候梯度有什么问题?」

答题要点:ΔW 用 B·A 低秩近似,B 零初始化 A 随机初始化保证起点等价。秩在 8 到 64 间按任务试。合并追问的答法:训练时梯度只流过 B 和 A,如果训练中途合并回 W,冻结的原模型部分没有同步更新,合并时机的选择会影响等价性;推理合并后无法再热切换不同任务的 LoRA,这是部署上的取舍。能否插在 LayerNorm 后:LayerNorm 参数量本来就小、且对分布稳定敏感,插 LoRA 收益有限,常见做法是插在注意力和前馈的权重投影上。

3.3 QLoRA 降本原理

问法:「QLoRA 是怎么把微调成本降下来的?」

答题要点:基座模型量化到 4 位(NF4)冻结,只训练低秩适配器和少量归一化参数;NF4 按正态分布分位数设定量化格点,比均匀量化更贴合权重分布;配合双重量化把量化常数本身的存储也压掉。落点给数字:7B 级模型的微调显存能从几十 GB 压到个位数 GB 量级(具体数值随上下文长度变化)。

3.4 SFT 细节(北斗校招线)

问法:「SFT 的 loss 怎么只算回答部分?」

答题要点:把提示词部分的 label 置为忽略标记(padding 位同样置忽略),交叉熵只在回答 token 上累加。追问会到「SFT 数据规模和清洗怎么做」:规模不是越大越好,去重、去毒、难度分层、和基座能力匹配。

3.5 为什么选 GRPO

问法:「你的项目为什么选 GRPO 而不是 PPO 或 DPO?」

答题要点:PPO 要维护价值网络,显存和稳定性成本高;DPO 依赖离线偏好对,没法对过程做奖励;GRPO 用组内采样的相对优势替代价值网络,同组多个回答互为基线,工程上省一个模型。追问「GRPO 之后怎么防 OOD 崩塌」:KL 约束控制策略偏离参考模型的幅度,配合奖励函数设计避免单一维度被过度利用。

3.6 手撕:带 causal mask 的多头注意力

一面手撕是实现题:手写多头注意力的 causal mask 部分并分析复杂度。三个得分点:mask 上三角置负无穷(softmax 前加)、多头是先把 QKV 按头切分再各自做注意力、整体复杂度 O(n²d)。写错 mask 边界(漏掉对角线)是常见失误。


4. 二面:RAG 链路 + 算力账

4.1 RAG 全链路与瓶颈

问法:「讲讲 RAG 全链路,chunk 怎么切?瓶颈在哪,Recall 怎么提?」

答题要点:链路按「解析 → 切分 → 向量化 → 召回 → 重排 → 生成」说,每层一句要点。瓶颈定位用分层指标:Hit@K 低先查切分和 Embedding,MRR 低查重排。提升 Recall 的手段按顺序给:查询改写补语义、假设性问题增强、混合检索(向量加 BM25,精确词靠关键词)、重排模型精排。只答「换个更好的 Embedding 模型」会被认为没实操过。

4.2 GraphRAG 难点与增量更新

问法:「GraphRAG 的难点?增量更新怎么做?」

答题要点:难点在实体抽取的一致性和图构建成本,查询时多跳遍历的延迟控制。增量更新:新文档进来只跑增量实体的抽取和对齐(实体消歧),别全量重建图;同时要处理新旧文档分布不一致带来的检索偏差,版本化索引加灰度切换。

4.3 量化选择与分布拟合

问法:「NF4 和 FP16 怎么选?NF4 的分布拟合是什么逻辑?」

答题要点:权重通常近似正态分布,NF4 的量化格点按正态分位数分布,中间密两头疏,同比特数下量化误差更小;FP16 用于训练和关键路径计算,NF4 用于存储冻结参数。这题是 QLoRA 的延伸,两题连着考是美团的特点。

4.4 显存与算力估算(必考)

问法:「估算 LLaMA-7B 推理要多少显存。」「235B 的 MoE 模型训练要多少算力?」

答题要点给方法而不是背数字:权重显存等于参数量乘以每参数字节数(fp16 每参数 2 字节,7B 约 14 GB),加 KV Cache(随批大小和上下文长度线性涨),加激活值。MoE 算力估算先确认激活参数量和总参数量的区别,再按 token 数、激活参数量、每次前向 FLOPs 系数估算,最后除以集群有效算力。答不出「参数量乘字节数」这第一步,这题就归零。

4.5 架构对比与模型演进

问法:「Prefix、Causal、Encoder-Decoder 三种架构的区别?」「Qwen 和 DeepSeek 的创新点?」

答题要点:Prefix LM 注意力能看见前缀双向、Causal 全单向、Encoder-Decoder 编码双向解码单向;模型演进答 RoPE 外推特性的改进路线和 MoE 的负载均衡设计,要点到为止,别展开成论文复述。

4.6 手撕

二面手撕是螺旋矩阵(LeetCode 54),北斗线出现过K 个一组翻转链表(LeetCode 25)和二叉树层序遍历(LeetCode 102)。难度稳定在中等,链表和 DP 类出现频率高。


5. 复盘与准备清单

  • 训练侧八股要落到数字:秩的范围、参数量乘字节数、KV Cache 的增长因子,这些数字级的答案在美团面试里是硬通货。
  • RAG 准备按「链路分层 + 每层一个瓶颈 case + 一个优化数字」组装,能应对从一面到二面的全部 RAG 追问。
  • 手撕会出现实现题(手写注意力),不只是 LeetCode 原题,注意力的 mask 和头切分要能手写。
  • 有候选人在两轮里被重复考到 ZeRO 与 FSDP 的对比,重复考点说明面试官在验证真实性,前后答案要一致。

相关题目:站内题库的「LoRA 的秩怎么选」「KV Cache 为什么省显存」「GRPO 和 PPO 的区别」「RAG 怎么评估」都对应这场面试的原题。