京东2018秋招数据分析师笔试题解析:SQL、统计与业务思维全拆解

发布时间:2026/8/31 19:13:26
京东2018秋招数据分析师笔试题解析:SQL、统计与业务思维全拆解 1. 笔试全景这张卷子到底在选什么样的人拿到“京东2018秋招数据分析工程师笔试题”这个题目很多人第一反应是上网找原题、背答案。但我更建议先搞清楚一件事京东在2018年那个时间点招数据分析工程师到底想招什么样的人搞清楚这一点你会发现这套题背后的逻辑比题目本身重要得多。那时候正是电商行业数据化运营快速升温的阶段京东作为头部平台数据团队要支撑的不只是报表而是搜索、推荐、风控、采销、物流、营销活动等几乎所有环节。数据分析工程师这个岗位既不是纯粹做算法的也不是只写SQL取数的而是夹在“业务方要答案”和“数据平台能给什么”之间的关键角色。所以笔试考的不只是你会不会写代码而是你有没有一套完整的数据分析思维。从题型结构来看这套题大致覆盖了四大块数据基础能力SQL、Hive、数据结构、统计与机器学习基础、业务理解与案例分析、以及一些编程逻辑题。这个结构放到今天来看也不过时反而成了很多互联网公司数据岗笔试的参考模板。换句话说你如果把这份题吃透了对应的不只是一家公司而是一整类数据岗位的考察套路。适合看这份解析的人我觉得有三类第一类是正在准备秋招、海投数据岗的应届生你需要知道考点优先级第二类是已经工作一两年、想从业务岗转数据岗的同学你可以通过这份题发现自己的知识盲区第三类是已经在做数据分析、但主要靠工具吃饭、缺少系统理论的同学这份题能帮你补上“为什么”这一层。我当年看这套题的时候第一感觉是“好像都会一点但真让他写又写不完整”。后来才明白这就是笔试设计的意图用看似基础的问题筛掉那些只会背概念、不会落地的人。下面我按模块拆开讲。2. 数据基本功SQL和Hive是绝对的主角2.1 SQL考点几乎绕不开的四个方向数据分析工程师笔试里SQL题永远不会缺席京东这份卷子也是这样。考察的SQL知识点看起来很常规无非是分组聚合、多表关联、窗口函数、子查询但真正拉开差距的是你能不能写出“业务上正确”的SQL而不只是“语法正确”的SQL。我见过太多同学在窗口函数上翻车。比如一道常见的题统计每个类目下销售额排名前3的商品。很多人会下意识用GROUP BY结果发现拿不到排名信息或者在子查询里写得极其复杂。正确的思路是直接用ROW_NUMBER()或DENSE_RANK()按类目分区、按销售额排序。这里有个细节如果一道题说要“取每个类目前3名”用ROW_NUMBER()和DENSE_RANK()的结果可能不一样。当出现并列销售额时DENSE_RANK()会跳过排名号吗不会它对并列值给相同排名且下一名不跳过而ROW_NUMBER()会给并列的其中一个随机分配一个更小的排号这就可能导致漏数据。笔试题有时候就会在这里埋坑你得学会在答题时确认业务口径。再说多表关联。笔试里最常见的坑是关联键有重复值导致结果出现“数据膨胀”。比如用订单表和商品表关联如果商品表里有重复的商品ID关联出来的订单行数就翻倍了。很多同学在笔试时拿到的都是“看起来很干净”的假数据所以不会意识到这个问题。但京东这种体量的公司数据质量远没有你想象的那么理想面试官出这类题其实是在考察你有没有数据质量意识。Hive的考察点略有不同主要围绕分区表和UDF用户自定义函数。比如有一类典型问题给你一张每天全量快照的订单表数据量巨大让你统计某段时间内的日均订单量你会怎么写如果你直接扫全表分区没用好跑几个小时都是正常的。正确的思路是利用分区裁剪只扫描目标时间段内的分区。这就是从“能跑出结果”到“高效跑出结果”的差别笔试不一定考性能但你在答案里体现出分区意识绝对是加分项。2.2 SQL题的三种典型考法总结下来京东这类电商公司的SQL题有三种典型考法我在指导同学准备时也反复强调过你可以对照自测第一种是“指标计算题”。给你订单表、用户表、商品表让你算DAU、GMV、复购率、留存率、CVR这类核心业务指标。这类题表面考SQL实际考的是你对业务指标定义的理解。比如“复购率”有几种定义按用户算还是按订单算时间窗口是30天还是90天不同定义下SQL写法完全不一样。笔试时如果题目没明确口径你最好在答案里标注清楚你的假设这会让面试官觉得你有业务敏感性。第二种是“取数逻辑题”。比如“找出连续三天有购买行为的用户”这类题考察的是如何用SQL表达“连续”这个逻辑。经典写法是用日期减去ROW_NUMBER()的排名构造一个“连续分组键”这也是我建议大家必须掌握的一个SQL技巧因为它几乎年年出现在各类数据岗面试里。第三种是“优化题”。比如给你一条查询很慢的SQL问你怎么优化。这类题不一定要求你写出完整优化后的SQL而是看你有没有意识回答加索引、分区裁剪、避免SELECT *、减少JOIN的数据量、用临时表中间结果等。这背后考察的是你对Hive/数据库底层原理的理解程度。我在实际工作中发现SQL能力是数据岗最基础但也最值钱的能力因为你入职后80%的时间都在和SQL打交道。如果你现在刷题时间有限优先把Row_Number、Lead/Lag、Case When这些窗口函数和条件聚合练熟再配合LeetCode数据库题库刷上50道左右基本就能覆盖笔试中的SQL部分。3. 统计与机器学习不考推导公式考你有没有“直觉感”3.1 假设检验和置信区间是必考点统计概率题在数据分析岗笔试题里的地位仅次于SQL。但京东这套题的特点很鲜明不考你手动推导某个分布函数的积分而是考你在业务场景里的统计直觉。比如很经典的题目AB实验里实验组转化率是2%对照组是1.8%样本量各10万问这个差异是否显著为什么很多同学一看到这种题就开始回忆卡方检验的公式其实笔试想让你回答的核心点有三个方面第一差异的置信区间是否跨过0第二p值或显著性水平判断第三实际业务意义和统计显著性的关系。有些题甚至会故意问一个“统计显著但业务上可以忽略”的case看你有没有这种辨别能力。我记得有个特别容易踩坑的知识点就是置信区间的含义。很多人会把它解释成“有95%概率落在区间内”严格来说这是错的。正确理解应该是如果我们重复实验很多次每个实验算出一个置信区间大约有95%的区间会覆盖真实值。笔试中是可以用简化的角度去答“有95%的置信水平认为真实转化率落在某个范围”但前提是你别在“概率落在”这句话上犯低级错误。贝叶斯定理也几乎是必考的而且绝不会给你直接套公式那么轻松。常见考法是某风控模型预测用户为“高风险”预测准确率是95%而全站高风险用户的实际比例只有1%问用户被模型判为高风险后他真正是高风险的几率是多少。这就是一个经典的贝叶斯反直觉问题。很多人脱口而出95%正确做法是要把先验概率1%和误报率5%都算进去最后结果其实只有16%左右。这类题考察的正是你对先验、后验和条件概率的直觉而不是公式背诵能力。3.2 机器学习考点集中在“怎么用”而不是“怎么推”机器学习在数据分析工程师笔试中的占比没有算法工程师那么重但一定会涉及到。考察重点集中在过拟合和欠拟合的识别与处理、训练集/验证集/测试集的划分、交叉验证的意义、常见模型线性回归、逻辑回归、决策树、随机森林、GBDT的应用场景和优缺点对比。其中“过拟合”是最常被翻牌子的概念。考法比如给一个模型在训练集上准确率99%测试集上只有80%问可能是什么原因、怎么解决。标准答案包括增加数据量、降低模型复杂度、加正则化参数、做交叉验证、做特征筛选等。还有一类题是垃圾分类式的给你一个业务场景让你选模型。比如“预测用户未来7天是否会购买某品类商品”你会用逻辑回归、XGBoost还是深度学习其实逻辑回归和XGBoost都合理关键是你得说明为什么不用深度学习——因为特征通常是稠密的用户和商品统计特征样本量不一定够大树模型在小规模特征工程上表现更稳解释性也更好。这些判断不是从公式里推出来的而是你真正跑过几个项目之后积累的“手感”。特征工程题有时也会出现但不会太难。比如“用户年龄字段缺失率达到40%你怎么办”这考察的不只是填充均值、中位数那么简单而是你是否会结合业务场景判断。比如对电商来说年龄与购买品类偏好相关直接用均值填充会削弱这种区分度更合理的方式是加一个“年龄是否缺失”的标识特征然后对缺失值单独填充一个特殊值或者用其他特征建模预测年龄。这就能看出你有没有真实处理过脏数据。4. 业务Sense题整份卷子区分度最大的部分4.1 异动归因分析题的核心套路业务分析题在数据分析岗笔试里最有区分度京东这份卷子也不例外。这类题通常包括GMV下降、活跃用户减少、转化率异常、退货率上升等场景让你分析可能原因并给出解决方案。我见过很多人遇到这类题时的表现是想到什么说什么拆解没有逻辑。面试官想要的是——哪怕你不能拿到数据也要展示出清晰的拆解框架。我总结了一个非常好用的三层次答题套路第一层确认指标定义与数据口径。比如GMV下降你得先确认是按订单金额算还是按支付金额算是否包含取消订单、退款订单是否包含大家电这种低频高客单类目。很多时候“指标下降”是口径切换导致的假象不是业务真出问题了。第二层按“用户-商品-渠道-时间”四个维度进行拆解。用户维度看新老客、不同层级、不同生命周期商品维度看类目结构变化、爆款商品是否下架、新品表现渠道维度看免费/付费流量的变化活动流量占比时间维度看是否节假日、是否去年基数异常。这里要回答出“GMV下降是结构性问题还是普遍性问题”比如某个头部品类掉了20%还是所有品类普遍小幅下降这两种情况的原因和动作完全不一样。第三层针对可能原因设计验证方案。这一点特别加分。比如你觉得是流量下降导致的GMV下滑就要写清楚怎么验证——通过埋点数据看PV/UV变化趋势分渠道看流量来源对比各渠道转化率如果你怀疑竞品活动抢量就需要结合外部搜索指数、行业大盘数据等来佐证。凡是你提出的原因都要配上验证方法这才是数据分析师的价值。4.2 AB实验设计题的三个核心步骤AB实验设计也是业务题的重点考察方向京东这种页面优化、推荐算法更新极频繁的电商平台几乎每个数据团队都会自己搭实验平台面试自然必考。关于实验设计常见的考察框架是给你一个功能改动比如“把商品详情页的评价模块上移”让你评估效果你会怎么做第一步是确定实验指标。这个题最经典的坑是很多人只会想到“转化率”“GMV”这类唯一指标。正确的答法要有主指标和护栏指标。主指标是这次实验最直接要提升的目标可以是CVR或GMV护栏指标是为了避免“按下葫芦浮起瓢”比如页面平均加载时长、退款率、客服咨询量等这些指标如果恶化说明改动有负面影响。第二步是确定实验单位。用户级还是设备级有的同学直接说用用户ID但在电商场景里登录用户和未登录用户并存如果用登录用户分组未登录的行为就无法归组。合理的处理方式一般是用cookie或设备ID去做实验分层同时把用户归属和登录态的变化纳入分析。第三步是计算样本量和实验时长。这里考察统计知识。样本量取决于基线转化率、最小可检测提升、显著性水平常取0.05和统计功效常取0.8。你可以不写出完整公式但要能说出大致的逻辑。比如基线转化率是5%想检测到10%的相对提升那么每组大概需要几万到几十万用户实际估算可以用功效计算工具跑一遍。实验时长还要考虑覆盖一个完整的业务周期比如至少一周覆盖周末和工作日并且避开大促。我见过很多优秀的回答最后一定会提到一句话“如果实验结果是边缘显著我会再多跑几天或者做分层分析。”这句话看着简单但体现的是你真正做过实验知道实际操作没有教科书那么干净。4.3 综合案例从指标搭建到洞察输出除了归因和AB实验有些笔试题会综合一些比如给你“京东用户复购率下降”的场景让你做一份完整的分析思路。这类题其实是把前面的点连成线考察你有没有完整的分析框架。可以参考的策略是先定义复购率的口径所有用户还是仅新客首购后30天内算复购吗再分维度拆解下降来自哪个用户群、哪个品类、哪个渠道然后下钻到具体原因最后给出建议。回答这类题时不要求你真的拿出数据但你的逻辑链必须严密每一步都能自圆其说并且要避免“散弹枪式”的全凭灵感的输出。业务Sense这块靠突击刷题很难快速提升它更多来自平时对业务的理解和积累。所以我一直建议准备数据岗的同学每天花20分钟看看自己公司的核心数据看板试着解释任何一个指标波动的原因坚持一两个月你再看这类题感觉会完全不一样。5. 编程逻辑题绕过“会不会写代码”来考察底层逻辑数据分析工程师的编程题一般不会像后端开发那样考大算法但JD中通常会要求熟悉Python或Java所以笔试中会穿插少量编程逻辑题。京东这套题里编程题更多是Python基础和数据处理的场景题。一个常见考点是给你一个嵌套字典或列表让你按某个键排序或筛选。这类题考察的其实是Python基本功——列表推导式、Lambda表达式、字典排序、去重、合并等难度不大但要求你现场写出来不能翻资料。很多人平时用Pandas处理数据习惯了遇到纯Python操作反而卡壳我建议大家把Python内置的数据结构操作练熟尤其是列表推导式、字典的get方法、sorted的key参数、zip、enumerate、Counter这些高频工具。另一个高频考点是写一个函数解决具体问题。比如“给定两个列表找出重复元素”“统计字符串中每个单词出现的次数”“实现一个简单的队列/栈”。别看这些题目简单很多人写的代码要么没有处理边界条件比如空列表要么没有考虑时间复杂度比如循环套循环这都能看出你的代码功底。再有一类就是手写简单算法逻辑。比如“判断一个字符串是否是回文”“写一个冒泡排序或快排”考察的不是你背不背得下来而是你有没有理解算法背后的指针、交换、递归等思想。对数据分析师来说这类算法在实际工作中确实很少用到但笔试会考因为它能快速筛选出那些真正系统学过编程基础和只是调包的人。如果你对数据结构不熟我建议把“数组和指针”这类基础题也过一下。不是说数据分析师会用到指针而是笔试时总有一两道这类题来“压轴”你不需要拿满分但不能全部空着。掌握基本思路和术语遇到不会的也尽量写一点“暴力解法”至少能拿到部分步骤分。6. 实战复现这套题正确打开方式和备考建议6.1 时间分配与答题策略笔试时间是有限的一般选择题、SQL题、案例题会在同一套卷子里出现时间上必然紧张。我给大家一个答题顺序建议先做自己最有把握的部分通常SQL题是相对固定的得分点先写然后是统计和机器学习选择题可以用排除法快速推进最后留出足够时间给业务分析题因为这类题分值大且需要组织语言。如果实在遇到不会的选择题我的建议是不要空着。很多数据岗笔试选择不倒扣分蒙一个还有概率得分。对于SQL题和编程题就算不完全会写也把思路注释写出来面试官阅卷时能看到你脑中有“分区”“去重”“关联键”这些概念也会给分数。还有一个很多人忽略的点写SQL和Python时一定要注意书写规范和变量命名。可以直接把答题框当成你在IDE里写代码保持缩进一致、命名清晰、注释得当。这些细节说大不大但在机阅加大面试官人工筛选的环节里是实实在在的加分项。6.2 备考资料和刷题路线如果你现在离秋招还有两个月以上我比较推荐的刷题路线是这样的第一阶段基础巩固1-2周把SQL窗口函数、多表关联、聚合分组练熟LeetCode数据库类简单和中等问题刷30道Python刷内置数据结构和基础算法重点掌握列表推导式、字典操作、字符串处理和排序。第二阶段专项突破2-3周集中刷牛客网上各大厂的数据分析笔试题每天一套限时完成对照答案解析看差距。这一阶段不要只看题要把错题归纳成知识点清单比如“窗口函数over(partition by)不熟”“置信区间概念混淆”“AB实验样本量公式遗忘”然后针对性补。第三阶段业务提升持续进行每天读一篇行业数据分析案例文章学习别人怎么拆解业务问题、怎么提建议。推荐多看电商、内容平台、金融风控这三个领域的案例分析因为这些是数据分析师岗位最集中的行业。关于书籍我建议看三本就够了《SQL必知必会》做入门《精益数据分析》来建业务感《统计学》可以是国内版的统计基础教材补概率论底子。不用贪多把那几十道经典笔试题练透比泛泛看十本书都有效。6.3 笔试和面试如何衔接笔试只是第一关如果你通过了面试里一定会追问笔试题。比如你SQL题用了窗口函数面试官就会问“窗口函数和group by的区别是什么”“如果数据量特别大你会怎么优化这条SQL”。所以笔试里写下的每一个答案都要做好被深挖的准备。我在培训同学时有一句反复说的话笔试不是完成题而是向未来的同事展示你处理问题的习惯。你写的每一段SQL都像提交一次代码评审你要对自己写下的每一行负责。这种心态本身就会让你的笔试回答质量上一个台阶。如果你时间紧急只有一周准备那我建议你优先保证SQL窗口函数能熟练运用业务分析题能按“口径确认—维度拆解—原因验证—建议输出”四步法回答统计概念能分清“显著”和“相关”的区别。做到这三点你已经有相当的竞争力了。顺便提一句数据分析师笔试不只是应届生秋招才有社招的数据分析师面试也常会参考这类题库只是会结合你过往的业务背景问得更深。如果你正在准备社招建议把本文提到的SQL窗口函数、AB实验设计和归因分析框架三个点练扎实这几个是面试官最爱考察的高频内容。最后再分享一个小经验准备这类笔试错题复盘比盲目刷题重要得多。每一道错题背后都是你某个知识点的漏洞把这些漏洞补上你遇到同类型的题就不会再慌。很多人觉得选择题刷完一遍记住答案就行了但一到手写SQL题还是会卡壳原因就是没有真正理解答案背后的逻辑。建议每做完一套题花至少一倍时间复盘把每一道题为什么这么解、有没有更好的解法、如果条件变了会怎样这些想清楚比多做三套题的收获都大。