1. 笔试整体情况与岗位考察逻辑2024年春招我投了联想的数据分析岗笔试走的是北森系统那一挂整体时长大约90到100分钟题量不大但覆盖面非常杂。整个试卷我做完之后最大的感受是它不是单纯考你“会不会写SQL”而是在模拟“你入职之后能不能直接上手干活”。联想的数据分析岗和互联网大厂的数据分析岗有一个明显区别——它更偏实体制造业全球化业务的数据支撑场景所以笔试题目里会出现大量“供应链库存”“渠道销售”“海外市场”“售后返修”这类业务语境。如果你只是刷过那种通用的“电商订单表”练习做联想的题会有一点错位感但考察的技术内核其实是共通的。先说说这套卷子的整体结构通常由四到五个模块组成第一部分是逻辑推理与数理思维类似行测里的资料分析数字推理第二部分是统计学与概率论基础第三部分是SQL查询实操第四部分是Python数据处理能力考察。部分地区或批次的岗位会加入第五部分——业务情景案例分析或者是英文阅读理解与邮件写作。这个可能和岗位所在的部门有关供应链数据、经营分析、市场洞察类岗位的笔试题目会有差异。我拿到的批次里英语题出现在前段是一篇关于个人电脑市场需求波动的短文大概600词出头5道选择题考察的并不完全是翻译能力而是你能否从英文材料中提取数字和趋势。这个出题思路非常“联想”——毕竟联想是全球化公司日常要阅读大量来自海外市场、IDC报告、Gartner数据的英文材料如果连数据描述都读不懂后面分析就无从谈起。全卷的时间分配我建议这样逻辑和统计题控制在25分钟内SQL题30分钟Python题20分钟案例分析留15分钟以上最后留5到10分钟检查。如果前面行测类题目卡住了果断跳别恋战后面的大题分值更高而且更有区分度。2. SQL与数据提取能力考察笔试的重头戏2.1 考察范围与典型表结构SQL在联想的笔试里占据绝对核心地位基本上每个批次的试卷都有2到3道SQL大题每道大题下挂3到5个小问从简单查询到窗口函数层层递进。它考察的不只是你“能不能查出结果”更是你在一个数据量级较大、表关系复杂的真实业务环境中能不能写出高效、可读、可维护的查询。我遇到的表结构大概是这样的场景一张销售订单明细表字段包含订单编号、销售日期、区域、渠道、产品型号、单价、数量、销售额一张产品信息表产品型号、产品线、上市日期、成本价一张售后服务表服务单号、订单编号、服务类型、服务日期、维修费用还有一张区域目标表区域、月份、目标销售额。乍一看都是很常规的表但真正做题的时候会发现几条隐含的坑第一销售订单有好几条记录是作废状态需要用状态字段过滤第二产品型号在订单表和产品表里存在大小写不一致的历史脏数据第三售后服务表和订单表不是一对一关系一个订单可能产生多条服务记录做关联时很容易造成数据膨胀。所以我的第一条建议是拿到题目先别急着写SQL花两分钟把表关系和字段含义读透尤其看清楚哪些表是一对多、哪些多对一。这在笔试里能帮你避开最基础的连接陷阱。2.2 窗口函数是分水岭联想笔试的SQL题前两问通常是比较基础的过滤、分组、排序到第三问开始就会上窗口函数。我当时遇到的一个题目是这样的统计每个区域每月销售额并计算每个区域截至当月的历史累计销售额以及该区域当月销售额占全国当月销售额的比例。这道题非常典型地考察两个窗口函数能力一是累计求和使用SUM() OVER (PARTITION BY 区域 ORDER BY 月份 ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW)二是占比计算用SUM(销售额) OVER (PARTITION BY 月份)拿到全国当月总额再除以区域当月值。如果平时只是用GROUP BY做分组汇总这道题虽然也能硬凑出来但SQL会长得很难看而且容易错。窗口函数的核心价值就在于它能在不缩减行数的情况下把聚合结果和原始明细放在同一行返回给上层查询这在做同环比、累计值、占比、排名这类计算时是无可替代的。另外在联想这种全球化业务里“分区维度”往往不只有一个。比如同时要看“产品线×区域”的维度组合时PARTITION BY里面可以放多个字段但要注意ORDER BY子句的选取在很多场景里还需要在ORDER BY后面接ROWS/RANGE窗口子句来精确定义窗口范围。笔试中虽然不一定会考到太深的窗口边界细节但PARTITION BY和ORDER BY配合使用的场景一定要练熟。2.3 SQL实操的心得与常见扣分点我在准备阶段刷了很多联想的模拟题和往年笔经总结出几个高频扣分点这里直接列出来没有过滤无效数据订单状态限定条件漏写导致汇总金额虚高。NULL值处理不当在计算比率或差值时没有用COALESCE或IFNULL处理空值结果集出现大量空行甚至影响后续JOIN。日期格式陷阱销售日期字段是datetime类型按月统计时一定要用DATE_FORMAT或年-月抽取别直接用GROUP BY 日期否则会把同一个月拆成几十行。关联条件不完整查订单加服务信息时JOIN条件里漏掉关联维度之外的条件造成一对多重复计算。排序要求不看清题目要求取每个区域销售额排名前3的月份需要用窗口函数做排名后外层过滤而不是简单ORDER BY后截断。我在实际考试中因为有一道小题的JOIN条件漏了一个状态过滤导致计算结果比预期多出了几千行。这种错误在自测的时候很难发现因为样例数据量小膨胀不明显只有把结果和题面给的答案样例对照时才能察觉。所以在平时训练时一定要养成“写完SQL后反向验算”的习惯先看行数是否符合直觉再看关键指标量级是否合理最后看边界值。比如统计区域占比所有区域占比加起来应该等于100%左右如果不等于基本可以判断某个区域的数据重复或丢失了。3. Python与数据处理能力从写代码到解决实际问题3.1 笔试中的Python考法Python部分在联想笔试里的形式通常不是让你写一个完整的脚本而是给出若干个代码补全题、程序输出判断题以及一道比较大的数据处理编程题。补全题往往围绕pandas的常用操作读入CSV、清洗字段、分组聚合、合并表、透视表、处理时间序列。举个例子我记得有一道补全题是这样给定一个CSV文件包含产品型号、价格、销量、上架日期等字段要求删除价格为空的行将上架日期转为datetime类型并新增一列“销售额”然后按产品线分组汇总销售额。核心考点就是几个pandas的链式操作import pandas as pd df pd.read_csv(sales_data.csv) df df.dropna(subset[price]) df[listing_date] pd.to_datetime(df[listing_date]) df[revenue] df[price] * df[sales_volume] result df.groupby(product_line)[revenue].sum().reset_index()这类题目不要求背API但要求你面对一个具体任务能快速选对方法。很多人在平时自己写代码时习惯用dropna()不指定subset结果把整行全删了或者pd.to_datetime()在遇到格式不统一的字符串时直接抛异常不知道加errorscoerce参数。这些都是笔试的高频陷阱。3.2 机器学习基础的轻量应用除了纯数据处理Python模块里还会有几道轻量级的机器学习题目通常以“给定场景选算法”或“判断模型评估指标”的形式出现。我遇到的题目是给定一个包含多个数值特征和标签的数据集目标是预测产品下一季度的销量问应该优先考虑哪类模型以及用哪个指标评估。这道题的正确答案逻辑是销量预测是回归问题优先考虑梯度提升树类模型或线性回归评估指标用RMSE或MAE而不是准确率。如果你选了“分类模型”或“准确率”说明对任务类型的判断还不够敏感。另一个高频考法是无监督学习的场景识别。比如给出一个渠道明细表要求根据用户的购买频次和客单价将用户划分为几个群体显然应该用聚类算法KMeans等这时候题目可能会问“特征是否需要标准化”。这里就很自然地把统计学特征工程和机器学习串在一起考了没有直接考一个具体的库函数而是考你有没有完整的建模思维。我在准备这一块时做了两件事一是把“回归、分类、聚类、降维”四大类任务对应的常用算法和评估指标整理成一张对照表反复过二是每个算法都准备了“适用场景”和“不适用场景”各两个案例。笔试里遇到“选算法”的题目基本能秒答。3.3 数据可视化思想在选择题里的渗透联想的笔试里还出现了一些和可视化相关的选择题它不是问你matplotlib某个函数的具体参数而是给你一个业务场景让你选“最适合呈现该数据关系的图表类型”。比如比较各区域季度销售额趋势选项是折线图、饼图、柱状图、散点图看两个产品线的价格与销量关系选项变成散点图更合适。做这类题的原则是先看数据是“时间趋势、构成占比、类别对比”还是“相关性关系”然后匹配图表。趋势用折线、占比用饼图或堆叠柱状、类别对比用柱状图、相关性用散点图。联想作为一家硬件厂商它的业务汇报里大量使用这些基础图表所以考察这类素养很合理。4. 统计学与业务分析对“懂业务”的隐性筛选4.1 统计学基础题不超纲但需要熟练统计学部分大概是10到15道选择题或者填空题难度基本控制在本科统计学教材范围内但出题角度比较实务。比如给了产品售后维修天数的数据分布问均值和中位数哪个更能代表集中趋势再比如给了一个AB测试的结果样本量、均值、标准差都有问差异是否显著应该用哪种检验方法。这里我印象比较深的一道题是某渠道的订单转化率上个月是3%这个月是3.5%问能否直接判断这个月表现更好。答案当然是不能需要考虑样本量是否变化、差异是否具有统计显著性、是否受季节或促销活动干扰。这道题非常典型地反映了数据分析岗位对“业务归因敏感性”的要求——它不要你只算出一个数字还要你判断这个数字能不能代表真实业务变化。关于AB测试和假设检验我建议大家至少掌握以下几组概念原假设与备择假设、第一类错误与第二类错误、P值的含义与局限、t检验与z检验的使用场景、置信区间的业务解读。联想这类全球化业务中定价策略、页面改版、市场投放都会用到AB测试所以这部分考察并不过分。4.2 案例题以业务场景为核心的综合性分析案例分析题是联想笔试和很多互联网大厂不太一样的地方。它通常不会给你一份完整的数据表让你去跑数而是用文字少量图表描述一个业务现状让你写一份简要的分析思路或结论要点。我遇到的题大致是一个区域的某条产品线连续两个季度销量下滑已知价格、渠道、竞品、售后评分等维度均有变化要求列出你认为需要优先排查的3个方向并说明理由和所需数据。这类题没有标准答案考察的是分析框架和逻辑完整度。我的回答思路是先排除数据口径和统计周期问题确认下滑是真实存在的再拆解内部因素价格调整、渠道库存、促销投入变化、售后口碑波动和外部因素竞品新品发布、市场大盘萎缩最后按“影响面×影响速度×可干预程度”排序优先排查渠道和价格这两个最可能直接产生波动的方向。写案例题的时候要注意不要只列方向要写“我预期看到什么数据就说明什么结论”这样才像一个真正做过分析的人。比如“如果该区域库存周转天数上升但终端零售数据平稳那说明问题出在渠道压货而非消费需求下降”。这种带假设的推论远比干巴巴列“价格、渠道、竞品”三个词有说服力。4.3 数理思维题时间紧张时最值得放弃的部分笔试前端的数理思维题有点像公务员考试里的资料分析数字推理混合体。给你一张表格或者一段业务数据让估算增长率、均值、倍数关系或者给出几个数字让你推下一个数字。它的难度其实不大但非常考验反应速度和计算精度。我的建议是这一模块如果平时练得少考试时可以做标记跳过优先保证SQL和Python大题的完成度。因为数理思维题的单个分值通常低于编程题而耗时往往不低。如果后面SQL大题空着那基本就和下一轮说再见了。当然如果你备考时间充裕这一模块可以用“资料分析”类题库来练每天30分钟练到看到表格就能快速锁定要算的指标基本就够用了。核心技巧是先看问题再找数据不要一上来就细读表格估算优先于精算能约分就约分注意单位陷阱百分比和千分比差一个数量级。5. 面试前的能力图谱与查漏补缺清单以我的经验笔试的重点完全可以提前锁定。你不需要漫无目的地刷一切数据分析题只需要围绕联想的岗位JD去构建能力图谱。技能主要分四层第一层是数据提取与处理对应SQL和pandas目标是把数据快速拿到并清洗成可分析形态第二层是统计与建模基础对应假设检验、回归、聚类等目标是从数据中得出结论第三层是数据可视化与沟通表达对应图表选择、指标拆解、结论汇报第四层是业务理解与逻辑思维对应案例分析和数理推理目标是把结论落地为行动建议。备考时可以把这四层做成一个自查清单逐项打勾。SQL窗口函数不熟就集中练窗口函数pandas的groupby和merge不熟就集中刷这两个操作假设检验概念含糊就回去翻统计学教材案例题没框架就多读一些经营分析类案例。笔试前的最后一周我建议把所有精力放在查漏补缺上而不是继续盲目刷新题。另外有一点值得提醒联想的笔试是分批次进行的不同批次的题目可能出自相同题库所以在笔试前到论坛或牛客上看看最新的笔试经验分享了解当前批次考了哪些题型是非常高效的准备方式。但要注意不要盲目依赖“押题”因为题库很大概率上很难精准命中按能力图谱系统复习才是稳的。我个人在踩过几次坑之后的体会是这类笔试最难的其实不是某一道题而是如何在有限时间内合理分配精力。SQL和Python的大题一定要保证充足时间案例分析要写出“层层递进”的逻辑感统计学题靠平时积累数理思维题敢于取舍。想清楚这一点这场笔试你就赢在了策略上。