联想AI工程师笔试复盘:大模型、端侧部署与工程化考点详解
2025年秋招的号角其实比很多人想象中吹得早七八月份就陆续有提前批的动静。联想AI工程师岗的笔试在我个人看来是这几家大厂里“性价比”很高的一个题量大但深度适中非常看重工程落地能力和纯刷题型算法岗有明显区别。这篇文章我把自己参加2025届秋招联想AI工程师笔试的完整复盘整理出来从题型结构、核心考点、编程题思路到复习策略都过一遍既适合应届生冲刺用也适合准备转行AI应用开发的同学做自测参考。先说结论这场笔试覆盖了机器学习基础、深度学习理论、大模型应用、AI工程化落地、编程能力五个大块绝不是靠考前突击背几个八股就能过的但也没有到要精读论文手推公式的程度。它的出题逻辑很“联想”——既在意你对底层算法的理解更在意你能不能把一个模型设计出来、部署上去、调优到可用状态骨子里带着端侧AI和AI PC这类业务场景的影子。1. 联想AI工程师笔试的定位与整体拆解1.1 AI工程师到底考什么从岗位JD反推能力模型在准备笔试之前我建议你先想清楚一个问题联想招的“AI工程师”到底和算法工程师、AI应用开发工程师有什么区别这个问题想明白了复习方向才不会跑偏。从我投递岗位后翻到的JD来看联想AI工程师的职责描述里频繁出现几个关键词大模型应用开发、端侧模型部署、模型优化、AI智能体落地。它不像字节、百度那种纯算法岗动辄要求顶会论文、刷榜排名而是更偏向“把AI用起来”的人。你要懂算法原理但更关键的是能处理真实业务场景中的问题模型太大怎么压缩、推理太慢怎么加速、数据质量差怎么办、效果指标怎么定义。这也就决定了笔试的底层逻辑算法基础是底线工程能力是加分项大模型应用和端侧部署是核心竞争区。整体能力模型可以拆成四层能力维度比重预估考察方式机器学习/深度学习基础30%-35%选择题为主大模型理论与应用20%-25%选择题、场景题编程与算法实现25%-30%编程题工程化与部署优化15%-20%选择题、判断题这个结构很清晰基础理论决定你的下限编程能力决定你能不能过线大模型和工程化知识决定你答完题之后的竞争力。很多人只刷算法题结果选择题里栽了大模型部署的跟头非常可惜。1.2 题型分布与评分逻辑先说总体的笔试形式。联想用的是常见的第三方在线笔试平台限时90分钟到120分钟不等不同批次可能有差异全程开摄像头监控部分批次有屏幕录制。题型大致如下第一部分选择题约40题每道1.5到2分总计60分上下单选为主夹杂少量多选。覆盖数学基础、机器学习算法、深度学习、大模型基础知识。这部分题量很大平均每题只有1分多钟非常考验知识熟练度。多选的策略是拿不准的选项宁可不选因为多选一般“少选得部分分错选零分”这一点平台说明里通常会写务必先看清楚。第二部分编程题2道每题20分左右总计40分上下不是LeetCode那种超难题难度集中在中等等级。一道偏纯数据结构算法另一道往往结合AI场景比如让你实现某个损失函数、评估指标或简单的数据处理流程。这道题能不能AC直接决定了你笔试的通过概率因为选择题拉分效果不明显编程题才是分水岭。第三部分部分批次可能有一道简答或设计题不计分或占少量分值比如“如何设计一个端侧知识库助手”“如何看待RAG在一家企业落地的挑战”。这一题通常不算硬性通过门槛但回答质量会影响后续面试筛选时的印象分。通过线各家不太透明按我周围同学的反馈和网上的信息大概集中在60到75分之间。也就是说选择题大致对六成以上编程题至少AC一道就比较稳妥了。1.3 联想笔试和其他AI岗位笔试的最大差异我前后也做了好几家公司的AI岗笔试对比下来的感受非常明显联想的题和它的业务绑定很紧不是单纯的通用算法题库。举个例子别的公司可能考“请推导SVM的对偶问题”联想更可能问“在端侧设备上部署一个70亿参数模型最可行的优化方案是什么”。同样是编程题别的公司考“实现一个LRU Cache”联想可能考“实现一个带温度系数的Softmax并保证数值稳定性”。这背后反映的是联想在AI PC、端侧智能体上的布局——他们要的人不是只会调包调参的而是要能把模型从云端迁到本地、把产品体验真正跑通的人。所以备考时一定要带着“场景感”去复习多问自己一句这个知识点在真实落地时有什么价值这比单纯死记硬背效率高得多。2. 机器学习与深度学习核心考点手把手过一遍2.1 数学基础与经典算法考前必须快速刷完的部分选择题里数学基础大概占8到10题虽然难度不大但知识点非常碎。结合我考完后的回忆和同期同学的反馈高频考点集中在以下几个方面。概率论与数理统计条件概率、贝叶斯公式、极大似然估计、期望与方差的性质是绝对重点。有一道题印象很深给了一组样本问哪个是参数的无偏估计其实就是考E(X̄)μ和样本方差分母是n-1这两个基本结论。另外“朴素贝叶斯为什么朴素”这种概念题也出现过答案就是“特征条件独立假设”。线性代数矩阵乘法维度、矩阵的秩、特征值与特征向量、正定矩阵判断。有一道题是给了一个2x2矩阵问它的特征值属于送分题。复习时把特征值和特征向量、矩阵分解这些概念过一遍就行不需要深挖。经典机器学习算法线性回归与逻辑回归、决策树与随机森林、SVM、K-Means、KNN、PCA、正则化。常见的考法是给一个场景让你选合适的模型或评估指标。比如“类别极其不平衡的二分类问题以下哪个评估指标最合适”——答案自然是F1或AUC而不是准确率。这里有个很容易踩的坑像XGBoost、LightGBM这类企业高频使用的模型笔试里反而考得少最多问一句“XGBoost相比GBDT的主要改进是什么”。原因可能是它们太工程化笔试主要还是想考察算法基础。但面试纯靠项目驱动的环节可能会追着问所以前期复习还是值得把GBDT和XGBoost的基本原理过一遍。2.2 损失函数、优化器与正则化AI工程师的“内功”这一块大概有6到8题非常考察细节理解。我挑几个笔试中的典型问题展开说说。交叉熵和均方误差怎么选。分类问题为什么用交叉熵而不是MSE核心原因是SoftmaxMSE的组合会导致梯度很小收敛极慢而交叉熵配合Softmax的梯度形式简洁信息中包含预测概率和真实标签的差值能让模型高效更新。有一道选择题就是反向考这个从梯度角度解释为什么分类任务用交叉熵选项里混着“防止过拟合”“加快推理速度”这类干扰项。优化器演进与适用场景。SGD、Momentum、RMSProp、Adam的区别是常考内容。重点掌握SGD的缺点是更新方向方差大、收敛慢Momentum引入动量项加速收敛并减小震荡RMSProp利用梯度平方的滑动平均来自适应调整学习率Adam本质上是MomentumRMSProp的结合加了偏差修正。考法通常是给一个训练场景问你应该选哪个优化器或者Adam相比SGD的优势是什么。正则化手段。L1和L2的数学形式、几何解释和效果差异Dropout的训练与推理行为Batch Normalization的作用这三样是钉子户。L1产生稀疏解、可用于特征选择L2让权重趋近于0但不等于0这是最基础的考点。Dropout训练时随机失活、推理时保留全部神经元但需要乘以(1-p)做补偿这个点也考过。BN则要注意训练时用batch的均值和方差推理时用全局统计量。这一块我最后的复习经验是不要只看结论尽量把“为什么”也搞清楚。比如L1为什么稀疏、L2为什么会让权重变小用拉格朗日对偶或者几何图形理解都行。因为选择题经常会出变形结论背熟了换个场景照样懵。2.3 Transformer与注意力机制大模型必考的理论地基现在AI岗笔试如果不考Transformer那才叫奇怪。联想这场笔试里Transformer相关的题至少有3到4道从结构组成到注意力公式都有涉及。整体结构Transformer的Encoder由多头自注意力、前馈神经网络、残差连接和LayerNorm构成。面试笔试中常问的是“为什么用LayerNorm而不是BatchNorm”——核心原因是NLP任务中序列长度动态变化LN对特征维度做归一化不依赖batch大小训练和推理行为更稳定。注意力机制核心公式是Attention(Q,K,V)softmax(QK^T/√d_k)V。考察点包括为什么要除以√d_k防止点积结果过大导致softmax梯度消失、多头注意力的含义和作用让模型同时关注不同子空间的信息、Self-Attention和Cross-Attention的区别Q、K、V来源是否相同。位置编码Transformer本身不具备顺序信息必须加位置编码。原始论文用正弦函数现在主流方案是RoPE旋转位置编码。选择题常考“Transformer为什么需要位置编码”这个一定不能答错。我准备这部分时的一个小技巧是手推一遍注意力计算假设Q、K都是3x3矩阵手动算一次Softmax之前的缩放、Softmax归一化、再乘V把每一步的形状变化写清楚。笔试中即使不直接考计算对理解后面大模型的题目帮助也非常大。3. 大模型与AI工程化从训练到部署的考查重点3.1 大模型理论考点预训练、微调与LoRA这一块是最近两年笔试新增的重点也是很多算法基础不错但平时不碰大模型的同学翻车的地方。联想笔试中出现频率较高的问题有几类预训练与微调的区别。预训练用海量无标注数据学习语言的通用表示微调用少量有标注数据适配具体任务。凡是问“大模型是怎么获得通识能力的”都指向预训练阶段。LoRA为什么流行。LoRA低秩适配冻结原始权重在每一层旁边加一个低秩矩阵训练时只更新这个小矩阵。相比全量微调显存占用大幅降低训练速度更快且多个下游任务可以共用同一个基座模型只保留不同的LoRA分支。这类题大概率以“你选择哪种微调方案并说明理由”的形式出现答案里只要踩中“低秩分解、参数高效、显存友好、支持多任务复用”这几个关键词基本就能拿满分。Tokenizer与上下文窗口。大模型处理文本的最小单位是token而不是字或词不同分词策略BPE、WordPiece等对Token数量有直接影响。有一道题问“为什么大模型的输出长度有限制”答案指向模型训练时的序列长度上限以及推理时KV Cache对显存的占用。RLHF的流程。这里只需要知道三阶段先监督微调SFT再训练奖励模型RM最后用强化学习PPO对齐人类偏好。细节一般不深挖但“为什么需要RLHF”这个问题的答案要记住——让模型输出更有用、更无害、更符合人类偏好。3.2 推理加速与端侧部署联想最偏爱的“主场”从联想AI PC、联想小天的产品形态就能看出端侧智能是联想的战略重点。笔试里这一类题占比可能比其他公司高而且考察的是真实落地经验不是纯概念。有两类问题要特别重视。模型压缩四件套量化、蒸馏、剪枝、紧凑架构设计。选择题喜欢问的是基础概念和效果排序。比如“以下哪种量化方式可以在推理时将模型显存占用降低到约1/4”答案是INT4量化——70亿参数模型原始FP16权重占用约14GBINT4量化后约3.5GB这才能在一个普通PC的显存或内存里跑起来。蒸馏则是用大模型指导小模型训练让小的学大的输出分布。剪枝是去掉不重要的权重或神经元。做这类题时有个心法凡是问“最直接降低显存”的办法优先选量化凡是问“保留大模型能力的同时缩小模型”优先选蒸馏。推理加速工具链。在端侧部署大模型常用的技术栈包括ONNX Runtime、TensorRT、llama.cpp、MLC LLM、OpenVINO等。选择题会问“以下哪个工具更适合在ARM芯片上运行LLM推理”熟悉llama.cpp和MLC的同学会秒选。另外还有两个细节一是KV Cache会随序列长度线性增长长对话场景下显存压力大二是内存带宽是端侧跑大模型的核心瓶颈模型权重需要反复从内存读取带宽越大token生成速度越快。这也能解释为什么联想AI PC在宣传中强调“本地大模型秒级响应”背后其实是专用NPU和充足内存带宽的协同优化。这一部分我只在项目里做过ONNX和TensorRT的量化部署没有深度优化过端侧LLM推理所以复习时花了额外时间把llama.cpp的量化等级、内存带宽和token生成速度的关系搞明白了。事实证明非常值笔试里确实出现了类似题目。3.3 AI Agent、RAG与智能体开发新出现的考察重点2025年的笔试如果还在问传统的图像分类、文本分类那一套就有点落后于时代了。联想这场笔试给我的感觉是AI智能体和RAG已经成了固定板块。AI AgentAI智能体考察核心概念比如Agent的基本构成记忆、规划、工具调用、行动、ReAct范式的思想推理和行动交替进行、Tool Calling的工作机制。有一种场景题比如“用户想让AI查询明天的天气并设置提醒Agent应该如何完成任务”本质就是在考工具调用的流程意图识别→选择工具→解析参数→调用工具→整合结果。RAG检索增强生成概念几乎是必考。RAG为什么有用核心是解决大模型幻觉和知识时效性问题把外部知识库检索到的内容作为上下文喂给大模型。常见考法有给一个RAG流程问哪些环节容易出问题或者让你从“向量化、检索召回、重排、生成”几个阶段里指出缺失的环节。真实场景里RAG的知识库常存在多轮对话场景下上下文管理问题、PDF解析乱码问题、版式与语义割裂问题这些细节很容易考。Spring AI与AI应用开发框架作为Java后端技术栈的代表Spring AI在选择题里也出现过。如果你主攻的方向偏后端应用建议了解一下Spring AI的基本定位——它是一个Java生态的AI应用开发框架参考LangChain的设计理念抽象了ChatClient、EmbeddingModel、VectorStore等组件把Java应用接入大模型的成本降了很多。联想后端有不少Java系统这个框架的应用场景很实在。AI应用开发这个方向联想的考察重点从API调用包装转移到了“如何让Agent稳定可靠地完成任务”这一点大家在复习时要格外留意。3.4 数据、评测与AI测试工程闭环能力最后一类工程化考点是数据和评测相关的。AI工程师不能只会训模型推模型还得知道怎么评估模型到底好不好用。数据处理数据清洗、去重、数据增强、标签噪声处理。选择题常问“解决数据分布不均匀最简单直接的方法”答案通常是过采样、欠采样或调整类别权重。另外数据泄露Data Leakage也是一个考点如果训练集里混入了验证集或测试集样本会导致评估结果虚高。评估指标除了准确率、精确率、召回率、F1、AUC之外大模型相关的指标也出现了比如困惑度Perplexity越低说明语言模型对数据拟合越好BLEU用于机器翻译和文本生成场景。场景题会给一个具体业务比如“客服机器人的回答是否准确”让你选评估方法。AI测试大模型应用怎么测这是个很有意思的新考点。可以往几个方向想输入侧要考虑Prompt注入、越狱攻击等安全测试输出侧要测事实准确性、有害内容、幻觉比例性能侧要测首token时延、吞吐量稳定性侧要考虑模型版本更新后的回归测试。这正好对应“AI测试”这个新兴方向。笔试中如果出现“如何为大模型应用设计测试用例”把这几个维度答全得分会很可观。4. 编程题怎么准备从算法题到AI场景手写代码4.1 算法题常考范围与优先级编程题是拉开差距的关键尤其当选择题分数一般的时候编程题AC两道和AC零道的差距是决定性的。我把联想笔试的编程题范围和优先级分了三档。第一档必须精通数组与链表操作、哈希表、栈与队列、二叉树遍历、二分查找。刷题时把LeetCode Hot 100里这类题吃透笔试遇到基础题能保证15分钟内AC。第二档经常出现动态规划背包、子序列、子数组、回溯排列组合子集、滑动窗口、双指针、图拓扑排序、最短路径。每类练熟5到10道典型题遇到变形题能快速识别出子问题类型。第三档AI场景题这一档是联想的特色不考你背过的经典题而是让你现场实现一个和模型、数据处理相关的函数。难度不大但非常考验代码基本功和API熟悉度。比如实现损失函数、评估指标、数据增强逻辑、简单的神经网络前向传播。准备第三档最核心的是把PyTorch的基础API和NumPy的操作练熟。比如torch.Tensor的shape变换、view/reshape/permute、torch.nn.functional里的softmax、cross_entropy以及NumPy里矩阵乘法、广播机制。我练习时要求自己“每天手写一个AI场景函数”从Softmax、交叉熵、F1分数到数据集的Dataset类、Tokenizer简单实现写到肌肉记忆为止。效果很好笔试时完全没有卡顿。4.2 实战示例一带温度系数的数值稳定Softmax这道题是我自己练习时总结的典型AI场景题也是笔试真题的常见变体给你一个分数向量要求用Python实现带温度系数T的Softmax并确保数值稳定性。先解释为什么需要“数值稳定”Softmax公式中有e的指数运算当输入x特别大比如1000时e^1000会溢出成inf。标准解法是每个元素减去向量中的最大值softmax(x_i)exp(x_i - max(x))/Σexp(x_j - max(x))。这样指数部分最大值变成0不会溢出同时softmax结果不变。下面这个回答可以满分交卷import numpy as np def stable_softmax_with_temperature(logits, temperature1.0): 带温度系数的数值稳定Softmax logits: shape为(N,)或(batch, N)的numpy数组 temperature: 温度系数大于0越小分布越尖锐越大分布越平滑 assert temperature 0, temperature必须大于0 # 判断是单样本还是批量输入 if logits.ndim 1: logits logits.reshape(1, -1) single True else: single False # 温度缩放 scaled_logits logits / temperature # 数值稳定减去每个样本的最大值 max_logits np.max(scaled_logits, axis1, keepdimsTrue) exp_logits np.exp(scaled_logits - max_logits) # 归一化 probs exp_logits / np.sum(exp_logits, axis1, keepdimsTrue) return probs[0] if single else probs写这道题时有两个细节要展示给面试官看一是temperature大于0的合法性校验二是批量输入时按行做softmax不要在全矩阵上做。这两个细节暴露的是工程思维比单纯实现公式更能加分。实际部署场景中温度系数很常用对话生成时temperature高、输出更随机更多样RAG场景下希望回答更稳定temperature通常会调低到0.2到0.5之间。笔试如果能在注释里写一句这个背景印象分更高。4.3 实战示例二手写F1分数计算函数评估指标相关的代码题也经常出现尤其是F1分数。题目会给出预测标签和真实标签让你计算每个类别的精确率、召回率和F1然后求宏平均。边界条件要注意如果某个类别的精确率和召回率分母为0一般约定该类别F1为0。def calculate_f1(y_true, y_pred, num_classes): 计算多分类宏平均F1 y_true: 真实标签列表 y_pred: 预测标签列表 num_classes: 类别数量 assert len(y_true) len(y_pred), 标签长度不一致 f1_list [] for cls in range(num_classes): tp sum(1 for t, p in zip(y_true, y_pred) if t cls and p cls) fp sum(1 for t, p in zip(y_true, y_pred) if t ! cls and p cls) fn sum(1 for t, p in zip(y_true, y_pred) if t cls and p ! cls) precision tp / (tp fp) if (tp fp) 0 else 0.0 recall tp / (tp fn) if (tp fn) 0 else 0.0 if precision recall 0: f1 2 * precision * recall / (precision recall) else: f1 0.0 f1_list.append(f1) macro_f1 sum(f1_list) / num_classes return macro_f1这道题考察的重点不是公式而是对类别循环、分母为0的处理、以及宏平均和微平均的区别。如果题目只要求宏平均那就分别算每个类再平均如果要求微平均那就所有类别的tp、fp、fn加总后合并计算F1。两个概念的区别一定要清楚。我当时在笔试里就遇到了一道F1相关的题不过嵌套了一个类别极度不均衡的业务背景本质上考的还是这个函数。所以这种代码一定要练到闭着眼能写出来的程度。4.4 练习建议与AI编程辅助工具编程题的复习我前期用LeetCode刷题后期用AI编程工具辅助效率高很多。这里要分清楚两个场景平时练习可以用Cursor或PyCharm自带AI插件辅助。比如用AI帮你生成测试用例、解释一个解法的复杂度、对比不同思路的优缺点。我自己的用法是一道题自己先想15分钟没有思路再让AI给出提示而不是完整代码想清楚后再自己写。笔试现场绝大多数在线笔试平台都会开启屏幕录制和浏览器锁不允许调用AI工具。而且联想的笔试时间是限时的依赖AI工具的后果就是手生。所以建议刷题时给自己限定时间逐步脱离AI辅助独立AC。我见过有的同学平时Cursor用惯了笔试手写代码突然不会写了非常可惜。笔试过程中如果允许用本地IDE建议提前熟悉常用IDE的Python环境把NumPy和PyTorch这些库确认装好。但说实话大多数平台是在网页编辑器里写代码跑用例也是平台提供的。这种情况下更依赖平时“裸写”能力平时多练在空白编辑器里直接写完整代码的能力不要依赖自动补全。5. 笔试前两周的复习清单与实战策略5.1 复习优先级抓住大模型和工程化两条主线如果你现在距离笔试只有两到三周我建议不要按照教科书从头翻按优先级把时间砸到最容易提分的板块。这是我自己验证过的分配方案复习模块优先级建议时间占比核心任务大模型基础与RAG/Agent高25%Transformer、LoRA、量化、RAG流程、Agent概念机器学习核心算法高20%逻辑回归、决策树、SVM、K-Means的概念与选择题深度学习训练知识中高15%损失函数、优化器、正则化、BN编程题高25%Hot 100核心题型、AI场景函数手写端侧部署与工具链中10%量化、蒸馏、TensorRT、llama.cpp、内存带宽项目复盘中5%简历上每个项目准备一段“背景-方案-结果”话术这个比例的核心思路是先把大模型和RAG/Agent这块的新知识补上因为这是最近选校招的差异化考点很多人不会再保底数学和机器学习的经典题最后把编程熟练度练到“拿到题5分钟出思路20分钟写出完整代码”。5.2 笔试现场的时间分配与答题顺序笔试题量不小时间管理做不好很容易前松后紧。我的建议是拿到试卷先花1分钟整体浏览题型和题量然后按以下顺序答题。先做编程题。不要一上来就做选择题。编程题需要高度专注放在精力最好的阶段写成功率最高。而且编程题分值占比大先确保AC一道心态就稳了。如果两道题都卡住了限定25分钟还出不了思路果断跳到选择题最后再回头补。再做选择题。选择题考的是知识面和熟练度除非遇到完全没见过的题否则每题不要超过1分钟。拿不准的题先标记跳过全部做完以后再回头思考。多选低分策略选确定正确的选项不确定的不要选。如果题目说明“少选得部分分”这个策略的收益最高。最后处理简答/设计题。这部分通常不计入硬性分数线但会影响综合评估。答题时按“核心思路→方案步骤→关键细节”的三段式展开不需要长篇大论写精炼一点把关键词都踩到。整体时间预算大概是编程题50分钟每道25分钟选择题55分钟每题1分到1分半简答题15分钟留5分钟检查。5.3 笔试之后怎么衔接面试笔试结束只是第一步对于AI工程师岗位面试中项目经验的比重极大。我最深刻的体会是笔试里你暴露出来的知识短板面试官可能不会直接问但项目深挖时会原形毕露。准备面试时要重点整理三类东西 一是简历上的项目哪怕只是课题或实习中的一个模块也要能讲清楚背景是什么、你负责哪部分、怎么设计技术方案、效果如何衡量、踩过什么坑。最好按STAR法则写下来反复练习。二是字节和八股以外的“高阶八股”比如一个7B模型FP16权重占多少显存KV Cache在长对话场景下多消耗多少显存量化会带来多大精度损失RAG检索召回率低怎么排查。这些问题没有标准答案但考的都是工程师真实的思考和计算能力。三是对联想业务的了解。笔试是机器打分面试却是人对人的交流。如果能在自我介绍中提到你对端侧AI产品形态的理解甚至结合联想AI PC具体聊一下端侧大模型的价值会很容易拉近距离。举个例子端侧部署的本质是为了隐私、离线可用、低成本响应这三点正好对应AI PC在办公、创作、差旅等场景下的核心卖点面试官听完会觉得你是认真做过功课的而不是海投简历。最后说个笔试之外的细节注意保持邮箱和手机的畅通笔试成绩出来后到面试通知往往只有几天时间提前把面试的时间段空出来千万别因为没看邮件错过。结尾一点实在的体会回过头看联想这场笔试给我最大的提醒是AI工程师岗位已经从“会调模型”进化到了“能落地、会优化、懂评估”的阶段。笔试仅仅是一道门槛那些真正把模型部署到端侧跑通的经历才是你在后续面试里最值钱的谈资。如果你还有时间强烈建议自己动手把一个开源小模型推到本机运行感受一下量化前后速度的差异、内存占用的变化哪怕只是部署成功一次笔试和面试里的很多概念都会一下子“通”了。这批经验比多刷两百道题都管用。