ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

大模型面试高频考点全解析:从Transformer到RAG部署

大模型面试高频考点全解析:从Transformer到RAG部署 大模型岗位的面试难度这两年肉眼可见地在上升。很多同学从“会调用 API”开始准备结果面试时被追问到模型参数量怎么计算、显存怎么估算、LoRA 为什么能降低显存、RAG 检索阶段为什么还要做重排序直接卡住。这篇文章面向 2026 年招聘季把大模型面试中出现频率很高的真题、追问逻辑、简历投递和面试流程完整整理了一遍希望能帮你建立一份可执行的复习地图。先说明一点任何岗位面试都没有“包过”的题库。真正有效的方法是把高频考点理解透彻再结合自己的项目讲出细节。下面进入正文。1. 大模型面试到底在考什么1.1 面试官的底层考察逻辑大模型相关岗位的面试官通常不会只问“GPT-4 为什么不开源”这类新闻题他们更关注三件事。第一候选人是否理解大模型的基本原理。比如 Transformer 的结构、注意力机制的计算过程、位置编码的作用。这不是为了为难人而是因为后续做微调、部署和 Prompt 优化时很多决策都依赖这些基础概念。第二候选人是否具备工程落地的能力。现在很多大模型岗位不是纯研究岗而是要把模型接到真实业务里。面试官会关心你有没有处理过显存不足、推理延迟高、上下文太长、结果不稳定等问题。第三候选人是否有自己的判断和思考。比如被问到“LoRA 和全量微调怎么选”时不能只说“LoRA 省显存”还要能说出什么时候全量微调更合适、什么时候 LoRA 效果会打折扣。1.2 大模型岗位分类与技能矩阵大模型方向的岗位通常可以分为四类不同岗位的面试侧重点差异很大。建议先按目标岗位梳理知识体系避免用一套题应对所有岗位。岗位方向核心技能高频面试考点JD 中常见关键词大模型算法工程师预训练、微调、对齐、评估Transformer 原理、训练策略、损失函数、RLHFSFT、LoRA、DPO、RLHF、评测大模型应用开发工程师RAG、Prompt、Agent、API 接入应用链路设计、幻觉优化、上下文管理、函数调用RAG、Agent、API、多轮对话推理部署工程师推理加速、量化、分布式部署vLLM、TensorRT、显存计算、吞吐优化高并发、量化、PagedAttention、Tensor Parallel数据与 AI 平台工程师数据处理、指令数据构建、评测集数据清洗、指令格式、评估指标、数据流水线数据管道、质量评估、自动化评测1.3 面试轮次怎么分布大模型岗位的面试通常分三到四轮。一面一般是基础面重点考察 Transformer、微调、RAG 等基础知识也会追问项目细节。二面是深度面会出系统设计题让你设计一个 RAG 系统、一个模型评测方案或者现场手撕代码。三面多数是综合面由 Leader 或跨团队的人来面重点看问题分析能力和沟通表达能力。最后是 HR 面主要确认稳定性、薪资预期和团队匹配度。由此可以看出只背答案很难走完整个流程。每一轮面试都在验证你是否真的能把技术讲清楚。2. Transformer 与注意力机制高频真题Transformer 几乎是所有大模型面试的第一关。即使你投的是应用开发岗面试官也可能先问一句“讲讲 Self-Attention”然后根据你的回答决定后续难度。2.1 Self-Attention 的核心公式Self-Attention 的本质是让序列中的每个 Token 和其他 Token 做信息交互。常见的缩放点积注意力公式如下Attention(Q, K, V) softmax(Q * K^T / sqrt(d_k)) * V其中 Q 是查询向量K 是键向量V 是值向量d_k 是每个头的维度。除以 sqrt(d_k) 是为了防止点积结果过大导致 softmax 进入饱和区梯度变得非常小。面试时只写公式还不够通常还会被追问为什么要缩放如果不缩放会怎样为什么使用点积而不是加性注意力Q、K、V 分别来自哪里它们的维度怎么确定一个比较稳妥的回答思路是先说明注意力机制解决的是“序列中不同位置之间的依赖关系”再解释公式中每一项的含义最后补充缩放原因和复杂度。如果能把复杂度 O(n^2) 也说出来面试观感会更好。2.2 多头注意力的作用多头注意力是把 Q、K、V 投影到多个子空间各自做注意力计算最后拼接起来再投影。它让模型可以在不同子空间关注不同模式比如一个头关注语法关系另一个头关注语义相似度。面试中常见的追问是“多头头数越多越好吗”答案不是。头数增加意味着参数量和计算量增加而部分任务可能并不需要那么多头。现在很多模型实际使用 GQA分组查询注意力或 MQA多查询注意力来降低 KV Cache 的显存占用这也是一个加分回答方向。2.3 位置编码为什么重要Self-Attention 本身不具备顺序感知能力因为 Attention 计算的是两两之间的相关性打乱 Token 顺序后结果不变在无位置信息时。所以需要加入位置编码。经典 Transformer 使用正弦位置编码后来很多模型改用可学习位置编码像 RoPE旋转位置编码则被 LLaMA、Qwen 等模型广泛使用。RoPE 的优势在于可以将相对位置信息编码进向量并且在推理时更容易扩展到更长的上下文。如果面试官继续追问“为什么现在很多模型都强调长上下文”可以联系 RoPE 的外推能力、位置编码插值、上下文窗口扩展等话题展开。2.4 手动实现一个简化版 Self-Attention为了应对手撕代码建议至少能写一个简化版 Self-Attention。下面是一个用 NumPy 实现的示例重点是展示计算流程不考虑 batch 和多头。# 文件路径attention_demo.py import numpy as np def softmax(x): # 防止指数上溢减去每行最大值 e_x np.exp(x - np.max(x, axis-1, keepdimsTrue)) return e_x / np.sum(e_x, axis-1, keepdimsTrue) def self_attention(query, key, value): query/key/value 形状为 [seq_len, head_dim] d_k query.shape[-1] scores np.matmul(query, key.T) / np.sqrt(d_k) weights softmax(scores) output np.matmul(weights, value) return output, weights # 简单测试 seq_len, d_k 4, 8 q np.random.randn(seq_len, d_k) k np.random.randn(seq_len, d_k) v np.random.randn(seq_len, d_k) out, attn_weights self_attention(q, k, v) print(输出形状:, out.shape) print(注意力权重形状:, attn_weights.shape)这段代码的核心点有三个一是除以 sqrt(d_k)二是 softmax 要沿最后一维做三是矩阵乘法维度的对应关系。实际面试中不需要写出完整可训练版本但能把上述三步写清楚已经能说明你对 Attention 的掌握程度。2.5 Transformer 方向常见追问为什么 Transformer 比 RNN 更适合并行嵌入层参数量怎么计算LayerNorm 和 BatchNorm 的区别是什么训练时 decoder 为什么要用 mask推理时 KV Cache 是怎么优化 Attention 的这些问题看起来基础但每一个都能继续深挖。建议复习时不要只看结论要能画图或公式推导。3. 预训练、微调与对齐面试题3.1 预训练和微调的区别预训练是在大规模无标注文本上学习语言规律目标通常是下一个词预测。微调是在预训练模型基础上用特定任务数据继续训练让模型适配场景。面试官常问“预训练后直接接业务行不行”答案是可以但效果通常不稳定。因为预训练模型擅长文本生成但不会遵循格式、不会回答特定领域的专业问题、也不一定理解你的 API 调用约定。微调的核心目的是改变模型的行为方式。如果继续追问“什么时候用微调什么时候用 Prompt”可以回答当业务规则复杂、输出格式要求严格、需要持续复用模型能力时微调更合适当数据少、场景简单、希望快速验证时Prompt 更合适。3.2 LoRA 的核心原理LoRALow-Rank Adaptation是目前面试出现频率最高的微调方法。它的核心思想是冻结预训练模型参数在原始权重旁边添加低秩矩阵作为可训练参数。以线性层为例原始权重为 WLoRA 引入两个低秩矩阵 A 和 B前向计算变成h Wx BAx其中 A 的维度通常是 r * input_dimB 的维度通常是 output_dim * rr 远小于 input_dim 和 output_dim。训练时只更新 A 和 B显存开销大幅下降。面试追问方向为什么低秩矩阵能工作因为微调时权重更新通常具有低秩性质。r 设置多大合适一般 8、16、32 都有实践过大反而可能过拟合。LoRA 能直接合并回原模型吗可以合并公式是 W_new W BA。和全量微调相比LoRA 有哪些劣势在数据量足够大、任务足够复杂时LoRA 效果可能略低于全量微调。下面是一个 LoRA 微调参数配置的简化示例实际字段会随微调框架版本变化model_name_or_path: /models/Qwen2.5-7B-Instruct lora_r: 8 lora_alpha: 16 lora_dropout: 0.05 target_modules: - q_proj - k_proj - v_proj - o_proj - gate_proj - up_proj - down_proj train_type: sft dataset_path: ./data/train.jsonl max_seq_len: 2048 learning_rate: 2e-4 num_train_epochs: 3 per_device_train_batch_size: 1 gradient_accumulation_steps: 8 save_strategy: steps save_steps: 500这里需要解释两个关键参数。lora_r 决定低秩矩阵的秩r 越大可学习参数越多但不一定效果更好。lora_alpha 是缩放系数前向计算时会乘以 alpha / ralpha 和 r 的比值会影响 LoRA 权重的初始更新尺度实际使用中经常保持 alpha 2r 左右。3.3 SFT 指令数据怎么构建监督微调SFT离不开指令数据。构造数据时常见问题包括指令重复、答案过长但信息量低、格式不统一、存在偏见或敏感内容。一个可用的数据样本通常包含三部分{ instruction: 请解释LoRA的原理, input: , output: LoRA是一种参数高效微调方法通过引入低秩矩阵来减少可训练参数量。 }这里需要注意不是数据越多越好。很多团队会先整理几百条高质量种子数据跑通流程后再逐步扩充。数据量从几千到几十万都有取决于业务复杂度。如果面试官问“怎么评估 SFT 数据质量”可以从指令多样性、答案正确性、格式一致性、难度分布、去重率这些维度回答。3.4 RLHF 与 DPO 的关系RLHF基于人类反馈的强化学习不再是唯一的对齐方式现在 DPO直接偏好优化也频繁出现在面试中。RLHF 通常包含三个阶段训练奖励模型、基于奖励模型做强化学习、使用 PPO 等算法更新策略。它的好处是可以对齐人类偏好但训练流程复杂超参数敏感显存消耗也大。DPO 的出发点是绕开显式的奖励模型直接用偏好数据通过损失函数优化策略模型。实现更简单训练更稳定因此在很多开源微调项目中成为首选。面试时可以强调DPO 仍然需要偏好数据chosen 和 rejected但不再依赖单独训练的 reward model这正是它比 RLHF 流程更短的原因。3.5 精度问题fp16、bf16、fp32大模型训练和部署时经常遇到精度问题。这里需要记住三者的差异精度位宽特点典型场景fp3232 位数值稳定显存占用大训练基线、数值敏感计算fp1616 位显存减半但小数值易溢出混合精度训练bf1616 位与 fp32 动态范围接近保留更多指数位大模型训练、推理面试中常见的问题是“为什么训练大模型优先用 bf16”因为 bf16 的指数位与 fp32 相同不太容易出现梯度溢出虽然尾数精度低但在训练深度网络时通常能接受。如果做推理部署还会继续追问 INT8、INT4 量化这部分放到部署章节详细讲。4. 推理与部署面试题4.1 常见部署方案怎么选大模型部署不是只有一种方案面试官通常希望听到选型思路而不是直接背答案。常见方案包括vLLM吞吐高支持 PagedAttention、Continuous Batching适合在线推理。TensorRT-LLM针对 NVIDIA GPU 优化延迟低适合追求极致性能的线上服务。llama.cpp适合 CPU 环境、边缘设备容易做 GGUF 量化。Ollama本地快速体验工具适合原型验证不适合大规模生产。选择依据可以从模型规模、GPU 显存、并发请求量、延迟要求、开发维护成本几个维度展开。如果只能说“我们用 vLLM”会显得项目深度不足。4.2 模型量化量化是把浮点权重转换为低精度表示降低显存和计算开销。常见的量化位宽包括 INT8、INT4以及 GPTQ、AWQ 等方法。量化的代价是精度损失。层数越深、量化粒度越粗损失越明显。面试时如果被问到“量化后效果变差怎么办”可以回答先做小规模评估对比再尝试混合精度量化、敏感层跳过量化、或者用 AWQ 这类基于激活值的量化方法。4.3 吞吐与显存估算部署面试题常让你算一块 24GB 显存的卡能跑多大的模型。一个粗糙的估算方式FP16 权重大约每 10 亿参数占用 2GB 显存7B 模型 FP16 权重约 14GB加上 KV Cache 和激活值至少要 18GB 以上才能勉强运行。所以 7B 模型在单张 24GB 显卡上可以跑但并发很受限制。如果不确定面试时可以明说这是估算值实际还要看上下文长度和并发数。这种坦诚比给出不准确的精确数字更好。4.4 vLLM 部署示例下面是一个 vLLM 启动服务的简化命令示例。实际参数需要根据你的模型路径和显卡显存调整。vllm serve /models/Qwen2.5-7B-Instruct \ --port 8000 \ --tensor-parallel-size 1 \ --max-model-len 8192 \ --gpu-memory-utilization 0.85启动后可以通过 OpenAI 兼容接口调用curl http://localhost:8000/v1/chat/completions \ -H Content-Type: application/json \ -d {model: /models/Qwen2.5-7B-Instruct, messages: [{role: user, content: 你好}]}需要注意的是模型名称默认可能与路径相关具体以服务启动日志为准。这个示例的核心目的是展示“部署不只是在 Hugging Face 上加载模型还要关注服务接口、并发参数和显存控制”。5. RAG、Prompt 与 Agent 高频面试题5.1 RAG 为什么这么火RAGRetrieval-Augmented Generation是目前大模型应用落地最常用的方案。它的核心逻辑是先从外部知识库检索相关文档再把检索结果作为上下文输入给大模型让模型基于这些内容生成答案。面试官常问“RAG 和微调有什么区别”回答可以从维护成本、实时性、可解释性三方面切入。RAG 不需要重新训练模型知识更新快输出可以引用来源微调更适合改变模型行为、风格或者解决稳定的领域问题。5.2 RAG 的完整链路一个标准的 RAG 系统包括以下环节文档加载与解析。文本切分chunking。向量化embedding。向量索引存储。用户问题向量化。相似度检索。重排序rerank。拼接上下文并让大模型生成答案。很多候选人能说到第 6 步但容易漏掉重排序。这里可以补充top-k 检索结果可能不够准确加入 rerank 模型后能提升答案相关性这是生产级 RAG 和 demo 级 RAG 的重要区别。下面以 llama_index 为例展示一个最小可运行的 RAG 构建流程。具体 API 会随版本变化重点是理解整体流程。# 文件路径rag_demo.py # 需要安装pip install llama-index from llama_index.core import VectorStoreIndex, SimpleDirectoryReader documents SimpleDirectoryReader(./docs).load_data() index VectorStoreIndex.from_documents(documents) query_engine index.as_query_engine(similarity_top_k3) response query_engine.query(大模型微调时学习率一般设置多少合适) print(response)这段代码做了什么读取 docs 目录下的文档切分后向量化构建索引查询时检索最相关的 3 个片段并交给默认的大模型生成答案。实际项目中还要处理文档清理、chunk 大小调优、embedding 模型选型、重排序、召回率评估等问题。5.3 Prompt 优化套路Prompt 是面试必问题常见套路包括角色设定让模型扮演特定角色。明确指令把任务拆成清晰的步骤。给出格式要求例如“输出 Markdown 表格”。示例引导用 few-shot 示例说明期望输出。约束范围告诉模型不知道就回答不知道。如果被问到“CoT 是什么”可以解释为思维链提示通过让模型逐步推理来降低复杂任务出错率。但要注意CoT 不是所有任务都有效简单任务反而可能浪费 token。5.4 幻觉问题大模型幻觉是指模型生成看似合理但不符合事实的内容。面试常问“如何缓解幻觉”可以从三个层面回答输入层面加入检索结果、引用来源、增加上下文约束。推理层面降低 temperature使用确定性采样减少开放生成。模型层面用 SFT 或 DPO 对齐让模型学会拒答。如果面试官继续问“如何检测幻觉”可以回答构建带标准答案的评测集通过人工评估或大模型裁判评估统计答案与标准答案的一致性。5.5 Agent 方向高频题什么是 Function Call / Tool CallingAgent 和普通对话系统有什么区别多 Agent 协作会出现哪些问题如何管理 Agent 的长期记忆工具调用失败后如何重试回答 Agent 问题时关键是讲清楚“决策-执行-观察-再决策”的循环以及工具描述、参数解析、异常恢复这些工程细节。只提 AutoGPT 不够面试官更想听你踩过哪些坑。6. 大模型面试高频自测清单前几章已经给出了不少真题解析。下面按模块整理一份高频自测清单你可以用来检查自己的复习覆盖度。每道题都建议先自测能否讲满两分钟。6.1 Transformer 与模型架构序号问题1手写 Self-Attention 计算过程2多头注意力的维度变化3RoPE 位置编码的原理4为什么用 GQA 替代 MHA5上下文窗口和位置编码的关系6嵌入
返回列表