2025联想AI技术研究笔试复盘:从基础算法到大模型工程化
2025年秋招联想的技术研究人工智能方向笔试算是我今年陪朋友复盘得最仔细的一场。它和很多大厂上来就甩三道 hard 级算法题的风格完全不一样更不像某些公司满屏都是大模型八股而是把数据结构、机器学习基础、深度学习原理、业务场景和工程化常识搅在一起考察你是否具备完整的 AI 落地思维。对你没听错联想这种硬件背景浓厚的公司AI 笔试的重点往往不是“谁刷题刷得狠”而是“谁能在产品落地的视角下把算法用对”。这篇内容适合正在准备 AI 方向秋招的应届硕士和博士也适合已经工作两三年、想跳槽到端侧智能或企业级 AI 解决方案方向的朋友。我会按笔试的宏观定位、模块拆解、高频真题复盘、资料清单、避坑经验五个部分来拆最后再聊点个人体会。全程不绕弯子直接讲能上考场用的东西。1. 站在2025年秋招节点联想AI技术研究笔试到底考什么1.1 先说结论这份笔试不是刷题工具是筛选“AI系统观”的过滤器我身边不少同学拿到联想技术研究人工智能方向的笔试链接后第一反应是去 LeetCode 上临时抱佛脚结果打开试卷发现编程题远没有想象中难反而是选择题里那些“概念辨析”和“方案排序”让人改来改去拿不准。这说明一个很关键的点联想 AI 研究岗要的不是纯竞赛选手而是能理解模型、数据、算力和业务之间关系的人。笔试里大量题目在问“你会怎么设计一个方案”而不是“你会不会默写某个公式”。换句话说它考察的是你有没有形成 AI 系统观——知道一个模型从数据准备到训练、评估、部署、迭代完整链路里哪里会出问题怎么取舍。“技术研究”这个前缀容易让人误以为是一场论文解读考试但实际上联想的研究岗和高校实验室里的研究岗差别不小。它在笔试阶段就会用选择题和开放题反复试探你对业务场景的敏感度。比如给一个智能硬件场景让你判断该用端侧小模型还是云端大模型再比如给一段用户行为日志问你如何构造训练样本。这些题目没有标准答案却最能筛掉那些只背了推导、没跑过真实项目的人。1.2 联想AI岗位的定位与笔试考察逻辑联想近几年的 AI 布局主要落在三个方向智能终端体验PC、手机、平板上的 AI 助手和系统优化、企业级与边缘计算解决方案服务器、工作站上的模型推理和训练、行业智能化转型制造、教育、医疗等场景的 AI 落地。技术研究人工智能类岗位通常锚定其中一到两个方向做前瞻性研究既要有算法创新能力也要有工程交付能力。笔试就是为这个定位服务的。所以它的考题结构很清晰基础算法题用来确认你的编码基本功机器学习与深度学习题用来确认你的理论底子NLP/CV 方向的题用来确认你是否了解当前主流模型最后再加几道 AI 工程化和场景开放题用来确认你能不能把技术放进真实产品里。对比一下互联网大厂的 AI 笔试更倾向于“算法题 论文复现思路”而联想会多出一块“硬件感知”和“端侧约束”的考察。比如一道关于大模型推理的题目可能不会问“Attention 的公式推导”而是问“在内存有限的笔记本上怎么让一个 7B 模型跑起来”。这种题目非常联想也非常考验实践积累。1.3 适合谁看、需要什么前置基础如果你是 2026 届同学现在刚开始准备秋招这篇文章可以直接用来做笔试前的模块梳理如果你已经进入面试轮次里面涉及的开放题答题框架也能帮你在技术面中更结构化地表达思路。前置基础方面至少要有以下几块数据结构与算法基础链表、树、DP 能独立写出来、机器学习核心概念损失函数、正则化、评估指标、特征工程、深度学习框架使用经验PyTorch 为主TensorFlow 也行、对主流大模型和 AIGC 应用有基本了解Transformer、LoRA、RAG 这些词不能陌生。如果你这几块都还没铺垫完建议先花两周补课再去做真题模拟。2. 笔试模块拆解从选择题到算法题的考察重点2.1 科目构成与时间分配我结合近两年联想 AI 技术研究类笔试的常见安排整理了一张科目占比表。不同批次可能略有浮动但大方向不会差太多考察模块大致占比常见题型建议用时数据结构与算法基础20%单选、多选、编程题25-30分钟机器学习基础25%单选、多选、计算题20分钟深度学习与大模型20%单选、多选、简答20分钟NLP/CV 场景应用15%案例题、开放题15分钟AI 工程化与系统设计10%开放题、排序题10分钟业务场景方案设计10%开放题10分钟整场笔试一般在 90 到 120 分钟之间。要注意的是编程题往往是最后统一提交的但在线考试系统通常不允许切换出去查资料所以“先做选择题后做编程题”的策略并不一定最优。我的建议是先花 3 分钟快速浏览整套试卷把编程题记在心里在做选择题时让大脑后台自动并行思考编程题思路等做到编程题时再集中输出。2.2 数据结构与算法不是LeetCode高难度而是“稳准狠”联想笔试的算法题难度我个人体感在 LeetCode 中等偏下水平。经常出现的包括链表反转与合并、二叉树层序遍历、包含 min 函数的栈、最长公共前缀、简单的动态规划爬楼梯、打家劫舍等。它不太会出那种需要冷门数据结构才能解的题更看重你能否在 20 分钟内把一道题写对、写完整、写规范。但“稳准狠”三个字依然有讲究。稳是指边界条件不能漏比如链表题里空指针、单节点场景必须想清楚准是指时间空间复杂度要达标遍历次数不能离谱狠是指代码结构要清晰命名规范能体现出工程习惯。很多同学在牛客网或赛码网刷题时只关注能不能 AC忽略了代码可读性这在在线笔试中不吃亏但在后续面试官调取笔试记录时可能会减分。还有一个容易踩的坑编程题的输入输出处理。联想的在线笔试系统一般会用标准输入输出有的题目会给出多组测试用例需要循环读入。平时刷题如果只依赖 LeetCode 的函数签名不练 ACM 模式考试时很可能在 IO 解析上浪费大量时间。建议提前去牛客网练几道“输入输出专项”题目。2.3 机器学习基础概念辨析是重灾区机器学习基础模块选择题为主偶尔有计算题或简答题。考察密度最高的知识点包括过拟合与欠拟合的判定和应对、L1 与 L2 正则化的区别、偏差与方差的权衡、交叉验证的常见方法、常见评估指标准确率、精确率、召回率、F1、AUC、PR 曲线的适用场景、PCA 与特征选择的关系、梯度下降的变体等。看起来都不难但出题人很会在措辞上挖坑。比如“L1 正则化为什么能产生稀疏解”很多人会答“因为它让权重趋向于零”但笔试里更希望你从“L1 的梯度在零点附近不连续导致参数更容易被更新到零”这个角度去理解。再比如“AUC 为 0.8 代表什么”不是简单说“模型准确率不错”而是“随机取一个正样本和一个负样本正样本的预测分高于负样本的概率是 0.8”。这些细节如果只看博客标题很难形成准确判断。我的建议是复习时不要只背结论要把每个结论背后的推导链条过一遍。你可以尝试用一句话给一个零基础的人解释清楚一个机器学习概念解释不通的地方就是你的薄弱点。2.4 深度学习与大模型基础紧跟热点但也要重视经典深度学习模块除了传统的卷积网络、循环网络、注意力机制还会大量出现大模型相关概念。我在 2025 年秋招的笔试复盘里看到的高频题目包括Transformer 自注意力机制的时间复杂度、位置编码的作用、LayerNorm 与 BatchNorm 的区别、KV Cache 的作用、LoRA 的低秩适配原理、RAG 的检索增强流程、Agent 的工具调用与规划思路等。这些知识点和“人工智能”这个热搜词高度绑定说明联想笔试出题团队是随时跟踪技术趋势的。但要注意他们并不只考大模型也会回过头来问 CNN 的感受野计算、RNN 的梯度问题、激活函数的选型等经典问题。所以复习策略不能是一根筋追新经典模型和大模型都要覆盖。这里有一个我非常推荐的学习方法把每一个知识点都放到“为什么需要它”的框架下去理解。为什么需要残差连接因为网络加深后梯度消失。为什么需要 KV Cache因为自回归解码时每个 token 都要重新计算之前的 Key 和 Value缓存起来能省大量算力。为什么需要 LoRA因为全量微调大模型的成本太高冻结原参数、只训练低秩矩阵可以大幅降低显存和存储需求。一旦你理解了动机选择题怎么变都能应对。2.5 AI工程化与系统设计大题往往藏在“业务落地”里AI 工程化和系统设计模块在前面几张卷子里占比不算最高但却是拉开差距的关键。常见考察点包括模型训练时 GPU 显存占用估算、模型量化INT8、INT4的基本原理、如何判断推理瓶颈是计算还是内存带宽、数据管线的设计、模型评估的线上与线下方案、端侧部署的约束条件等。联想的业务场景偏硬件所以端侧约束尤其常考。比如“一块电池容量有限的笔记本上运行一个本地大模型你会怎么优化”这种题目考察的就不是单一知识点了而是你对模型压缩、硬件特性、用户体验的综合判断。答题时不需要给出绝对正确的答案但要展示出清晰的权衡过程为了保证隐私选择本地推理为了控制功耗选择量化到 INT4为了响应速度选择投机采样或小模型先答。我在很多份笔试复盘里都发现这部分得分高的人往往不是论文发得最多的人而是真正在真实设备上部署过模型的人。哪怕只是把一个 7B 模型跑在消费级显卡上你也会对显存、推理延迟、量化效果有直观感知。如果你还没有这类经验强烈建议在笔试前自己动手做一个小项目比如在本地跑通一个 Ollama 或 llama.cpp 服务。3. 高频真题复盘那些让人纠结的题目到底怎么答3.1 概念题别再只会背定义要能分清“为什么”我整理了几道在联想 AI 笔试中反复出现的概念题并给出便于记忆的答题要点L1 与 L2 正则化L1 会得到稀疏解因为它对参数的惩罚是绝对值形式优化过程中更容易在零点处取到最小值L2 对参数做平方惩罚解更平滑能防止参数过大但不会产生严格的零。梯度消失与梯度爆炸深层网络中梯度连乘小于 1 的因子连乘会趋于零大于 1 的会爆炸。常用方案包括残差连接、梯度裁剪、合理的激活函数、归一化层。自注意力复杂度标准自注意力的时间复杂度和空间复杂度都是 O(n²)n 是序列长度。这也是长文本处理效率低的原因后续改进方向如稀疏注意力、线性注意力都是为了降低这一复杂度。BatchNorm 与 LayerNormBatchNorm 在一个 batch 内跨样本做归一化依赖 batch size在训练和推理时行为不同LayerNorm 对单个样本的隐层维度做归一化不依赖 batch size因此更适合 Transformer 这类序列模型。LoRA冻结原始权重在每层旁边加入两个低秩矩阵用低秩矩阵的乘积近似权重更新量训练参数量可减少到原来的 1% 甚至更低。答题时不要只写一句话最好在后面补一句“这会导致什么影响”或“由此我们可以怎么做”这能向阅卷人展示你的应用思维。3.2 计算题参数量、显存与反向传播算清楚才能放心计算题是很多人怕的部分但实际上联想的计算题并不偏难怪主要集中在几个可重复练习的模型上。第一个高频考点是 Transformer 参数量估算。以 BERT-base 为例hidden size 为 768Transformer 层数为 12总参数量约为 1.1 亿。简化口诀每层 Transformer 参数量约为 12 倍的 hidden size 平方再乘以层数。这是一个很粗糙的经验公式但足以应付选择题中的各数量级判断。第二个高频考点是自注意力计算。给定序列长度 L、头数 h、每个头的维度 d_kQ、K、V 的矩阵乘法复杂度为 O(L² · d_k)多头的总计算量和单头相同因为 h 与 d_k 的乘积等于模型维度。笔试常问“多头注意力的计算复杂度是否会变高”答案是“不会计算量基本不变但表达能力更强”。第三个是显存估算。比如推理一个 7B FP16 模型仅模型权重就需要 7B × 2 byte 14 GB。如果使用 INT8 量化权重显存可以降到 7 GB 左右。再加上 KV Cache 和激活值实际推理时对显存的要求会更高。建议把这个例子记牢遇到“端侧设备能跑多大模型”的题时可以直接套。这些计算题没有技巧只能靠平时多练。你可以选一个开源模型比如 Llama-2-7B 或 Qwen-7B用 config 文件里的参数算一遍参数量、权重大小、KV Cache 大小再把数字记录下来记忆会更深刻。3.3 开放题如何用AI提升PC用户体验联想笔试中出现频率很高的一道开放题原型是请设计一个基于 AI 的 PC 端功能说明目标用户、技术方案、数据来源、评估方式。我的答题框架一般分四段场景定义。不要一上来就说“我要做一个 AI 助手”太宽泛了。要选择具体痛点比如“用户经常在多个办公软件之间切换需要手动复制粘贴内容效率低”。把场景缩小更容易写出深度。技术方案。针对这个痛点可以用本地小模型做跨应用的信息抽取和摘要再把摘要放到系统级剪贴板或侧边栏。选用本地模型的原因要讲清楚文档内容敏感不能上传云端PC 端算力可支撑 1B 到 3B 模型推理延迟可控制在 1 秒以内。数据与样本。早期可以靠人工构造一批办公场景的指令数据后续通过用户授权脱敏后的使用日志进行增量训练同时保留用户反馈通道。评估方式。线下用一组标准任务评测准确率和延迟线上做 A/B 测试观察功能使用率、用户停留时长和负反馈率。这个框架是通用的不管题目换成“教育场景”“医疗场景”还是“智能会议室”你只需要替换场景描述和约束条件。重点永远不是那个 AI 模型选得多新而是你有没有考虑数据从哪来、效果怎么量化、失败怎么兜底。3.4 编程题手写一个简洁的注意力层联想笔试的编程题不一定会让你手写完整的大模型但很可能会让你实现一个基础组件。有一道比较经典的题目是用 PyTorch 实现一个简单的多头注意力模块。下面是一个能直接跑通的参考实现import torch import torch.nn as nn import math class MultiHeadAttention(nn.Module): def __init__(self, d_model, num_heads): super().__init__() assert d_model % num_heads 0 self.d_model d_model self.num_heads num_heads self.d_k d_model // num_heads self.w_q nn.Linear(d_model, d_model) self.w_k nn.Linear(d_model, d_model) self.w_v nn.Linear(d_model, d_model) self.w_o nn.Linear(d_model, d_model) def forward(self, x, maskNone): batch_size, seq_len, _ x.size() Q self.w_q(x).view(batch_size, seq_len, self.num_heads, self.d_k).transpose(1, 2) K self.w_k(x).view(batch_size, seq_len, self.num_heads, self.d_k).transpose(1, 2) V self.w_v(x).view(batch_size, seq_len, self.num_heads, self.d_k).transpose(1, 2) scores torch.matmul(Q, K.transpose(-2, -1)) / math.sqrt(self.d_k) if mask is not None: scores scores.masked_fill(mask 0, float(-inf)) attn torch.softmax(scores, dim-1) out torch.matmul(attn, V) out out.transpose(1, 2).contiguous().view(batch_size, seq_len, self.d_model) return self.w_o(out)这段代码考察的点很明确多头切分的维度处理、缩放点积注意力的缩放因子、mask 的使用、输出拼接的 reshape。如果你在笔试中能用 20 分钟写出这样一份代码并且能解释每一行在干嘛编程题基本就稳了。4. 准备资料与实操工具清单4.1 必刷的公开课与文档准备联想 AI 笔试不需要把市面上所有资料都啃一遍关键是精准覆盖。我建议按下面这份清单准备机器学习基础李航《统计学习方法》前几章重点是感知机、决策树、SVM、逻辑回归再配合吴恩达机器学习课程中的偏差方差、正则化、评估指标部分。深度学习基础CS231n 的 CNN 部分和 CS224n 的 RNN/注意力部分如果时间不够可以只看课件和笔记。动手实践强烈推荐《动手学深度学习》Dive into Deep Learning里面的 PyTorch 代码可以直接跑。大模型与 AIGCHugging Face 的官方文档重点看 Transformers 库中模型加载、tokenizer、pipeline 的用法再阅读 LLaMA、Qwen 的技术博客理解大模型的训练和推理流程。RAG 与 Agent建议找几篇综述看或者直接读 LangChain 的官方概念文档把嵌入、向量数据库、检索器、Agent 工具调用这些词串起来。AI 工程化学习 ONNX、TensorRT、llama.cpp 的基本用法了解模型量化和推理优化工具。这些资料不需要全部精读每一样选前两章或核心概念看就够了。关键是看完之后要能把它们串起来比如你知道模型在 GPU 上推理时哪个环节最耗时哪些算子可以被融合。4.2 两周冲刺复习计划如果距离笔试还有两周我建议按下面的节奏走时间段复习重点具体行动第1-3天数据结构与算法刷链表、二叉树、 DP 三类高频题每天 5 道使用 ACM 模式周末做一次完整套题模拟第4-6天机器学习基础过一遍统计学习方法和吴恩达笔记整理 30 个高频概念卡用一句话写清“是什么、为什么、怎么用”第7-9天深度学习与大模型手推 Transformer 前向过程跑通一个 BERT 情感分类 demo理解 LoRA 和 RAG 的代码流程第10-11天工程化与业务场景阅读端侧部署案例写 3 个开放题答题框架比如 PC 端 AI 助手、企业知识库问答、智能硬件视觉检测第12-13天模拟笔试用牛客网或赛码网的 AI 岗位真题模拟严格限时练习时间分配和 IO 处理第14天查漏补缺快速过概念卡重看错题熟悉笔试系统操作这个计划比较紧凑但每天只需要保证 4 到 6 小时有效学习时间。特别要强调的是最后两天的模拟因为很多同学会做历年题却从没完整模拟过“90 分钟内做完一套卷”导致真正上场时对节奏完全没概念。4.3 一些经验性的“抢分”技巧除了硬实力笔试还有不少软技巧能帮助你多拿一些分。第一先读整套试卷再动笔。拿到试卷后花 2 分钟快速浏览所有题目我一般会标记出“一眼会”“需要算一下”“完全没思路”三类题。先做一眼会的再做需要算的完全没思路的放到最后蒙。这样可以避免在一道难题上卡太久。第二选择题不要空着。很多在线笔试系统多选题漏选不得分或得部分分但不选一定零分。如果实在不确定至少排除掉一两个确定错误的选项再选一个最像的。第三开放题写到点子上就行不用长篇大论。阅卷人通常看你的框架是否完整关键词是否踩中。我的习惯是先用小标题列出“场景、方案、数据、评估”每段两到三行最后加一句总结。这样条理清晰得分效率最高。第四环境准备提前做。笔试前检查摄像头、麦克风、浏览器兼容性准备一个安静的独立空间。很多同学的失误不是题目不会而是考试中途断网或者浏览器崩溃心态直接崩掉。建议提前用网速测试工具测一下有条件的话准备一个备用网络热点。5. 常见问题与避坑实录5.1 时间不够怎么办时间不够是秋招笔试的常态。我的处理原则是保选择题保编程题第一道开放性题写框架保底。具体来说选择题占分多、覆盖面广但单个分值可能不如编程题高。如果选择题占比 50% 以上那就优先保证正确率计算复杂的选择题可以先跳过。编程题一般有两道第一道通常较简单必须写出来第二道如果有思路就写关键逻辑没有思路就把暴力解法写上至少能过一部分测试用例。千万不要在最后五分钟还埋头写开放题。开放题只要写了框架就能拿基础分代码题只写了一半往往一分都没有。5.2 选择题的陷阱多选、单选和“反直觉”选项联想的 AI 笔试选择题有个特点很喜欢考“反直觉”的选项。比如一道题问“以下哪种方法可以降低模型过拟合”其中有个选项是“增加模型参数量”。很多人在压力下会手滑选上因为一眼看上去“模型变大了不是更强吗”但过拟合恰恰是因为模型复杂度过高。对策很简单每道选择题都把选项当成判断题来读遇到一个看起来对的选项反过来问自己“有没有反例”。想不出反例再选。尤其是多选题宁可少选不要错选因为错选往往直接扣到零。5.3 算法题用Python还是C联想在线笔试一般支持 Python、C、Java 等主流语言。我的建议是统一用 Python理由有三个代码量少写起来快内置数据结构丰富适合处理输入输出AI 相关岗位后续面试手写代码也大多用 Python。但用 Python 也要注意两个问题。一是别依赖太高级的特性比如 type hint 和复杂的函数式编程容易在在线 IDE 里出小问题二是注意运行效率如果一道题明显对时间要求很高尽量用简单循环而不是嵌套遍历。绝大多数情况下笔试出的算法题 Python 都能在限定时间内跑过所以不用太担心性能。5.4 简历里写了大模型项目笔试却没考正常吗非常正常。我见过太多同学准备了半个多月大模型八股结果试卷里一大半是机器学习基础和算法题心态当场爆炸。原因很简单笔试只是第一道筛子它的目标是快速淘汰基础不牢的人。研发团队不会指望一场笔试就判断出你懂不懂大模型他们更希望你在进入面试前已经具备了扎实的算法功底和机器学习常识。所以准备笔试时不要只盯着最热的技术名词。简历里写 RAG、Agent、微调当然很好能帮你过简历筛选但笔试更多考察的是你“有没有能力把简历里的项目落地”。如果你能在大模型项目里把数据清洗、指标评估、部署优化的细节讲清楚笔试里的那些基础题根本就不该丢分。5.5 在线笔试的“隐形要求”摄像头、浏览器与考试纪律联想在线笔试通常要求开启摄像头并且会监控切屏行为。有些人觉得切到题库搜一搜没风险但实际上系统一旦检测到切屏次数超过阈值可能会直接标记为作弊。我的建议是全程不要切换任何应用也不要试图用另一台设备搜答案既不稳妥也不必要。比这更重要的一个隐形要求是答题速度的稳定性。有些同学前面做得过于谨慎后面时间不够导致编程题没写完。我的经验是选择题平均每题控制在 1 分钟以内超过 1 分半的题先标记跳过后面有时间再回头。6. 我在陪跑多场笔试后的几点真实体会最后说点题外话。今年我帮几位学弟学妹做了联想的笔试复盘反复修改答题思路后最大的心得是联想 AI 研究岗的笔试核心变量不在于你知道多少最新模型而在于你把 AI 当成什么来理解。如果你把 AI 当成一个个孤立的技术名词考试时会觉得知识点永远背不完如果你把 AI 当成一套解决真实问题的工具箱很多题目都是相通的。另一个很实用的经验是复盘比做新题更重要。每做完一套模拟题花半小时把错题里涉及的几个知识点扩展成一篇 mini 笔记比如从“LoRA 是什么”扩展到“LoRA 和全量微调的显存对比”“在什么场景选 LoRA”“量化后的 LoRA 能不能用”。这样的学习密度远高于盲目刷十套题。最后再分享一个小技巧。笔试前的晚上不需要再碰新题把你自己整理的“概念卡”过一遍就够了。我见过太多人因为考前焦虑疯狂刷题结果第二天脑子一团浆糊。你真正要复习的不是新知识而是已经会的东西确保它们能稳定输出。秋招是一场马拉松稳住节奏比什么都重要。