1. 为什么这8个问题成了LLM面试的硬门槛面试过十几位大模型方向的候选人之后我发现一个很明显的规律简历上写着“熟悉Transformer”“做过RAG项目”的人不少但真正能把这8个问题讲清楚的人可能连三成都不到。这不是候选人笨而是很多人学LLM的路径本身就有问题——看了一堆科普视频跑通了几个Demo但底层逻辑是散的一旦面试官往深处追问两层就露馅了。这8个问题之所以成为面试的硬门槛核心原因在于它们覆盖了LLM从输入到输出的完整链路Tokenization决定了模型看到的世界长什么样Embedding决定了语义如何被数学化表达Transformer是整个架构的骨架Function Calling是模型与外部世界交互的手脚而围绕训练、推理、评估、部署的问题则考察你是否具备工程落地的全局观。面试官问这些问题不是要考你背了多少定义而是想看你能不能把这条链路串起来能不能在遇到具体问题时做出合理的工程判断。我见过太多候选人问Transformer的注意力机制能画出示意图但问他“为什么现在的LLM大多用Decoder-only而不是Encoder-Decoder”就卡住了问他Embedding是什么能说出“把词映射成向量”但问他“为什么Embedding维度通常是128的倍数”就答不上来。这种“知道名词但不知道所以然”的状态在面试中是致命的。这篇文章面向的是准备LLM相关岗位面试的工程师也适合正在系统学习大模型底层原理的开发者。我会把每个问题拆开揉碎不仅告诉你“标准答案”是什么更重要的是告诉你面试官到底想听到什么以及在实际工程中这些知识点是怎么用的。每个问题我都会补充常见的追问方向、容易踩的坑以及我自己在面试别人和被面试时积累的经验。2. 八个必问问题的深度拆解与应答策略2.1 问题一Tokenization到底在做什么为什么它这么重要Tokenization是LLM处理文本的第一步也是很多人最容易忽略的一步。面试官问这个问题通常不是想听你说“把文本切成token”而是想考察你对分词粒度、词表设计和多语言支持的理解。先讲清楚基本概念。Tokenization就是把原始文本切分成模型能处理的最小单元。这个单元可以是字符、子词subword或者词。目前主流的LLM基本都采用子词级别的分词方案最常见的是BPEByte Pair Encoding和它的变体。为什么不用词级别因为词级别的词表会爆炸而且遇到未登录词就没法处理。为什么不用字符级别因为字符级别的序列太长模型很难学到有意义的语义单元。BPE的核心思想很简单从字符开始不断把出现频率最高的相邻字符对合并成新的token重复这个过程直到词表达到预设大小。举个例子“lowest”这个词初始状态是l-o-w-e-s-t六个字符如果“e”和“s”在语料中经常相邻出现就会被合并成“es”然后“est”可能进一步被合并。最终“lowest”可能被切成“low”和“est”两个token。这样做的好处是常见词会被完整保留为一个token罕见词会被拆成有意义的子词组合既控制了词表大小又保留了语义信息。面试官常见的追问是“中文的Tokenization和英文有什么不同”这个问题很关键。中文没有天然的空格分隔所以早期很多模型对中文的处理效率很低一个汉字可能被拆成多个byte。现在主流的做法是在训练分词器时加入足够的中文语料让常见汉字和词组成为独立的token。但即便如此中文的平均token数仍然比英文多这意味着同样长度的文本中文消耗的token更多推理成本更高。这是做中文LLM应用时必须考虑的成本因素。还有一个高频追问“词表大小怎么选”这个问题没有标准答案但你可以这样回答词表太小序列会变长推理变慢词表太大Embedding矩阵会变大参数量增加而且低频token的训练不充分。实践中主流LLM的词表大小通常在32K到150K之间。比如很多开源模型用32K或50K的词表而一些多语言模型会用到100K以上。选择的关键在于你的语料分布——如果多语言场景多词表就要大一些如果主要是英文32K到50K就够用了。注意面试时千万不要说“Tokenization就是把句子切成词”这会让面试官觉得你停留在表面。要强调它是在词表大小和序列长度之间做权衡的工程决策。2.2 问题二Embedding的本质是什么为什么它能表达语义Embedding这个问题面试官想考察的是你对向量空间和语义相似度的理解。很多人能说出“Embedding就是把词变成向量”但面试官接着问“为什么向量能表达语义”就答不上来了。Embedding的本质是分布式表示。它的核心思想是一个词的含义可以由它经常出现的上下文来定义。比如“猫”和“狗”经常出现在相似的上下文里“喂__”“__很可爱”所以它们的向量在空间中会比较接近。这个思想最早来自语言学中的分布假说后来在Word2Vec、GloVe等模型中得到了验证。在Transformer架构中Embedding层就是一个查找表每个token ID对应一个d维向量。这个向量在训练开始时是随机初始化的随着训练过程不断更新最终每个token的向量会收敛到一个能反映其语义和语法属性的位置。有意思的是这些向量往往会呈现出一些线性关系比如经典的“国王 - 男人 女人 ≈ 女王”这说明模型学到的不仅仅是共现关系还有某种结构化的语义空间。面试官常见的追问是“Embedding维度怎么选”这个问题可以从两个角度回答。从理论角度维度越高能表达的信息越多但过高的维度会导致过拟合和计算浪费。从实践角度主流LLM的Embedding维度通常在512到8192之间而且往往是128的倍数——这是因为GPU对矩阵运算有对齐要求128的倍数能获得更好的计算效率。比如BERT-base用的是768维GPT-3用的是12288维。选择维度时还要考虑模型总参数量Embedding层的参数量是词表大小乘以维度如果词表是50K、维度是4096那Embedding层就有2亿参数这在总参数量中占比不小。还有一个高频追问“Embedding和Attention有什么关系”这个问题很能区分候选人的理解深度。简单说Embedding是静态的每个token在输入时拿到一个初始向量而Attention是动态的它根据上下文让每个token的表示发生变化。比如“苹果”这个词在“吃苹果”和“苹果发布会”中Embedding层给出的初始向量是一样的但经过Attention层之后两个语境下的表示会变得不同。这就是为什么Transformer比Word2Vec强大——它能让同一个词在不同语境下有不同的表示。提示面试时如果能主动提到“Embedding是静态的Attention是动态的”会让面试官觉得你对模型内部机制有清晰的认识。2.3 问题三Transformer的注意力机制到底在注意什么Transformer是LLM面试中绕不开的话题而注意力机制是Transformer的核心。面试官问这个问题想考察的是你对QKV机制、多头注意力和位置编码的理解。先讲清楚注意力机制在做什么。用一句话概括注意力机制让每个token能够根据当前语境从其他所有token那里有选择地获取信息。具体来说每个token会生成三个向量Query查询、Key键和Value值。Query代表“我在找什么”Key代表“我有什么”Value代表“我能提供什么”。注意力权重的计算就是拿Query和所有Key做点积经过softmax归一化后得到权重再用这些权重对Value加权求和。为什么是点积因为点积可以衡量两个向量的相似度。Query和某个Key的点积越大说明这个Key对应的token和当前token越相关它的Value就应该被更多地采纳。除以根号d_k是为了防止点积结果过大导致softmax梯度消失这个细节面试时如果能主动提到会加分不少。多头注意力是另一个重点。为什么要用多头因为单个注意力头只能学到一种关注模式而多头允许模型同时关注不同的信息。比如一个头可能关注语法关系主谓宾另一个头可能关注语义相似性还有一个头可能关注位置邻近性。每个头有自己独立的QKV投影矩阵最后把所有头的输出拼接起来再投影一次。实践中头的数量通常是8到128个每个头的维度是总维度除以头数。比如总维度是4096、头数是32那每个头的维度就是128。位置编码是面试中容易被忽略但很重要的点。因为注意力机制本身是位置无关的——打乱输入顺序注意力权重的计算结果是一样的。所以必须显式地注入位置信息。最早的做法是用正弦余弦函数生成固定的位置编码后来GPT系列改用了可学习的位置编码再后来出现了RoPE旋转位置编码和ALiBi等更先进的方案。RoPE的核心思想是通过旋转矩阵把位置信息编码到Q和K的点积中这样既能表达绝对位置又能表达相对位置而且外推能力更好。面试时如果能提到RoPE说明你关注了较新的技术进展。面试官常见的追问是“Transformer的复杂度是多少为什么说它是O(n²)”这个问题考察你对计算瓶颈的理解。注意力矩阵的大小是n×nn是序列长度所以计算和存储复杂度都是O(n²)。这意味着序列长度翻倍计算量变成四倍。这就是为什么长上下文处理是一个难题也是为什么出现了各种稀疏注意力、线性注意力的变体。但要注意虽然注意力是O(n²)但模型中的FFN层是O(n·d²)当序列长度不太大时FFN反而是计算大头。这个细节能体现你对实际计算分布的了解。注意面试时不要只背公式要能解释每个操作的意图。比如“除以根号d_k是为了数值稳定性”“多头是为了捕捉多种关注模式”这些解释比公式本身更重要。2.4 问题四Function Calling是怎么让LLM调用外部工具的Function Calling是LLM从“聊天机器人”走向“智能体”的关键能力。面试官问这个问题想考察你对工具调用流程和结构化输出的理解。先讲清楚Function Calling要解决什么问题。LLM本身只能生成文本不能查天气、不能查数据库、不能发邮件。Function Calling就是让LLM能够输出一个结构化的调用请求告诉外部系统“我要调用哪个函数参数是什么”外部系统执行后再把结果返回给LLMLLM据此生成最终回复。整个流程可以分为四步。第一步开发者把可用的函数定义函数名、描述、参数schema作为系统提示的一部分传给LLM。第二步用户提问后LLM判断是否需要调用函数如果需要就输出一个JSON格式的调用请求包含函数名和参数。第三步外部系统解析这个JSON执行对应的函数拿到结果。第四步把函数结果作为新的消息追加到对话历史中再次调用LLMLLM根据结果生成自然语言回复。这里的关键技术点是结构化输出。LLM需要以特定的JSON格式输出调用请求而且这个JSON必须能被解析。早期做法是在提示词里写清楚格式要求但LLM经常输出格式错误的JSON。后来OpenAI推出了function calling的专用接口在模型层面做了约束大大提高了格式正确率。现在很多开源模型也支持类似的机制通常是通过在训练数据中加入大量函数调用的样本让模型学会在需要时输出正确的JSON。面试官常见的追问是“如果LLM调用了错误的函数怎么办”这个问题考察你对容错机制的理解。实践中通常会在提示词中详细描述每个函数的用途和参数含义减少误调用的概率。同时外部系统在执行前可以做参数校验如果参数不合法就返回错误信息给LLM让LLM重新生成。还可以设置最大调用轮数防止LLM陷入无限调用的循环。更高级的做法是让LLM在调用前先输出推理过程解释为什么选择这个函数这样既能提高准确率也方便调试。还有一个高频追问“Function Calling和Agent有什么关系”简单说Function Calling是Agent的基础能力之一。Agent不仅需要调用工具还需要规划任务、维护状态、处理多步推理。Function Calling解决了“怎么调”的问题Agent解决了“什么时候调、调完之后下一步做什么”的问题。面试时如果能把这个层次关系讲清楚会显得你对整个技术栈有全局观。提示面试时如果能举一个具体的例子比如“用户问今天北京天气LLM输出get_weather(city北京)外部API返回结果后LLM生成‘北京今天晴25度’”会让回答更生动。2.5 问题五LLM的训练过程分几步每步在做什么这个问题考察的是你对LLM生命周期的理解。很多人只知道“预训练微调”但面试官想听到更细的划分和每步的工程考量。完整的训练流程通常分为三个阶段预训练、监督微调和对齐训练。预训练是在海量文本上做自回归语言建模目标是让模型学会预测下一个token。这个阶段的数据量通常是TB级别训练成本极高只有少数机构能从头做。预训练出来的模型叫基座模型它有很强的语言能力但不会遵循指令你问它“今天天气怎么样”它可能会续写成“今天天气怎么样今天天气真好适合出去玩……”而不是回答你的问题。监督微调是在高质量的指令-回答对上继续训练让模型学会遵循指令。这个阶段的数据量小得多通常是几万到几百万条但数据质量要求很高。微调的方式可以是全参数微调也可以是LoRA等参数高效微调方法。LoRA的核心思想是在原始权重旁边加一个低秩矩阵只训练这个低秩矩阵大幅减少可训练参数量。实践中LoRA的秩通常设为8到64学习率比全量微调大一些训练速度快很多效果在多数场景下接近全量微调。对齐训练是让模型的输出更符合人类偏好。最常用的方法是RLHF基于人类反馈的强化学习流程是先训练一个奖励模型让它学会判断什么样的回答更好然后用强化学习算法如PPO优化LLM让它生成奖励模型打分更高的回答。后来出现了DPO等更简单的方法直接用偏好数据优化LLM省去了训练奖励模型的步骤。对齐训练的目标不仅是“有用”还包括“无害”和“诚实”。面试官常见的追问是“预训练数据怎么处理”这个问题很实际。预训练数据通常来自网页、书籍、代码库等需要经过清洗去重、去噪、过滤低质量内容、分词、打包成固定长度的序列等步骤。数据质量对模型效果影响极大业界有句话叫“垃圾进垃圾出”。实践中数据清洗的投入往往比模型架构的调整更重要。注意面试时不要只说“预训练就是训练模型”要强调每个阶段的目标不同、数据不同、方法不同。如果能提到“基座模型不会遵循指令”这个点说明你真的理解每个阶段的作用。2.6 问题六RAG和微调什么时候用哪个这个问题是LLM应用开发中的经典选择题。面试官想考察的是你对知识注入方式的理解和工程权衡能力。RAG检索增强生成的核心思路是不改变模型参数而是在推理时从外部知识库检索相关内容拼接到提示词中让模型基于检索结果生成回答。微调则是用特定领域的数据继续训练模型把知识“写进”参数里。两者的适用场景有明显区别。RAG适合知识频繁更新的场景比如新闻问答、产品文档查询因为更新知识库比重新训练模型便宜得多。RAG也适合需要引用来源的场景因为检索结果可以附带出处。微调适合需要改变模型风格或行为的场景比如让模型学会特定的输出格式、特定的推理方式或者注入相对稳定的领域知识。从成本角度看RAG的主要成本在检索系统和向量数据库微调的主要成本在训练算力和数据标注。RAG的延迟通常更高因为多了检索步骤微调的推理延迟和原始模型一样。从效果角度看RAG在事实性问答上通常更好因为检索到的内容直接来自知识库微调在风格迁移和复杂推理上可能更好因为模型参数真正学到了领域模式。面试官常见的追问是“RAG和微调能一起用吗”当然可以而且实践中经常一起用。比如先用微调让模型学会领域术语和输出格式再用RAG注入最新的具体知识。这种组合方式能兼顾风格和事实性。还有一个高频追问“RAG的检索质量怎么保证”这个问题很关键。检索质量取决于Embedding模型的选择、分块策略和重排序。分块太大会引入噪声分块太小会丢失上下文。实践中通常把文档切成256到512个token的块相邻块之间保留一定的重叠。重排序是用一个交叉编码器对检索结果重新打分把最相关的排到前面。这些细节能体现你对RAG全链路的理解。提示面试时如果能说出“RAG解决知识更新问题微调解决行为对齐问题”会让面试官觉得你抓住了本质。2.7 问题七LLM推理优化有哪些手段这个问题考察的是工程落地能力。面试官想听到的不是“用GPU加速”这种泛泛的回答而是具体的优化技术和适用场景。推理优化可以从几个层面入手。量化是最常用的手段把模型权重从FP16降到INT8或INT4减少显存占用和计算量。量化会带来一定的精度损失但实践中INT8量化的损失通常很小INT4量化在多数任务上也能接受。量化的关键是找到合适的缩放因子让量化后的数值分布尽量接近原始分布。KV Cache是另一个关键优化。自回归生成时每生成一个token都需要重新计算所有之前token的Key和Value这很浪费。KV Cache把这些中间结果缓存起来生成新token时只需要计算当前token的KV然后和缓存拼接。这样能把生成每个token的计算复杂度从O(n²)降到O(n)。但KV Cache会占用大量显存序列越长占用越多所以出现了MQA多查询注意力和GQA分组查询注意力等变体通过让多个头共享Key和Value来减少缓存大小。批处理是提高吞吐量的关键。把多个请求打包成一个批次一起推理能充分利用GPU的并行能力。但批处理会增加延迟因为要等批次里的所有请求都完成。实践中常用连续批处理continuous batching动态地把新请求加入批次完成的请求移出批次兼顾吞吐和延迟。投机采样是一种用少量精度换速度的技术。用一个小的草稿模型快速生成多个候选token然后用大模型一次性验证这些token是否正确。如果草稿模型的猜测准确率够高就能用一次大模型前向传播生成多个token大幅加速。这个技术的难点在于草稿模型的选择和验证策略的设计。面试官常见的追问是“量化到INT4之后效果下降明显怎么办”这个问题很实际。可以尝试混合精度量化对敏感层保留更高精度也可以用量化感知训练在训练时就模拟量化误差让模型适应。还可以用GPTQ、AWQ等更先进的量化算法它们能根据权重的重要性做更精细的量化。注意面试时不要只列技术名词要解释每个技术解决什么问题、在什么场景下用。比如“KV Cache解决重复计算问题但带来显存压力所以有了GQA”。2.8 问题八怎么评估一个LLM的好坏评估是LLM落地中最容易被忽视但最重要的环节。面试官问这个问题想考察你是否具备系统性评估的思维。评估LLM不能只看一个指标要从多个维度综合判断。能力维度包括语言理解、知识问答、推理、代码生成等常用的基准测试有MMLU、GSM8K、HumanEval等。但基准测试有局限性可能被数据污染也可能和实际业务场景不匹配。所以还需要业务维度的评估用真实场景的测试集来检验模型表现。安全性维度包括是否会产生有害内容、是否有偏见、是否能抵抗提示注入攻击。效率维度包括推理延迟、吞吐量、显存占用。成本维度包括每百万token的推理成本、微调成本。这些维度往往需要权衡比如更大的模型效果更好但成本更高量化能降低成本但可能损失精度。评估方法上自动评估用BLEU、ROUGE、BERTScore等指标适合快速迭代人工评估让标注员对回答质量打分更准确但成本高模型评估用更强的LLM作为裁判比如用GPT-4给其他模型的回答打分成本介于两者之间。实践中通常组合使用先用自动评估筛掉明显差的再用人工评估做精细对比。面试官常见的追问是“怎么评估RAG系统的效果”这个问题很具体。RAG的评估要分检索和生成两部分。检索部分看召回率、准确率、MRR等指标生成部分看答案是否忠实于检索内容忠实度、是否回答了用户问题相关性。常用的框架有RAGAS它用LLM自动评估这些指标。还有一个高频追问“A/B测试怎么做”在LLM场景下A/B测试通常是把用户流量分到两个模型上比较用户满意度、任务完成率、平均对话轮数等业务指标。难点在于LLM的输出方差大需要足够的样本量才能得到统计显著的结果。提示面试时如果能提到“评估要结合自动指标和人工判断还要看业务指标”会显得你有落地经验。3. 面试官真正想听到的回答框架3.1 用“是什么-为什么-怎么做”三层结构组织回答面试中最忌讳的是只回答“是什么”。比如问Tokenization只说“把文本切成token”就结束了面试官会觉得你只会背定义。好的回答应该有三层第一层解释概念第二层解释为什么这样设计第三层讲实际怎么做。以Tokenization为例。第一层Tokenization是把文本切分成模型能处理的最小单元主流方法是BPE。第二层为什么用BPE因为词级别词表太大且无法处理未登录词字符级别序列太长且语义单元不明确BPE在两者之间取得平衡。第三层实际怎么做用SentencePiece或tiktoken库训练分词器根据语料分布选择词表大小中文场景要确保足够的中文语料参与训练。这个三层结构适用于所有问题。面试官问Embedding你可以说Embedding是把token映射成向量是什么向量能表达语义是因为分布式假说为什么实际中选择维度要考虑计算效率和参数量占比怎么做。这样回答既完整又有深度。3.2 主动暴露知识边界但展示学习路径面试中遇到不会的问题很正常关键是怎么应对。最差的做法是硬编编错了反而扣分。好的做法是坦诚说“这个点我了解得不够深入”然后展示你的学习路径“但我知道它和XX有关我理解可能是YY如果不对请您指正。”比如面试官问“RoPE的具体数学推导”如果你不记得公式可以说“RoPE的数学细节我记不太清了但我知道它的核心思想是通过旋转矩阵把位置信息编码到Q和K的点积中这样能同时表达绝对位置和相对位置而且外推能力比可学习位置编码好。如果需要我可以回去推导一下。”这样既诚实又展示了你理解核心思想。3.3 用具体案例支撑抽象概念面试中最有说服力的回答是“概念案例”。比如问Function Calling不要只说流程要举一个具体例子“用户问‘帮我查一下北京明天的天气’LLM会输出get_weather(city北京, date明天)外部API返回{temp: 25, condition: 晴}LLM再生成‘北京明天晴25度’。”这个例子能让面试官立刻确认你真的理解了这个机制。案例不需要复杂但要具体到参数和返回值。这能体现你有实际动手经验而不是只看过文档。4. 高频追问与避坑指南4.1 那些容易答错的追问面试官在听完基础回答后通常会追问一到两个深入问题。我整理了几个高频追问和容易踩的坑。追问方向常见错误回答更好的回答为什么用Decoder-only“因为GPT用的这个”“Decoder-only在自回归生成任务上更自然训练时每个位置只能看到左侧上下文和生成任务的目标一致Encoder-Decoder适合输入输出长度差异大的任务如翻译但LLM场景下Decoder-only更简洁高效”为什么Attention要除以根号d_k“为了归一化”“点积的方差随维度d_k增大而增大除以根号d_k能把方差拉回1附近防止softmax进入饱和区导致梯度消失”LoRA的秩怎么选“越大越好”“秩越大表达能力越强但参数量越多实践中8到64通常够用具体要看任务复杂度和数据量数据少时用小秩防止过拟合”量化为什么能加速“因为数值变小了”“INT8/INT4的矩阵运算在支持低精度的硬件上吞吐量更高同时显存占用减少能支持更大批次两者共同提升推理速度”4.2 面试中的表达技巧面试不仅是考知识也是考沟通。同样的知识点表达方式不同面试官的印象分差别很大。第一先给结论再展开。面试官问“RAG和微调怎么选”你先说“看知识更新频率和行为改变需求”然后再展开。这样面试官能快速抓住你的思路。第二用对比代替罗列。不要一个一个说RAG的优缺点而是用对比的方式“RAG适合知识频繁更新微调适合行为对齐RAG延迟高但更新便宜微调推理快但训练贵。”对比能让面试官看到你的权衡思维。第三主动关联其他知识点。问Function Calling时主动提到“这和Agent的关系是……”问Embedding时主动提到“这和Attention的区别是……”。这种关联能展示你的知识是网状的不是孤立的。4.3 我踩过的坑和观察到的规律我自己面试别人时最怕遇到两种候选人。一种是“名词党”每个概念都能说两句但一追问就露馅另一种是“论文党”能讲最新论文的细节但问他实际怎么部署就答不上来。真正加分的候选人是能把原理和工程结合起来的。我印象很深的一次面试问一个候选人“KV Cache的显存怎么估算”。他不仅给出了公式2 × 层数 × 头数 × 头维度 × 序列长度 × 批次大小 × 精度字节数还补充说“实际中还要考虑碎片化和框架开销通常按理论值的1.2到1.5倍预留”。这个回答让我立刻判断他有实际部署经验。还有一个规律面试中能主动提到“成本”和“延迟”的候选人通常工程能力更强。因为学术研究追求效果上限工程落地追求效果和成本的平衡。如果你在回答每个问题时都能顺带提一句成本或延迟的考量面试官会觉得你具备落地思维。5. 从面试问题到实际工作的能力映射5.1 这些问题在实际项目中怎么体现面试问的8个问题在实际工作中对应的是不同的能力模块。Tokenization和Embedding对应的是数据处理和模型输入的理解Transformer对应的是模型选型和架构调整Function Calling对应的是Agent开发训练流程对应的是模型定制RAG和微调对应的是知识注入方案选型推理优化对应的是部署上线评估对应的是质量保障。换句话说这8个问题覆盖了LLM应用从数据到部署的完整链路。面试官问这些问题本质上是在判断你能否独立负责一个LLM项目的某个环节或者能否在团队中和其他环节的同事有效协作。比如你做RAG应用Tokenization的知识能帮你选择合适的分块策略Embedding的知识能帮你选择检索模型Transformer的知识能帮你理解为什么长上下文检索效果会下降评估的知识能帮你设计检索质量的测试方案。这些知识点不是孤立的而是相互关联的。5.2 准备面试的正确姿势准备LLM面试不要只背答案。我的建议是选一个开源模型比如Llama或Qwen从Tokenization开始把整个流程跑一遍。用SentencePiece训练一个分词器看看不同词表大小对序列长度的影响用HuggingFace加载模型看看Embedding层的维度手动实现一个简化的注意力机制理解QKV的计算过程用OpenAI的function calling接口做一个天气查询Demo用LoRA微调一个小模型用vLLM部署一个推理服务测一下吞吐量用RAGAS评估一个RAG系统。这一套跑下来你对这8个问题的理解会从“知道”变成“体验过”。面试时你讲的不再是书本上的知识而是你亲手做过的事情。这种真实感是任何背诵都替代不了的。5.3 面试之后持续学习的方向LLM领域变化很快今天的热点可能明天就过时了。但底层原理是相对稳定的——Transformer架构、注意力机制、Embedding原理这些在可预见的未来不会有大变化。所以准备面试时要把主要精力放在底层原理上同时保持对新技术的好奇心。具体来说我建议关注三个方向。第一是效率优化包括量化、蒸馏、稀疏化、长上下文处理这些是LLM落地的核心瓶颈。第二是Agent能力包括Function Calling、多步规划、工具使用、记忆机制这是LLM从聊天走向做事的关键。第三是评估与安全包括自动化评估、红队测试、对齐技术这是LLM大规模应用的前提。面试只是起点真正重要的是入职之后能不能持续产出。我见过很多面试表现很好但入职后水土不服的候选人核心原因是他们把面试当成了终点而不是起点。LLM这个领域保持学习习惯比任何一次面试的成功都重要。提示如果你正在准备面试建议把这篇内容里的每个问题都用自己的话讲一遍录下来回听。你会发现很多你以为懂了的点讲出来才发现逻辑是断的。讲一遍比看十遍都有用。
阅读完成 · 觉得有帮助?