ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

网易数据分析笔试卷深度拆解:SQL、统计与业务题的实战攻略

网易数据分析笔试卷深度拆解:SQL、统计与业务题的实战攻略 不用怀疑网易这套2018校园招聘数据分析工程师笔试卷放到今天来看依然有很强的参考价值。它不考死记硬背的概念而是把你按在工位上看你能不能像一个真正的数据分析师那样去拆问题、算数据、推结论。我当时刷这套题最大的感受是它用一张卷子模拟了一次完整的数据分析项目流程从取数、清洗、建模到业务决策每一道题都是一个环节的缩影。这篇文章我打算从头到尾拆一遍这套试卷的考点分布、题型逻辑、解题思路以及我当时踩过的坑和复盘出来的备考方法希望能给正在准备数据分析校招或转行的朋友一些真正能落地的东西。我自己在刷这套题之前其实已经把SQL、Python和统计学过了一遍但真正做题的时候还是被锤得很惨。倒不是因为题有多偏多难而是它的考察方式和我在学校刷的“标准答案型”题目完全不一样。它更像是在问给你一个真实的业务场景你能不能用数据给出一个站得住脚的判断。所以这篇文章不打算只罗列题目和答案而是想带着大家看看每一类题背后到底在考什么以及怎么训练自己在这类题目上的临场反应。1. 试卷整体认知网易到底在筛选什么样的数据分析师先聊一个宏观的问题一份笔试考卷本质上是一家公司对岗位能力的具象化表达。网易这套笔试卷出题人想筛选的并不是“会写SQL的人”而是“能通过数据解决业务问题的人”。这听起来像句废话但如果你把试卷题目全部拆开看会发现每条题型都精准对应了数据分析师日常工作的某个环节。1.1 核心能力模型取数、分析、表达三位一体我反复看了几遍这套题之后总结出它的能力考察模型可以分为三层。第一层是数据获取与处理能力对应的是SQL题目考察你能不能从数据库里高效、准确地拿到想要的数据。第二层是建模与论证能力对应的是统计学和Python编程题考察你面对不确定性时能不能用科学的方法做推断、做预测。第三层是商业洞察与表达输出能力对应的是业务分析题和开放题考察你能不能把数据结论翻译成业务动作。这三个层次刚好对应一个项目从开始到交付的全过程。如果你只看重某一层而忽略其他层笔试一定会暴露出来。比如我身边有个朋友SQL写得特别溜但碰到业务题就完全没思路最后总成绩还是不够。反过来也有同学业务思维很好但栽在了概率统计题上。所以这套卷子在你备考的时候就在提醒你数据分析和别的岗位不一样它是一个需要“全栈式”能力的岗位。1.2 题型分布与侧重点复盘从我记忆里的题型分布来看这套试卷大致的结构是这样的SQL编程题大概占了三到四道侧重多表关联和聚合查询Python题一到两道侧重基础算法和数据处理概率统计题两到三道侧重分布、假设检验和贝叶斯业务分析题占了两道左右侧重指标拆解和AB测试设计剩下的是一些基础概念选择题考察机器学习、数据仓库基础等知识。这种分布是有讲究的。SQL和概率统计的占比高说明网易的数据分析团队极度看重取数和量化论证这两个基本功。业务题的存在说明他们不希望招进来的人只会对着数据自嗨得能理解业务语言。而Python题并不是要你去手写一个机器学习模型而是看你的编程基本功能不能支撑后续的自动化分析和数据清洗需求。下面这张表是我根据自己的回忆和同类试卷整理的参考权重供大家对照参考。题型模块建议占比核心考察方向备考优先级SQL编程30%多表关联、聚合、窗口函数极高概率统计20%分布、假设检验、AB测试极高Python编程10%数据处理、基础算法高业务分析20%指标拆解、业务建模、AB实验设计高概念选择20%机器学习、数仓、数据治理基础中1.3 为什么用这种方式筛选人才观察一个细节这套笔试卷几乎没有死记硬背的“名词解释题”。SQL题全部给你表结构概率题全部给你业务背景业务题直接给一个网易生态内的产品场景。这么做的好处是它能直接筛掉那些只会背八股文、但一遇到真实数据就手足无措的“应试型选手”。我当时做完最大的体会是这套题里的每一道SQL题放到真实的业务部门里就是我每天要处理的取数需求。概率统计题也不是从课本里摘的而是“游戏里某道具的掉落率提升后怎么判断是随机波动还是真实提升”这类真实运营问题。你要用严谨的统计学方法回答而不是拍脑袋说一句“应该是提升了”。2. 核心题型拆解每道题背后的解题套路接下来我们把各类题型的典型题目和解题思路拿出来拆一遍。我尽量还原当时做题时的思考过程包括第一步做什么、第二步做什么、为什么要这么做。这里要说明一下因为时间比较久我不可能记得每一道题的原题所以下面这些题型和示例是根据我对这套试卷的记忆结合同类校招笔试卷的常见考法整理出来的基本可以代表网易这套题的出题风格。2.1 SQL题多表关联与聚合是你的命根子SQL题在整张卷子里的分量最重考察的形式基本就是给你两张或三张表让你写查询。举例来说有一类经典题是给一张用户表和一张订单表让你算每个用户的首次下单时间、累计下单金额或者最近30天的复购率。这类题目表面上是考察SQL语法实际上考察的是你能否把业务问题翻译成逻辑严谨的查询语句。做这类题我的习惯是分三步走第一步先把表结构和字段含义看明白搞清楚哪个表是事实表、哪个表是维度表这决定你的主表选谁第二步把要计算的指标拆成“需要哪些字段、做哪种聚合、按什么维度分组”先在草稿纸上写下步骤第三步再动手写SQL写完后再用一个小样本数据验证逻辑是否合理。具体到语法层面我强烈建议备考时把窗口函数练熟。网易这种大厂非常喜欢考察排名、累计值、环比同比这类分析需求而窗口函数是解决这类问题的最优解。比如算“每个用户最近一次下单距今天数”用ROW_NUMBER() OVER(PARTITION BY user_id ORDER BY order_time DESC)立马搞定如果你只会GROUP BY这种题做起来就非常痛苦。-- 典型题型查询每个用户的首单时间和累计下单金额 SELECT user_id, MIN(order_time) AS first_order_time, SUM(order_amount) AS total_amount FROM orders GROUP BY user_id;这题看起来很简单但它可以变形。面试官如果把“每个用户的首单时间”改成“每个用户第三次下单的时间”就需要窗口函数配合子查询。所以备考SQL不只是背语法而是要把窗口函数、子查询、临时表这些工具内化成自己的兵器库碰到什么业务需求都能顺手抽出对应的工具来。2.2 Python题数据清洗与基础算法两手抓Python题通常不会出特别刁钻的算法题重点在于你能否熟练运用Python做数据处理以及对基础数据结构的理解。常见的出题方向有两个一个是对一个嵌套的JSON或列表做清洗和转换另一个是实现某个简单算法比如用递归遍历二叉树。以数据处理类题目为例当时有一道题给我印象很深是给了一个包含缺失值和异常值的销售数据列表让你用Python写代码清洗。最简单的做法就是遍历列表用条件判断把异常值过滤掉再把缺失值填充成均值或中位数。虽然看起来很基础但能考察你对数据质量的敏感度和代码基本功。# 典型题型清洗销售数据剔除异常值并填充缺失值 sales_data [100, 200, None, 5000, 300, None, 180] # 第一步过滤异常值超过3倍标准差视为异常 import statistics valid_data [x for x in sales_data if x is not None] mean_val statistics.mean(valid_data) std_val statistics.stdev(valid_data) filtered_data [x for x in valid_data if abs(x - mean_val) 3 * std_val] # 第二步用清洗后的均值填充缺失值 fill_val statistics.mean(filtered_data) cleaned_data [x if x is not None else fill_val for x in sales_data] print(cleaned_data)这里要重点说一句笔试里的Python题不需要你写得多么花哨但一定要逻辑清晰、边界条件考虑完整。比如上面这段代码如果没有先处理None值就计算均值和标准差直接就会报错这种细节就是区分高手和新手的地方。我建议备考时把列表推导式、字典操作、字符串处理、异常捕获这几个常用的知识点练熟再配合刷几道LeetCode的简单题培养手感就足够了。不要花大量时间去啃动规、图论这些偏算法竞赛的内容性价比太低数据分析岗笔试基本用不上。2.3 概率统计题统计检验是业务决策的裁判概率统计题是这套卷子里面最容易拉开分差的部分因为它不是靠死记硬背能过的需要你对统计思想有深刻理解。网易特别爱考三类问题一类是常见的概率计算题比如古典概型、几何概型、条件概率另一类是分布问题比如正态分布、二项分布、泊松分布的应用还有一类是假设检验和AB测试这是大厂笔试的重头戏。我记得有一道题特别典型大概是说一个游戏的新手关卡通过率之前是40%进行版本改动之后抽样了200个新用户的通过率是45%问你怎么判断是不是改动有效。这道题的考点不仅是你会不会做z检验更在于你能不能把假设检验的完整逻辑讲清楚先设原假设和备择假设再计算检验统计量然后得出p值最后下结论。# 假设检验示例通过率是否显著提升 from scipy import stats # 原假设p 0.4备择假设p 0.4 p0 0.4 n 200 p_hat 0.45 # 计算z统计量 z_score (p_hat - p0) / ((p0 * (1 - p0) / n) ** 0.5) p_value 1 - stats.norm.cdf(z_score) print(fz统计量: {z_score:.3f}, p值: {p_value:.3f})这里有一个非常关键的坑很多人在答AB测试的时候只写到“p值小于0.05就显著”就完事了但这在面试官眼里是不及格的。你需要补充说明第一样本量是否足够这决定了检验的统计功效第二是否控制了其他变量比如版本改动期间有没有同时做运营活动第三即使统计上显著实际业务提升幅度是否值得全量上线要结合ROI来判断。这正是数据分析师和“只会跑模型的人”最本质的区别——你不是在真空中做研究你要在充满干扰的真实业务环境里做决策。2.4 业务题指标拆解和AB实验设计的应用业务分析题一般是压轴出场它没有标准答案但恰恰是最能体现一个人分析功底的题型。网易的题通常结合自家产品比如考一款内容产品DAU下降怎么分析或者考一个电商模块的转化率如何提升。我当时看到这类题第一反应是“这怎么答”后来才明白它考察的就是结构化的分析能力。回答业务题的核心方法就是指标拆解。拿DAU下降这个例子来说你不能直接说“可能是因为产品变差了”你要把DAU拆成新增用户、留存用户、回流用户三个部分然后分别看是哪个部分出了问题。如果是新增下降再去拆渠道看是哪个渠道的量掉了如果是留存下降再拆不同版本、不同用户群看是不是某次改版导致特定人群流失。这样一层层拆下去才能把问题定位到可执行的层面。AB测试设计题也是业务题的高频考点。比如给你一个改版方案让你设计一个AB测试来验证效果。你需要说清楚这几件事实验的假设是什么、实验的对照组和实验组怎么切分、样本量怎么算、实验跑多久能出结果、核心指标和辅助指标分别是什么、实验期间怎么排除干扰因素。这一整套流程就是数据分析师在业务中做一次AB测试的全部环节。我当时答这类题的时候学到一个技巧就是写答案的时候把“先看什么、再看什么、最后看什么”的逻辑顺序写清楚让面试官一眼就能看出来你是个有结构化思维的人而不是想到哪写到哪。3. 实战演练从拿到试卷到交卷的完整思路光会拆题还不够笔试的过程中怎么分配时间、怎么安排做题顺序、遇到卡壳怎么办这些“应试技巧”同样重要。我自己第一次做这套卷子的时候就在时间分配上吃了大亏前面选择题花太久结果后面的SQL和业务题时间不够用最后仓促作答导致质量很差。第二次复盘时调整了策略整个做题节奏就顺了很多。3.1 合理的时间分配与做题顺序我的建议是拿到试卷先花两三分钟把整张卷子浏览一遍不需要细看每一道题但要做到心里有数哪些题目是自己熟悉的、哪些题目看起来比较难、每道大题大概占多少分。然后按照“先易后难、先高分后低分”的原则分配时间。具体来说选择题基本是“秒杀题”知道就是知道不知道纠结也没用控制在10到15分钟内做完。接下来先做SQL题因为这类题套路固定平时练习的痕迹最容易迁移到考场上趁头脑清醒的时候写正确率最高。然后是Python题和概率统计题这两类需要静下心算建议各留20到25分钟。最后做大分值的业务题这类题虽然文字量最大但只要思路清晰30分钟内可以写出一份不错的答案。题型模块建议用时做题顺序备注选择题10-15分钟第1位不会的果断跳过SQL编程25-30分钟第2位趁清醒写代码Python编程15-20分钟第3位注意边界条件概率统计20-25分钟第4位公式要写完整业务分析25-30分钟第5位注重逻辑链条3.2 做题时的常见失误与应对这里分享几个我自己实测踩过的坑给正在备考的朋友们提个醒。第一个坑是SQL题不审清楚字段就下手。有的题给了两个表字段名称长得很像比如一个是order_time另一个是pay_time稍微一粗心就关联错字段结果答案一跑就出问题。所以在笔试中哪怕再简单的SQL我也建议先在草稿纸上把用到的表和字段列清楚。第二个坑是概率统计题算出数字就完事完全不做解释。笔试卷子不是只给你对的数字就行的它需要你展示完整的推理链。比如算完p值之后要写一句“在显著性水平为0.05的前提下p值小于0.05拒绝原假设”这才能体现你的统计功底。第三个坑是业务题空谈想法、不用数据和公式。我在批改一些模拟卷的时候发现很多同学写业务题全是“提高用户体验”、“优化推荐算法”这类大词完全看不到分析过程。正确的做法是哪怕没有具体数据也要把你的分析框架和指标公式写出来比如“GMV 流量 × 转化率 × 客单价”然后再往下拆这样才能让阅卷人看到你的专业性。3.3 用一套草稿纸建立“解题现场”还有一个很多人忽略的实战技巧草稿纸的使用方式。笔试现场草稿纸非常宝贵我的习惯是把草稿纸折成几个区域分别用来记不同题型的推演过程。比如左上角写SQL的字段梳理右上角写统计计算过程下方写业务题的指标树。这样做的好处有两个一个是思维不会乱每道题都有自己固定的“工作区”找之前记录的中间结果时一翻就到另一个是检查时很方便如果某道题答案有明显问题你可以顺着草稿纸上的推导过程快速定位出错的环节。虽然这是个非常微小的细节但考场上的每一分效率提升都有可能转化成最终成绩上的差距。4. 复盘与备考路线这套卷子告诉了我们什么把整套试卷拆完一遍有一件事值得反复琢磨它到底在向未来的数据分析师传递什么信息对于我自己来说这套题的复盘价值不仅在于多会做几道题更在于让我第一次看清了数据分析岗位的能力坐标系。4.1 从笔试反推能力模型我在复盘的时候发现这套卷子其实在暗示一个数据分析师的成长路径。第一阶段是“取数能力”要能快速从数据库里拿到准确、可用的数据这是最基础的生存技能第二阶段是“分析能力”要学会用统计学、机器学习的方法从数据中提炼出洞察而不是停留在描述统计的层面第三阶段是“影响力”也就是你能不能把分析结论传递给别人推动业务做出改变。这个能力模型的排序很有意思它对标的是一个人进入团队后从“执行者”变成“贡献者”的过程。应届生刚入职的时候绝大多数时间是做取数、清洗、出报表这类基础工作能不能快速胜任这部分工作决定了你能否赢得团队的信任。而笔试里的SQL题和Python题就是在这个层面筛人。如果你能往上走具备扎实的统计基本功和业务分析思维你就有机会参与更核心的决策支持工作。4.2 按题目反推学习优先级基于这套试卷的题型权重我建议备考的朋友按以下顺序安排复习计划。第一优先级一定是SQL因为它的可练习性最强提分效果最明显而且它是笔试题量最大的模块。练习方法可以直接刷LeetCode数据库题或者用网上能找到的各种SQL练习环境重点练多表关联、聚合函数、窗口函数、子查询。第二优先级是概率统计找一本应用统计教材把假设检验、置信区间、贝叶斯这些内容吃透再结合AB测试的真实案例理解统计思想。第三优先级是业务思维的培养这个靠刷题作用有限更好的方法是做一个完整的数据分析项目从业务问题出发体验一遍取数、清洗、分析和输出的全部过程。Python和机器学习基础知识排在后面不是不重要而是它们在笔试中占比相对较低可以放在SQL和统计之后复习。但有一个前提如果你的简历里写了“熟练使用Python”那笔试的Python题就绝对不能丢分否则简历的真实性会打折扣。4.3 避坑清单这些错误千万别犯最后整理一份我当时复盘总结的避坑清单给在座各位参考。第一不要眼高手低只刷难题。笔试里基础题的占比其实比想象中大而基础题考察的往往是对细节的把握比如SQL里LEFT JOIN和INNER JOIN的区别、Python里可变对象和不可变对象的区别。这些知识点单独拎出来没人不会但在限时高压的笔试环境下就很容易出错。第二不要忽视手写代码的工整度。笔试不是IDE没有代码补全也没有调试器。我见过太多同学在笔试中写代码时各种小错误不断丢三落四。备考后期一定要拿纸笔练习手写SQL和Python练到能一次性写出无语法错误的程度。第三不要背答案而不理解原理。如果你只是把某道题背下来题目稍微一变就会露馅。比如你背了一道“计算次日留存率”的SQL题但笔试改成“计算三日留存”本质上只是把datediff的条件改一下如果你理解原理这种变形就是送分题如果只是背答案可能就卡住了。第四不要在业务题里写空话。任何表述都要有数据和逻辑支撑哪怕题目没有给你真实数据你也要用可量化的框架来说话比如“预期每UV价值提升10%”、“转化率从5%提升到5.5%才有ROI超1”。这种表达方式才是数据分析师应该有的样子。5. 写在经验之外面试和笔试之外的长期积累关于这套网易笔试卷我能回忆起来的内容和复盘思路到这里基本就写完了。不过我还想多说一段因为每次聊到校招笔试题我都不太希望大家把它当成一个“考完就扔”的短期冲刺目标。笔试的终点其实是工作的起点你在试卷里看到的每一个场景未来都可能在你工位上真实发生。5.1 从笔试到面试同一套思维的延伸网易的校招流程里笔试之后还有面试环节而面试中追问的问题往往就是笔试答案的深化。比如笔试里那道AB测试设计题面试官可能会继续追问“如果实验组的核心指标提升了但次要指标显著下降怎么办”、“如果实验跑了两周结果还不显著怎么办”、“如果两个产品功能想同时上线怎么设计实验”。你会发现你笔试时写的框架在这时候就只能算是地基需要你在真实业务逻辑里长出整个房子。我把这个环节写出来是想提醒大家备考的时候不要只盯着笔试本身你要把解题框架内化成自己的思维方式。这样你在笔试中写下的每一个结论都可以在面试中用更丰富的实例来支撑让面试官觉得你是一个真正理解业务的数据分析师而不是一个刷题机器。5.2 一个实战小技巧建立自己的分析工具箱最后分享一个小技巧也是我后来工作后一直在用的方法建立一套属于自己的分析工具箱。具体来说就是把你遇到的高频SQL查询模板、Python数据处理函数、统计检验代码、业务指标拆解框架全部沉淀到自己的笔记里按场景分类整理。笔试前翻一翻面试前翻一翻工作后还能继续用。比如SQL层面我把“留存率计算模板”、“复购率计算模板”、“漏斗转化计算模板”这些高频查询写成了可复用的代码片段Python层面我整理了一份涵盖缺失值处理、异常值处理、数据标准化、数据透视的常用函数清单业务层面我用思维导图记录了DAU拆解、GMV拆解、用户生命周期价值分析这些常见分析场景的框架。这套工具箱让我在后来很多的笔试和面试里都能在短时间内组织出结构完整的答案。我一直觉得一套好的笔试卷不应该只是筛选人才的工具更应该是学习路线的路标。网易这套2018的题放在现在来看依然可以作为数据分析岗求职者的练手样本因为它完整地画出了一个合格数据分析师的能力画像。希望大家不要被这套题吓到也不要只是奔着一个offer去刷题而是借着准备笔试的机会把自己的数据分析基本功真正打扎实。基本功这种东西永远不会白练它会在你职业生涯的某个节点以你意想不到的方式回馈你。
返回列表