生成式AI面试30题:LLM核心考点与答题思路

按原理、训练、调用、上线四组梳理30道LLM面试题及答题要点。
文章面向初级和中级工程师,把30道生成式AI与LLM面试题按“模型怎么工作、怎么训练、怎么调用、怎么安全上线”的工作流分为四组:基础原理(Transformer、自注意力、token、位置编码、上下文窗口、嵌入区别)、训练与微调(预训练、SFT、RLHF、DPO、LoRA、QLoRA、微调与RAG取舍、灾难性遗忘)、提示与推理(temperature与top-p、少样本、思维链、结构化输出、工具调用、系统提示、KV缓存)、生产安全与评估(延迟成本、语义缓存、幻觉、提示注入、护栏、评估、Agent)。每题给出60秒可讲完的答案思路,并点明面试官真正考察的点,最后总结常见失分点与准备建议。

准备生成式AI岗位的面试,与其背诵零散的知识点,不如围绕一条主线建立体系:模型怎么工作、怎么训练、怎么调用、怎么安全上线。这篇文章梳理了30道面向初级和中级工程师的LLM面试题,按这条主线分成四组,每道题给出60秒内能讲完的参考答案思路,并补充面试官真正在考察什么。
为什么按"工作流"组织面试题更有效
大多数面向应届生的生成式AI面试题,集中在第一组(基础原理)和第三组(提示与推理)。而第四组(生产、安全与评估)往往是区分"真正上线过产品"和"只读过文章"的分水岭。把知识点放进这条工作流里记忆,回答时自然能串起来,也更容易接上自己项目的例子。
以下每道题的答案都建议用自己的话复述,并尽量替换成亲身项目的细节。
基础:Transformer、Token与注意力
1. 什么是大语言模型?
LLM是一个神经网络,几乎都是Transformer结构,在海量文本上训练来根据前文预测下一个token。把这个任务做到足够好,模型就被迫学会语法、事实、推理模式和风格。聊天模型则是在此基础上进一步训练,使其遵循指令并保持对话。推理时逐token生成,每次输出又作为下一次的输入。
2. 简述Transformer架构
Transformer把token转成嵌入向量,加入位置信息,再经过一串结构相同的块。每个块包含自注意力层(让每个token从其他token收集信息)和逐位置的前馈网络,两者外围都有残差连接和层归一化。原始设计分编码器和解码器,而现代LLM大多是decoder-only。相比RNN,其核心优势是训练时所有位置可以并行处理。
3. 自注意力如何工作?
每个token的向量被投影成query、key和value。注意力分数是某token的query与所有key的点积,除以key维度的平方根后过softmax得到权重,输出是value的加权和,即 softmax(QK^T / sqrt(d_k)) V。多头注意力并行运行多组不同投影,让不同头追踪不同关系。
面试官真正在查的: 为什么要除以 sqrt(d_k)。不缩放的话,点积过大会把softmax推进梯度极小的区域。
4. Encoder-only、decoder-only和encoder-decoder的区别
Encoder-only(如BERT)双向看整个输入,适合分类、嵌入等理解任务。Decoder-only(如GPT系列)用因果掩码,每个token只能看到之前的token,适合生成。Encoder-decoder(如T5)先编码输入再解码输出,天然适合翻译和摘要。当前通用LLM以decoder-only为主。
5. 什么是token,为什么重要?
Token是模型读写的基本单位,通常是BPE或SentencePiece等分词器切出的子词片段。英文平均一个token约4个字符,但包括印地语在内的许多语言和文字,表达同样意思需要更多token。Token重要是因为上下文上限、延迟和API计费都按它计算,也解释了诸如数错单词字母数这类奇怪失败。
6. Transformer如何知道词序?
注意力本身把输入当作无序集合,因此需要额外加入位置信息。原始Transformer在嵌入上叠加固定的正弦位置编码;有些模型学习位置嵌入;当前许多LLM使用旋转位置编码(RoPE),按位置旋转query和key向量,使注意力依赖相对距离。位置编码方式会影响模型处理超出训练长度上下文的能力。
7. 什么是上下文窗口,受什么限制?
上下文窗口是一次调用中模型能处理的最大token数,包含提示词和生成输出。标准自注意力的计算成本随序列长度平方增长,KV缓存显存随长度线性增长,所以长上下文很贵。窗口大也不保证模型用得充分——长提示中间部分的信息,往往不如开头和结尾可靠。
8. Token嵌入与句子嵌入的区别
Token嵌入是模型内部每个token的向量,每层都会变化。句子或文本嵌入是整段文本的单一向量,由专门训练的模型产生,使相似段落距离更近。后者才是存入向量数据库做语义搜索和RAG的东西;一般不会用聊天模型的原始隐状态来做这件事。
训练与微调
9. 预训练阶段发生了什么?
模型在超大规模文本语料上自监督训练:给定序列预测下一个token,在数十亿到数万亿token上最小化交叉熵损失。文本本身提供目标,无需人工标注。模型几乎全部知识和能力都来自这一阶段,它也是成本最高的一步。
10. 什么是有监督微调(SFT)?
SFT在预训练模型上继续训练,数据是精心整理的提示与理想回复对,让模型学会按特定格式遵循指令。损失通常只计算在回复token上。这一步把文本补全模型变成助手,企业也会用较小规模的数据教模型掌握领域格式或风格。
11. 解释RLHF
RLHF在预训练之后分三步。先做SFT。然后让人比较成对的模型回复,训练奖励模型预测人偏好哪一个。最后用强化学习(经典是PPO)优化LLM,使其产出奖励模型高分回复,同时用KL惩罚让它贴近SFT模型,避免钻奖励模型的空子。
12. DPO是什么,与RLHF有何不同?
直接偏好优化使用同类数据——偏好与被拒回复对——但省去独立奖励模型和RL循环。它直接在偏好对上优化一个分类式损失,用参考模型承担KL约束的角色。训练更简单稳定,因此流行起来,不过基于RL的方法仍被广泛使用。
13. 什么是LoRA?
低秩适配冻结预训练权重,只学习部分权重矩阵(通常是注意力投影)的小更新,形式是两个细矩阵的乘积,秩r常取8到64。只有这些小矩阵被训练,显存和检查点体积大幅下降,一个基座模型可以挂多个适配器。训练后更新可合并回权重,推理没有额外开销。
14. 什么是QLoRA?
QLoRA以4位精度(一种叫NF4的数据类型)加载冻结的基座模型,在其上以更高精度训练LoRA适配器,梯度穿过量化权重流入适配器。这让单卡微调更大的模型成为可能,效果接近16位LoRA。它还引入双重量化和分页优化器来进一步省显存。
面试官真正在查的: 你是否知道基座模型被量化了,而适配器没有。
15. 何时微调,何时用RAG?
需要知识时用RAG:私有、易变或需要引用的事实。需要行为时用微调:严格输出格式、一致风格、专门分类,或用更小更便宜的模型在窄任务上追平大模型。顺序是先提示、再RAG,两者都到瓶颈且手头有几百到几千条好样本时再微调。用微调灌事实,往往得到自信的错误答案,而且事实一变就得重训。
16. 什么是灾难性遗忘?
在窄数据集上微调时,模型可能丢失原有的通用能力,因为全量微调覆盖了支撑其他技能的权重。缓解手段包括用LoRA等参数高效方法、在微调集中混入通用数据、用低学习率和少量轮次,以及同时在通用任务和目标任务上评估。
提示与推理
17. temperature和top-p分别做什么?
Temperature在softmax前对logits做除法:小于1使分布更尖锐、偏向高概率token,大于1使其更平坦。温度为0时解码变成贪心,接近确定,但线上服务仍可能有细微波动。Top-p(核采样)只从概率累计到p的最小token集合中采样。Top-k保留概率最高的k个token。事实或抽取任务用低温度,头脑风暴用高温度。
18. 什么是少样本提示?
在真实输入之前,在提示里放几个完整的输入-输出示例,模型无需训练就能照模式输出。这是修正格式和语气最便宜的办法。选覆盖边界情况的例子,保持例子之间一致,留意模型照抄不适用的细节。零样本就是只给指令不给例子。
19. 什么是思维链提示?
思维链要求模型在给出最终答案前先写出中间步骤,可以通过指令或展示带步骤的示例来实现。在多步问题(如算术或逻辑)上,这通常能提升准确率,因为模型可以基于自己的中间结果继续推理。代价是更多输出token和延迟,而且写出来的推理不保证反映模型真实的解题过程。
20. 如何获得可靠的JSON等结构化输出?
用清晰的schema和示例要求它,然后强制约束。许多API提供JSON模式或schema约束解码,限制生成只能落在保持输出合法的token上。始终在代码里用schema库校验结果,失败时把校验错误一并带上重试。schema尽量扁平,字段名要有描述性;深层嵌套的可选字段更容易出错。
21. 函数调用或工具调用如何工作?
把可用函数的名称、描述和参数schema告诉模型。当请求需要某个函数时,模型输出带参数的结构化调用而不是纯文本。执行函数的是你的代码而不是模型,结果回传后模型据此写最终答案。每个调用都当作不可信输入:校验参数、检查权限,任何改动数据或花钱的操作都要求确认。
面试官真正在查的: 你是否知道模型从不自己运行代码。
22. 系统提示与用户提示有何不同?
系统提示为整个对话设定规则和角色:语气、范围、格式、该拒绝什么。用户提示是具体请求。模型被训练得更重视系统指令,但那是学出来的倾向,不是安全边界,所以别把秘密放进去,也别只靠它阻止滥用。
23. 什么是KV缓存?
生成时每个新token的注意力都需要之前所有token的key和value。KV缓存把它们存起来避免每步重算,大幅加快生成。代价是显存,随序列长度、批大小和模型规模增长,这也是长上下文和高并发服务昂贵的原因之一。
生产、安全与评估
24. 如何降低生产环境的LLM延迟和成本?
分别测量首token时间和每秒token数。流式返回让用户尽早看到输出。裁剪提示和检索上下文来减少输入token。简单请求路由到小模型,难的路由到大模型。对长而固定的前缀(如系统提示)使用服务商的提示缓存。离线任务批处理,限制输出长度;自托管模型用量化和高效推理引擎。
25. 什么是语义缓存,风险是什么?
语义缓存用问题的嵌入作键存储过往答案,新问题足够相似时直接返回缓存答案,在重复问题上省成本省延迟。风险是错误命中:两个在嵌入空间接近但答案不同的问题,比如日期或账号不同。要用严格阈值,把用户或上下文纳入键,绝不在用户之间缓存个性化答案。
26. LLM为什么会幻觉,如何减少?
训练奖励的是生成看似合理的下一个token,而不是说"我不知道",所以模型缺事实时会编出听起来正确的内容。减少办法:用检索到的来源做依据(RAG)、要求引用、允许并测试明确的"未找到"回答、事实任务用低温度、尽可能在代码里核验。可以让幻觉更少、更可见,但无法承诺彻底消除。
27. 什么是提示注入?
提示注入指模型读到的文本覆盖了开发者的指令。直接注入来自用户("忽略你的规则然后……");间接注入把指令藏在模型处理的内容里,比如网页、邮件或PDF。当模型配有工具时尤其危险。防御包括把指令与数据分离、工具最小权限、危险操作人工确认、输出过滤和监控。没有完美解法,要假设部分注入会成功来设计系统。
28. 什么是护栏?
护栏是模型外围的检查,不在模型内部。输入侧:内容审核、拦截超范围请求、检测个人数据。输出侧:schema校验、内容审核、检查引用来源是否存在、拦截泄露的秘密或个人数据。可以用规则、分类器或另一个模型实现。好的护栏针对产品的具体风险,并像普通代码一样被测试。
29. 如何评估一个LLM应用?
建一个真实输入加预期输出或评分标准的测试集,包含边界情况和过往失败。能精确检查的就精确检查(JSON合法、标签正确),抽样做人工评审,开放式答案用清晰评分标准的LLM-as-judge,但要留意评审模型偏好更长的答案和自己的风格。每次改提示、换模型或改检索都跑一遍,并跟踪用户反馈等生产信号。
面试官真正在查的: 你是否真正量化过,而不是只用眼睛看输出。
30. 什么是AI Agent,Agent会出什么问题?
Agent是LLM在循环中运行:决定调用哪个工具、观察结果、重复直到完成任务。Agent能处理开放式的多步任务,但错误会逐步累积,成本和延迟随循环增长,可能卡在重复动作上,工具还会放大提示注入的破坏力。实用的Agent要有步数上限、收窄的工具集、每步日志,以及危险操作的人工审批。当步骤已知时,固定工作流往往更可靠。
把答案变成面试优势
定义只能帮你过初筛,真正推动你前进的是把每个答案连到自己做过的东西上。"我把temperature设为0.2,因为我的应用基于文档作答、需要一致性",比任何关于logits的教科书句子都更有说服力。提示注入、评估、延迟也是同理:一个真实例子胜过三段理论。
如果还没有生成式AI项目,RAG应用是最值得做的一个,因为它在很小的代码库里同时覆盖嵌入、向量检索、提示、幻觉控制和流式输出。
常见的失分点
- 混淆训练与推理。 RAG不训练模型,模型也不会从你的聊天中"学习"。
- 说temperature为0就完全确定。 它接近确定,但在真实服务系统上并非保证。
- 声称微调能解决幻觉。 它可能让错误答案听起来更自信。
- 引用你无法佐证的模型排名或发布细节。 坚持讲跨模型成立的概念。
- 没有任何数字。 token数、延迟、top-k、temperature、评估分数——来自你工作的任何真实数字,都比没有强。
常见问题
应届生会被问哪些LLM面试题?
主要是基础:Transformer和自注意力是什么、token和上下文窗口是什么、temperature做什么、预训练/微调/RAG的区别、如何减少幻觉。如果你列了生成式AI项目,准备好被问怎么构建和评估它。
生成式AI面试需要懂注意力的数学吗?
要能写出 softmax(QK^T / sqrt(d_k)) V,并解释Q、K、V各是什么、为什么缩放。研究岗之外很少要求深度推导,但清晰的直觉是必须的。
面试中微调和RAG哪个更重要?
两者都会出现,通常一起问"什么时候用哪个"。应用岗问RAG更多,因为公司项目多为RAG;ML工程师岗更多问微调、LoRA和QLoRA。
如何快速准备生成式AI面试?
把这30道题练到能用自己的话讲清楚,然后做一个小而完整的项目(如RAG应用),让回答背后有亲手做过、亲手测过的依据。
面试官会问GPT或Gemini这类具体模型吗?
有时会,但他们主要关心可跨模型迁移的概念:上下文窗口、采样、工具调用、每token成本和评估。避免引用你无法支撑的基准声明。
背景补充
BPE(Byte Pair Encoding,字节对编码)是一种数据驱动的子词分词算法:它从字符级或字节级单元开始,反复统计语料中出现频率最高的相邻符号对,将其合并为新符号,直到词表达到预设大小。这样高频词往往保留为完整token,低频词和未登录词则被拆成更小的子词片段,从而在词表规模和表达能力之间取得平衡。SentencePiece是另一种常用工具,把文本视为原始字符流(含空格),支持BPE和unigram语言模型两种算法,对多语言和无需预分词的场景更友好。不同分词器切出的token数量和边界不同,这直接影响同样内容占用的上下文长度、API计费以及模型在字符级任务上的表现。
低秩(low-rank)指的是用一个较小的矩阵乘积来近似原本规模很大的权重更新。若原权重矩阵为 d×k,全量微调需要学习 d×k 个参数;LoRA 改为学习两个细长矩阵 A(d×r)和 B(r×k),其中秩 r 远小于 d 和 k,因此可训练参数从 d×k 降到 r(d+k)。这种分解成立的前提假设是:微调所需的权重变化本身具有较低的内在维度,用低秩结构就能捕捉大部分任务相关调整。r 取得越小参数越省、越不易过拟合,但容量也越有限;常用的 8 到 64 就是在这两者间取舍。多个 LoRA 适配器共享同一基座模型,切换时只需加载对应的小矩阵,这也是多任务部署成本低的原因。
KL惩罚(Kullback-Leibler 散度惩罚)衡量优化中的模型与参考模型(通常是SFT模型)输出分布的差异。在RLHF的强化学习目标里,除了让奖励模型打高分,还会加入一项随KL散度增大而增加的惩罚,使模型不能为了刷分而偏离参考模型太远。原因是奖励模型只是人类偏好的近似,存在被过度优化的空间:模型可能找到奖励模型打高分、但人类并不认可的怪异输出,即所谓奖励黑客(reward hacking)。KL惩罚相当于一根缰绳,在探索更受偏好回复的同时,把模型约束在仍像正常语言的区域附近。惩罚系数越大,模型越保守、越接近SFT模型;越小则越激进、越容易钻奖励模型的空子。
首token时间(Time to First Token,TTFT)指从发出请求到收到第一个输出token的耗时,反映的是预填充(prefill)阶段的快慢,即模型处理整段输入提示所需的时间;每秒token数(tokens per second,TPS)则反映解码阶段的生成速度,即后续每个token的产出速率。这两个指标影响的是不同体验:TTFT决定用户按下发送后要等多久才看到第一个字,TPS决定文字涌现得多快。长提示主要拉高TTFT,长输出和慢解码主要拖低TPS,因此优化时要先分清瓶颈在预填充还是解码,再选择裁剪输入、提示缓存、换小模型或换推理引擎等不同手段。
相关推荐

一人量产90集AI漫剧:10小时10块钱的完整制作流程
没有编剧经验也能做AI漫剧:10小时10块钱成本,红果平台单部收益4200元。本文拆解从AI生成剧本、分镜脚本到成片的六步完整流程,附万能提问公式和新手避坑指南。

豆包Agent自制报价测算器:接单报价告别凭感觉
B站UP主用豆包Agent零代码自制报价测算器,输入项目类型、数量、周期即可自动生成报价明细,支持加急与版权买断费率,一键复制发客户,手机端也能随时报价。

WorkBuddy实战教程:10个Agent项目从入门到简历级
WorkBuddy 实战教程解析:用中文交代任务的 AI 工作助手,配置环境比 Codex、Claude Code 更简单。10 个 Agent 实战项目覆盖文件整理、表格汇整、网页生成,新手三步上手,学完可写进简历。