拓冰建站拓冰建站
首页 / 资讯中心 / 正文

网易数据分析笔试题深度拆解:统计、SQL与业务思维全攻略

先把话说在前面这篇文章不打算给你罗列“2018年网易数据分析实习生笔试题原题答案”因为这种整理网上已经很多了大部分还是截图或者回忆版参考价值有但很碎片。我想换个角度写把这份题目当作一面镜子照一照数据分析这个岗位在互联网大厂眼里到底考什么、为什么这么考以及你从现在开始应该怎么准备。如果你正在准备数据分析方向的实习或校招或者刚入行想系统补一补自己的短板这篇文章应该能帮你省下不少瞎折腾的时间。我会把题目背后的考察点、我当时踩过的坑、还有后来复盘时总结的答题思路全部摊开来聊一遍。1. 从一道2018年的笔试题说起数据分析岗到底在考什么1.1 先还原题目场景我印象里网易这场2018实习生招聘的数据分析笔试题整体分成了几个明显板块统计概率基础、SQL取数、业务分析思路还有一部分偏产品/运营的数据解读。题型上有选择题、简答题也会有小的计算题或者场景设计题。很多人第一次看到这套题第一反应是“怎么这么多业务题说好的考Python呢”——这其实恰恰是网易这类老牌互联网公司招数据分析实习生的典型风格工具只是手段业务判断才是核心。Python、Excel、SQL这些是基本功但笔试真正想筛掉的是那些只会跑数、不懂业务的人。我记得有一道题大概是给了一个业务场景比如某个功能上线后DAU日活跃用户涨了但次留没变让分析可能的原因。这类题目没有标准答案但能看出你有没有结构化的分析思路。还有一道是概率题考条件概率和贝叶斯思想表面是数学题实际是看你懂不懂“先验概率”和“新证据如何修正判断”。1.2 为什么旧题目依然值得精读你可能想问2018年的题现在看还有用吗我的回答是非常有用。原因有三点。第一数据分析岗的核心能力模型这些年并没有本质变化统计思维、SQL、业务理解、数据敏感度依然是面试官最看重的四件事。第二网易考过的题型后来在很多其他公司的笔试题里反复出现说明这类题目已经是行业通用的“筛人模板”。第三通过拆解旧题比刷“题库”更有价值因为你能从中看到题目背后的考察逻辑而不是死记硬背答案。我自己当年就是靠反复研究这类题目才慢慢从“会用工具”进化到“懂业务分析”的。下面我把这套笔试题背后的考察点逐层拆开每一块都配上我自己整理的分析框架和实操建议。2. 核心考点拆解统计基础、SQL与业务思维2.1 统计概率不只是公式是业务判断统计概率板块的题目通常不会考你背诵中心极限定理的证明过程而是给你一个业务场景让你计算概率、判断显著性或者解释某个统计指标的含义。举个例子题目可能会这样出某功能改版后点击率从5%提升到6%样本量是每组10000人问这个提升是否显著。这种题考的就是两比例z检验但更重要的是你要知道在业务体量下1个百分点的提升到底算不算“胜利”如果样本量不够即使看起来提升了也可能是随机波动。这里我建议你准备时不要只背公式要建立三个层次的认知概念层理解P值、置信区间、假设检验的第一类错误和第二类错误这些是面试官会深挖的点。计算层熟悉常用的检验方法t检验、z检验、卡方检验及适用场景至少能根据样本量和数据形态选对方法。应用层能够把统计结果翻译成业务语言。比如“P值0.03说明在5%显著性水平下改版前后差异显著”这句话要能自然说出来。我当时在做这类题时最大的教训是只看P值忽略了效应量。后来面试官在追问中提醒我“如果样本量足够大任何微小的差异都能显著但你得判断这个差异在业务上有没有意义。”这句话我一直记到现在。2.2 SQL与数据处理考察的是取数逻辑SQL题在笔试题中占的比重不小。网易的SQL题通常不会特别难但很刁比较爱考窗口函数、多表关联的陷阱、去重逻辑、时间维度处理。我印象中有一道题是给了一张用户登录表字段有user_id、login_date要求统计连续登录3天及以上的用户数。这题现在已经是经典中的经典了但当年很多人一上来就写自连接写得又长又容易错。这道题的标准解法是用窗口函数lag()或lead()配合日期差判断连续区间。思路是先按user_id分组、login_date排序用row_number()给每个用户的登录记录编号然后用login_date - 编号得到一个“分组标识”。如果日期连续这个差值是不变的一旦断档差值就会变化。最后按user_id和分组标识聚合统计每组记录数大于等于3的用户即可。-- 以Hive/Spark SQL为例统计连续登录3天及以上的用户数 WITH tmp AS ( SELECT user_id, login_date, date_sub(login_date, ROW_NUMBER() OVER(PARTITION BY user_id ORDER BY login_date)) AS grp FROM user_login ) SELECT COUNT(DISTINCT user_id) AS cnt FROM tmp GROUP BY user_id, grp HAVING COUNT(*) 3;我当时实际在笔试时没有写窗口函数写的是三层子查询虽然逻辑对但又啰嗦又容易出Bug。后来复盘时我把这类题统一整理成一套模板后面再遇到连续性问题基本就是套这个思路。另外要提醒一句笔试环境里SQL的方言可能和你在本地用的MySQL不完全一样Hive、Spark SQL、Presto的写法有差异建议提前去牛客或LeetCode熟悉一下在线SQL环境。2.3 业务题用分析思维讲故事业务分析题是最能拉开差距的部分。网易很爱给一个业务现象让你拆解原因或者给建议比如某功能的使用人数下降了你会怎么分析某渠道的次日留存率突然降低原因可能有哪些产品要做一个新功能你怎么评估它的效果这类题目没有标准答案但面试官心里有一套评判标准你是否能结构化地拆解问题是否能区分可控和不可控因素是否能提出可落地的验证方案。我总结了一套答题框架分享给你定义问题先搞清楚“下降”是相对谁的下降、从什么时候开始的下降、下降了多少、是普遍现象还是局部现象。把问题定义清楚了分析方向就出来了。拆解维度按用户维度新用户/老用户、iOS/Android、不同渠道、时间维度日/周/月、工作日/周末、行为维度不同功能模块、不同入口做拆解找到异常集中的位置。提出假设基于拆解结果提出可能的原因比如版本更新导致的兼容问题、渠道投放质量下降、竞品分流、季节性波动等。验证假设用数据验证必要时配合AB实验、用户调研、日志分析来确认因果关系。输出建议给出下一步动作比如回滚版本、调整投放策略、优化功能引导等。这套框架听起来简单但真正能在笔试限时环境里写清楚的人并不多。大多数人要么只回答“可能是渠道问题、内容问题、体验问题”这种空泛的列举要么没有优先级和验证方法。3. 从题目到项目一套可复用的分析实操流程3.1 明确问题与分析框架笔试题目是“纸上谈兵”但真正面试时面试官大概率会让你讲一个自己做过的分析项目。这时候你如果只是说“我做了个报表”或者“我用Python分析了某电商数据”基本上就凉了。我建议你从笔试题目中提炼出一套通用的项目分析流程然后用它去套你自己的项目。这个流程的第一步是明确问题。你不要一上来就急着取数先问清楚业务方到底想知道什么最终要做什么决策打个比方如果业务方问“最近销售额为什么下滑”你第一步不是去查数据而是要反问是哪个区域下滑线上还是线下哪个品类是同比还是环比销售额跌了订单量跌了还是客单价跌了这些追问能把一个模糊的问题变成可执行的分析任务。3.2 数据清洗怎么处理真题里可能不会直接考数据清洗但面试一定会问“你实际做项目时数据清洗是怎么处理的”这背后的潜台词是你是不是只会跑现成的干净数据还是你能处理真实世界里的脏数据我一般把数据清洗归纳为四步去重用户ID是否重复订单号是否唯一注意重复的定义有时不直观比如一个用户一天内多次下单算不算重复要看分析口径。缺失值处理先看缺失率。如果某个字段缺失率超过70%基本可以放弃如果缺失是随机的可以考虑填充如果是业务原因导致的缺失要特别小心。异常值处理用箱线图、3σ原则或业务阈值识别异常值。但异常值不等于错误值比如用户消费金额特别高可能是大客户不能直接删。格式统一日期格式、字符串空格、数值单位、时区问题都是常见的坑。我记得有一次做RFM模型分析因为客户ID是字符串类型有的带前导零有的不带导致关联时丢了几万条数据。排查了很久才发现是类型不一致的问题。从那以后我在每次清洗后的第一步一定会用df.info()和df.describe()检查数据类型和分布确认无误再往下走。3.3 分析与可视化怎么落地做完清洗就到了分析和可视化环节。面试时比起“你用了什么算法”面试官更在意的是“你怎么用数据回答了业务问题”。所以分析环节我建议做到“结论先行、逻辑支撑、可视化辅助”。结论先行就是说你的分析要有主心骨不能给出一堆图表让面试官自己看图猜。逻辑支撑是说你的分析过程要有一条清晰的推理链比如“假设→验证→结论→建议”。可视化辅助则是说图表是用来辅助沟通的不是用来炫技的。工具方面Python系推荐PandasMatplotlib/Seaborn的组合处理几百万行数据完全够用如果想快速出交互图表可以考虑Plotly或DBeaver配合做数据探索和可视化。Excel也别丢很多业务团队日常沟通仍然以Excel为主你至少得会数据透视表、VLOOKUP和常用图表。我特别想提醒一点很多人在分析时喜欢“什么都想看”最后做了20多张图反而淹没了核心结论。更合理的做法是先想清楚“我要回答哪2到3个关键问题”然后针对性地做分析每张图都要有明确的信息增量。4. 笔试和面试中的典型问题与排查思路4.1 常见翻车实录这部分我想分享一些真实的教训都是我当年准备和参加笔试面试时踩过的坑如果你能提前避开就能少走很多弯路。第一个坑是“答非所问”。笔试里有一道题问“如何评估某活动对销售额的影响”有人上来就写“做AB实验比较实验组和对照组的销售额差异”。这听起来没错但题目其实隐藏了一个前提活动已经上线了没有提前做AB分组。这时候你应该回答的是利用历史数据做对照比如选择活动前同周期的销售额作为基线或者用同期未参与活动的用户作为对照组再用DID双重差分或者合成控制法评估效果。这类题考的是你能否灵活应对“不能做完美实验”的现实约束。第二个坑是“不会估算”。有些题会给你一个很大的问题比如“估算北京一天有多少人喝咖啡”。这不是考你标准答案而是考你的逻辑拆解能力和估算能力。我当时的回答思路是北京常住人口约2000万按年龄段和消费习惯分层假设20%的人有咖啡消费习惯这部分人平均每2天喝一杯再结合便利店和咖啡店的日均销量做交叉验证最后得出一个数量级即可。关键是脑子里要有一根“从总量到部分再乘比例”的逻辑链。第三个坑是“统计和业务脱节”。笔试时我写了很规范的假设检验步骤但面试官追问了一句“如果P值不显著你会怎么跟业务方解释”我一下子卡住了。后来才明白面试官想听到的是P值不显著不代表没有效果可能是样本量不够或者效果本身很小要结合置信区间看效果量的范围还要给出“继续观察还是停止实验”的建议。这才是数据分析师的真实工作状态。4.2 问题排查技巧速查表结合我做项目和分析的经验整理一份快速自查表你在笔试前过一遍非常有帮助。场景常见问题排查思路SQL结果和预期不一致JOIN后数据膨胀检查关联字段是否有重复值用COUNT(DISTINCT)验证连续登录类题目边界日期处理错误明确是否包含首尾日期日期差计算的粒度是“天”还是“自然日”统计显著性判断样本量不足或过度先算最小样本量再看P值同时关注置信区间宽度业务下降归因归因单一化从大盘→维度拆解→假设验证三层逐级分析指标口径混乱计算逻辑不统一固定口径定义比如DAU是去重用户数还是登录次数数据可视化误导坐标轴截断、比例失真坐标轴从0开始对比时用同一尺度避免误导性结论这张表不是我凭空写的全是我在真实的笔试、面试和项目里遇到过的场景。每一行展开都能讲一个故事但核心就一句话数据分析师的思考方式应该是“先怀疑一切再逐步验证”而不是拿到数据就急着下结论。5. 数据分析师的能力模型与备考建议5.1 工具技能栈怎么补回到最现实的问题如果你现在准备投数据分析实习应该优先学什么我把数据分析师日常用到的工具按优先级排了个序SQL最重要面试必考工作必用。至少要熟练使用SELECT、JOIN、GROUP BY、窗口函数、子查询。推荐去LeetCode的数据库题库刷一遍牛客网的SQL实战也值得做。Excel进阶级数据透视表、VLOOKUP、IF嵌套、常用图表。不要觉得Excel低级很多运营和产品经理只用Excel看数你能用Excel快速回答他们的疑问会非常加分。Python加分项重点是Pandas、NumPy、Matplotlib、Seaborn。不需要精通机器学习但会清洗数据、做描述性统计、画图是基础要求。BI工具加分项Tableau、Power BI或开源的Superset会一两个就够。面试时能提一嘴“我可以用Tableau快速搭建看板”会让面试官眼前一亮。统计学必备描述统计、概率论、假设检验、相关分析、简单回归。不用学到数理统计专业的深度但概念要清楚应用要熟练。5.2 分析思维怎么训练工具可以速成但分析思维需要积累。我推荐三个特别有效的训练方法。第一个方法是“追问题”。看到任何数据报告不管是公司内部还是网上的行业报告都追问三个问题这个数据的口径是什么这个结论是怎么得出的有没有替代的解释比如看到“某APP用户时长增长20%”你要追问是因为用户量增加了还是人均使用时长增加了是新增用户拉高的还是老用户变黏了这种追问习惯养成后你在笔试里看任何题目都会有天然的“拆解感”。第二个方法是“写复盘”。每次做完一道笔试题不要只对答案而是用文字复盘自己的解题思路。我当时有一个文档专门记录每道错题的“我当时是怎么想的”“正确思路是什么”“下次遇到类似的题应该先想什么”。三个月下来这个文档对我的提升比刷100道题还有用。第三个方法是“看优秀案例”。很多大厂的数据分析团队会发表一些技术博客比如AB实验的实践、指标体系搭建、用户增长分析等。多读这些案例重点看他们如何定义问题、如何设计分析框架、如何把结果落地成业务动作。看到好的框架我会抄下来用自己的话复述一遍然后试着套用到另一个业务场景里。5.3 项目经验怎么准备对于没有正式工作经验的实习生来说项目经验是面试里最能证明你能力的东西。但很多人不知道怎么做项目或者做出来的项目像“课设”。我的建议是与其做一个大而全的“电商数据分析”项目不如选一个具体的业务问题做出深度。比如“分析某APP的次日留存影响因素”你就可以先定义目标找出影响次日留存的关键行为。再取数模拟或找开源的登录表、行为表数据。然后做特征分析用分组对比的方法看新用户首日是否完成核心行为对次日留存的影响。最后得出建议比如“新用户首日完成3次以上有效浏览次日留存率提升X%”并说明如何用AB实验验证。这种项目不一定用了多牛的算法但逻辑完整、结论落地面试官会很认可。我记得面试时讲完我的项目面试官只追问了一个问题“你觉得这个结论有没有可能被其他因素干扰”我当时没答上来但这个问题反而让我记住了做分析要永远带着“怀疑自己的结论”的心态。最后再分享一个我多年来的习惯**随时记录业务疑问。**看到某个产品功能、某个数据上涨下跌我都会随手记下来然后找时间用数据验证。时间久了你会发现自己的数据敏感度明显提升。笔试题说到底考的就是这种敏感度和分析习惯而不是死记硬背的知识点。
分享:

看完干货,该让你的企业上线了

免费需求沟通 · 48 小时内出具建站方案 · 河南本地可上门