公司动态

小红书2020校招数据分析笔试题卷四全解析:SQL、统计与业务分析

📅 2026/8/31 4:38:42
小红书2020校招数据分析笔试题卷四全解析:SQL、统计与业务分析
很多人第一次看到“小红书2020校招数据分析笔试题卷四”这套卷子时都会误以为它只是又一场普通的技术笔试。但我认真把题型捋了一遍之后反而觉得这套卷子出得挺实在——没有那种为了难而难的脑筋急转弯也没有纯背概念的送分题大部分题目都在围绕一个核心你是不是真的能看懂业务、写得清数据逻辑、算得准概率并且在有限时间内给出靠谱结论。数据分析岗的校招笔试本质上就是一层筛选网把“会一点”和“能干活”的人区分开。这篇文章就是来拆这套卷子的。我会把卷面涉及的核心题型、考察逻辑、标准解法、常见失分点以及当年校招笔试的整体风格全部掰开揉碎讲一遍。不管你是还在准备校招的应届生还是想转行做数据分析的菜鸟哪怕只是对笔试题感兴趣的路人这篇文章都能帮你看清楚数据分析笔试到底在考什么以及怎么练才有效。1. 笔试卷面拆解题型结构与踩分逻辑1.1 三类必考题型及其分值逻辑小红书2020校招数据分析笔试采用的是线上限时作答整体题型大致可以归成三类SQL与数据处理题、统计概率题、业务分析题。偶尔还会穿插少量Python编程题核心目的不是考你写花活而是考察你能否用代码解决实际数据问题。这三类题目在卷子上的占比和分值逻辑很明显题型大约占比考察目标失分重灾区SQL与数据处理30%取数、清洗、统计能力忘了去重、join逻辑错误、窗口函数不会用统计概率与AB测试25%概率思维、显著性判断只会套公式、不会解释结论业务分析题35%指标拆解、归因分析、方案设计只给结论不给证据、框架混乱Python题10%pandas基本操作和脚本能力语法不熟、数据清洗步骤不完整为什么业务分析题占比最高因为笔试的作用不只是看你会不会写代码更是提前模拟“你接到一个业务问题之后会怎么处理”这件事。SQL和统计是硬门槛而业务题才是区分候选人的分水岭——同样面对一个“DAU下降”的问题有人只能写两行字有人能写出一页结构化分析框架这就是差距。1.2 为什么笔试比面试更值得反复复盘很多人重视面试却觉得笔试过了就行。这个观念在校招阶段特别吃亏。面试可能会受临场状态、沟通风格影响而笔试恰恰是最接近真实工作状态的一次模拟——你一个人对着题目手里有电脑有有限时间要用思路和逻辑去解决问题这和入职后独立接需求、出方案、写结论的场景高度一致。另外校招笔试的题型虽然每年都在微调但底层能力考察非常稳定。你把2020年的卷四刷透了再去看2022年、2023年的题会发现解题套路基本一致。所以我一直建议求职者与其海量刷题不如把少数几套有质量的真题重复拆解一遍分析题型一遍总结解法一遍找自己的薄弱点三遍下来比盲目刷一百道题都管用。这套卷四就是很适合拿来反复拆解的样本。2. 硬核技能题SQL、统计与Python的常见考法2.1 SQL笔试题的经典四连问小红书这种内容社区产品SQL题基本都是围绕用户行为日志数据展开。常见表结构是用户登录表log(user_id, dt)、笔记互动表interact(user_id, note_id, action, dt)、订单表order(user_id, order_id, pay_amount, shop_id, dt)。卷子里大概率会出下面这几种题我逐一拆解法大家可以直接当模板记。第一问计算次日留存率。留存是内容产品最核心的指标之一几乎每年都在考。思路是先从登录表中取出某一天的活跃用户集合再和次日活跃用户集合做关联看有多少人第二天又回来了。SELECT a.dt, COUNT(DISTINCT a.user_id) AS active_users, COUNT(DISTINCT b.user_id) AS retained_users, COUNT(DISTINCT b.user_id) / COUNT(DISTINCT a.user_id) AS retention_rate FROM login_log a LEFT JOIN login_log b ON a.user_id b.user_id AND b.dt DATE_ADD(a.dt, 1) WHERE a.dt BETWEEN 2020-01-01 AND 2020-01-07 GROUP BY a.dt;这里有几个关键点一是必须用DATE_ADD把次日关联起来二是必须用COUNT(DISTINCT)去重因为一个用户可能在同一天登录多次。很多人就是在这两个细节上丢分。如果题目升级为“计算7日留存”只需要把关联条件改成 b.dt BETWEEN DATE_ADD(a.dt, 1) AND DATE_ADD(a.dt, 7)。第二问连续登录天数。这类题解法也很固定很多SQL刷题平台都有类似题目。核心套路是先用DISTINCT去掉同一天重复登录然后用ROW_NUMBER()开窗给每个用户按登录日期排序再用登录日期减去序号这样连续登录的日期会归到同一个组。SELECT user_id, MAX(consecutive_days) AS max_consecutive_days FROM ( SELECT user_id, dt, DATE_SUB(dt, INTERVAL ROW_NUMBER() OVER(PARTITION BY user_id ORDER BY dt) DAY) AS grp FROM ( SELECT DISTINCT user_id, dt FROM login_log ) t1 ) t2 GROUP BY user_id;这里grp字段是“登录日期减去行号”实际用的是DATE_SUB连续登录的日期减同一个偏移量后产生相同的grp所以用grp分组就能得到每段连续登录的日期范围再数天数。第三问统计某品类商品的总GMV和客单价。这类题考的是多表关联和聚合。需要把订单表、商品表、品类表关联起来。注意“客单价”定义是GMV除以有效订单用户数还是订单数题目如果没有明说你要用comment或者答题说明里写清楚自己的口径这也是加分点。第四问取每个用户最近3次登录时间。典型的TOPN题。用ROW_NUMBER() OVER(PARTITION BY user_id ORDER BY dt DESC)排号再过滤rn 3。这一问主要考窗口函数如果没用窗口函数而是靠自关联多半会写得很冗长而且容易出错。2.2 统计概率题计算之外更要会解释统计概率题不会出特别偏的题目基本都是校招简历上写过“掌握AB测试”“熟悉假设检验”的候选人绕不开的内容。笔试卷子里这类题最喜欢的考法就是给你一个业务场景让你算样本量、判断显著性然后解释结论。举一个典型的真题变体某功能改版前次日留存率是35%产品团队希望通过调优提升到38%取显著性水平0.05统计功效0.8问每组至少需要多少样本。这里要用到两样本比例检验的样本量公式n (Zα/2 Zβ)^2 × [p1×(1-p1) p0×(1-p0)] / (p1-p0)^2其中p00.35p10.38Zα/21.96Zβ0.84。先算分子1.960.84 2.8平方后是7.84。p1×(1-p1)0.38×0.620.2356p0×(1-p0)0.35×0.650.2275两者相加为0.4631。分母 (p1-p0)^2 0.0009。所以每组 n≈7.84×0.4631/0.0009 ≈ 4036。也就是每组约4000人两组一共差不多8000人。这个计算本身不难难的是两件事。第一你能不能写清楚为什么要用显著性水平0.05和功效0.8这两个默认值如果样本量有限、成本高你会怎么取舍。第二算出来之后你要不要解释这个结果的实践意义——4000人只是达成统计显著的最小样本实际跑实验时还要预留一部分损耗通常建议再乘个1.1到1.2的系数。另一个容易踩坑的点是p值解释。很多人在笔试题里写“因为p0.05所以方案有效”这句话严格来说是有问题的。p0.05只能说“在原假设成立的前提下观察到当前或更大差异的概率很低”它是一个概率证据而不是“方案一定有效的保证”。笔试题里你要是能写出“我们拒绝原假设认为差异具有统计显著性但还需要结合业务影响和成本做最终判断”这个答案比单纯下结论高一个档次。2.3 Python数据处理题一眼看出你的脚本水平Python题通常不会要求写复杂算法核心考察的是你会不会用pandas做数据清洗和统计。卷子里比较典型的一道题是给你一份用户行为日志包含user_id、action、dt、platform四列要求统计2020年1月每个平台的独立用户数和人均行为数。考的不是你会不会写循环而是你会不会用groupby、nunique、size这些方法。标准写法大致如下import pandas as pd df pd.read_csv(user_log.csv) df[dt] pd.to_datetime(df[dt]) jan df[df[dt].dt.strftime(%Y-%m) 2020-01] result jan.groupby(platform).agg( unique_users(user_id, nunique), actions(user_id, count) ) result[avg_actions_per_user] result[actions] / result[unique_users]这里有几个细节值得注意一是read_csv之后要先把时间列转成datetime否则字符串过滤容易出问题二是独立用户必须用nuniquecount会把重复登录也数进去三是人均行为数的分母用独立用户数而不是总记录数。写成循环、for一条条遍历的虽然结果不一定错但表达出来的工程水平明显不同。批卷人看到pandas链式写法和注释心里通常都会有加分印象。另外还可能会出一些数据清洗小题比如缺失值处理、去重、两个表怎么merge。这类题我建议你平时就用真实的脏数据练手多跑几遍笔试时才能下意识写出顺序正确的清洗链路先读数据再检查空值再去重然后处理异常值最后才是聚合统计。3. 业务分析题真正的分水岭3.1 指标异动分析的标准答题框架业务分析题里最经典的场景就是某项指标突然跌了让你分析原因。放在小红书这个背景下大概率会问“笔记日均曝光量下降15%怎么排查”或者“某品类GMV连续两周下滑给出分析思路”。这类题如果你没有框架写出来的答案一定是东一榔头西一棒子。而我建议你按“量化现象—维度拆解—内外部归因—验证假设—输出结论”五步走。第一量化现象。先把“下降15%”落到具体时间点上——从哪天开始跌跌了多少是环比下降还是同比下降有没有季节性因素如果上周刚做过大型营销活动那么活动结束后的自然回落和数据异常下跌是两回事。这一步的意义是先把问题缩小避免后面分析范围失控。第二维度拆解。这是最核心的一步套路是“横切纵切”。横切指的是按渠道、平台、地区、设备、版本、用户分层去拆纵切是指对指标本身做公式拆解。曝光量可以拆成“内容供给量×人均曝光量”也可以拆成“曝光用户数×人均曝光频次”。GMV则可以拆成“流量×转化率×客单价”然后逐层往细走。你在卷面上把维度拆开之后再结合数据判断哪一层是主要贡献答案就立体了。第三内外部归因。外部包括行业趋势、竞品动向、规则和政策调整内部包括产品改版、推荐策略修改、活动结束、内容供给变化。这一点强调的是你不能只盯着自己的一亩三分地也要有外部视角。第四验证假设。给每一个假设置于可量化的指标上然后用你手上的数据一一验证。只有被数据支持的原因才写进结论不能验证的标为待确认项。这一环节在整个答题里最能体现你的严谨度。第五输出结论。按影响程度从高到低列出原因并给出下一步建议比如短期恢复策略、长期监控机制。业务题最忌讳只列原因不给动作。3.2 AB测试设计与效果评估AB测试题几乎每套数据分析卷都会出现卷四当然也不例外。考法通常有两种一种是给一个改版方案让你设计AB实验另一种是给一份实验结果让你判断能否全量上线。设计类题目的完整答案必须包含五个层次实验目的、核心指标和护栏指标、样本分组方式、样本量计算、实验周期。以“信息流推荐算法改版”为例实验目的验证新算法能否提升笔记点击率或用户人均使用时长。核心指标笔记点击率CTR或人均点击笔记数护栏指标是人均举报数和负反馈率防止算法把用户带偏。样本分组用户级随机分组保证实验组对照组在设备、地域、活跃度维度上分布一致。样本量用前面讲过的方法基于现有CTR和历史效果数据估算。实验周期至少要跑一个完整的自然周覆盖工作日和周末的行为差异同时要看新用户从暴露到激活的转化周期。判断实验结果时除了看p值还要看效果绝对值和业务可解释性。数据分析笔试里经常有一些人忽略辛普森悖论。举个例子按总体看实验组CTR高于对照组但拆到每个设备品牌后实验组全部低于对照组。这是因为实验组里高CTR设备占比更大整体被“平均”上去了。写答案时能把这种坑点主动提出来的基本就站在金字塔尖了。3.3 用户增长与留存分析内容社区平台用户增长和留存基本是业务题的另一条主线。常见的笔试题包括估算小红书日活用户规模、分析新用户次周留存低的原因、以及设计增长策略。新用户留存低的分析角度我提供一个可直接套用的框架。先拆用户行为路径下载App、注册、关注内容、浏览推荐流、完成互动、二次回访。每个环节都有流失我们要找到流失最严重的环节再做针对性假设。比如新用户首次启动后只看了不到5秒就关闭那问题大概率在冷启动推荐质量上如果是注册之后没有关注任何账号就走了那问题可能在关注引导上。另外同期群分析Cohort Analysis也是这类题目里经常要用的方法。把不同月份的新用户分成独立队列跟踪他们各自在后续第1天、第7天、第30天的留存率可以从纵向快速定位“哪个时期的用户质量出了问题”。这比只看平均留存率准确得多。再深一层增长策略不是上来就谈花钱买量而是先看清“现有存量用户的流失曲线”和“核心行为对应的留存贡献”。一个在后台上更细的分析方法是把用户按首日是否完成某个关键行为分组比较两组留存差异。如果完成关键行为组的留存率显著更高那增长重点就是引导新用户尽快完成这个行为。这种回答比空谈“提升内容质量”有说服力得多。4. 2020年校招笔试趋势与实战复盘4.1 那一年笔试有哪些明显特点2020年是特殊的一年多数公司把校招笔试完全搬到了线上。笔试题从纸质或机房作答变成了在自研系统里限时完成题量也因此被压缩或者调整。小红书当时准备了好几套卷子随机发放卷四便是其中之一这也意味着每套题在难度和侧重点上会有细微差异但整体的能力模型是统一的。那一年笔试的一个鲜明特征是把“业务感”提到了非常高的位置。题目不会直接问你“什么是漏斗分析”而是给出真实业务场景比如“用户从刷笔记到下单购买在哪一步流失最多怎么分析”。这种出题方式传递出一个信号行业不缺会写SQL的人缺的是能通过数据发现问题、指导业务决策的人。另一个特点是统计概率题不再满足于“算出来”而是背后必须讲清楚业务含义。我还要提一个很多人没注意到的事网上有些热门的偏门操作比如爬取平台数据、抓取视频素材这类内容看起来好像和“数据分析”沾边但笔试完全不考也不该成为备考主线。数据分析校招考察的是取数、清洗、建模、归因、决策这一整套能力心思花在偏门工具上容易本末倒置。4.2 一道典型指标异动题的完整推演接下来我带大家完整推演一道卷四风格的业务题题目是这样的“小红书笔记日均曝光量过去7天环比下降了15%可能是哪些原因请说明你的分析思路。”第一步先把问题量化。我会先确认“下降15%”是从哪个时间节点开始的是突然某天暴跌还是连续多天缓慢下滑是7天周期对比还是同比变化同时确认这个数据是否剔除了活动因素——比如前一周刚做过拉新活动活动结束后的自然回落不应直接定性为异常。第二步做维度拆解。曝光量可以拆成曝光量 笔记供给量 × 单条笔记平均曝光量再往下笔记供给量可以拆成新发布笔记数和存量可推荐笔记数单条笔记平均曝光量可以拆成推荐流量分发量和用户消费深度。具体操作时二维交叉拆是可以直接被条件筛选出来的。第三步我会分别看渠道维度和用户维度。渠道上拆Android/iOS、不同App版本看是否是某一次客户端发版导致的曝光统计异常用户维度上拆新用户和老用户看是谁的曝光跌了。如果是老用户跌得更多问题大概率在推荐系统兴趣匹配上如果是新用户跌可能是冷启动素材池出了问题。第四步外部原因兜底。我会看一眼同期竞品在做什么有没有超大投放导致用户时长转移再检查是否有应用商店推荐位变化以及是否发生过负面舆情引发用户卸载。内外部因素并列才显得思路完整。最后结论部分要分清主次。比如“本次曝光下降主要由老用户人均曝光频次下降贡献进一步定位为推荐页第3屏之后的曝光点击率下降可能与最近策略调整有关建议快速做一次算法配置变更回看并建立分层曝光监控大盘”。这套答案写下来基本能把整道题拿满。核心是它体现了一个完整闭环从定义问题开始到数据验证再到动作建议。4.3 笔试中的常见失误与避坑清单结合我见过的大量校招笔试复盘我整理了几条高频失误也是卷四这类题上最容易丢分的地方易犯错误表现正确做法只写结论不给过程业务题写“可能是推荐变差了”就没下文用公式拆解、维度对比、数据验证输出完整链条SQL忘记去重留存率算出来离谱养成习惯关联前先DISTINCT聚合用COUNT(DISTINCT)忽略统计口径客单价用订单数而不是用户数先主动写明口径再列数据假设检验只看p值直接说“方案A比B好”同时看置信区间、效应量、业务可解释性业务题没有落点通篇分析不给建议每个重要结论都附带可执行动作时间分配失衡SQL题死磕半小时业务题十分钟收尾按分值分配时间先易后难难题写关键框架即可这六条如果能在平时练习时刻进脑子里笔试当场至少能少丢两成冤枉分。特别是“没有落点”这条校招笔试的业务题本质上就是模拟你给业务方做分析报告分析没有建议报告就没有价值。5. 备考路线建议5.1 不同基础的人怎么规划刷题路径如果你是大三或研二刚开始准备校招我建议按三条线并行准备。第一条线是SQL从基础语法到窗口函数至少刷完两种难度不同的题库第二条线是统计学重点把假设检验、置信区间、AB测试这三块吃透因为它们是笔试题出现频率最高的第三条线是业务题每天精做一道case形成自己的分析框架不需要多但每一道都要完整写出五步流程。如果你已经有一定代码基础但业务题总是答不到点子上那说明问题不是技术而是思维习惯。建议多用“最小化案例法”拿到一个模糊的业务问题时先用一句话定义“我看的是什么指标拆到什么维度能定位到问题”再慢慢扩展。这种能力训练越多考试时反应越快。5.2 这几类真题值得反复刷网上流传的历年真题非常多但我建议聚焦三类题反复做。第一类是SQL留存和漏斗题这是内容平台的高频题做透后换一个平台语境也能套用。第二类是AB测试估算样本量并给出判断结论的题这类题很考察基本功。第三类是指标异动分析题做的时候用笔记把分析框架和常用拆解角度记下来后面遇到同类型题目直接复用。刷题时还可以做一件很多人不做的事对标准答案进行“反注释”。所谓反注释就是不光看答案为什么对还要写清楚“我当时为什么往错误方向想”以及“什么线索应该提醒我换一种解法”。这份错题笔记比刷题数量重要多了。我第一次用刷题软件时觉得题量是王道后来搭了一批校招生才发现认真做三套真题总结出的框架远比题海战术有效。6. 最后再分享一点私人体会从我自己看过的上岸和落选案例来看笔试拉开差距的核心从来不是某个偏门的公式或冷门函数而是两种能力一是把模糊问题变成可量化拆解结构的能力二是把数据结果讲成业务决策依据的能力。这两种能力都不是一蹴而就的但是一套质量足够的笔试真题能够在短期内逼着你把这两个短板暴露出来。小红书2020校招数据分析笔试题卷四恰好就是这样一套能让你“照镜子”的题。与其搜一堆零散资料焦虑式储备不如踏踏实实拿这套卷子练一练框架练一练手速也练一练那个最容易被忽略的环节——你到底能不能把分析思路清晰又完整地写在答题框里。