尧图网络 高端网站定制 · 原创设计
免费咨询热线
400-888-6620
免费获取方案
数据分析师笔试通关攻略:SQL、统计学与业务思维全拆解
1. 笔试前的整体准备思路1.1 先弄清数分笔试到底考什么那场笔试是8月23号地点是某家头部互联网公司的在线笔试系统岗位是数据分析师。说实话准备这个岗位的时候我最大的感受是很多人都在刷SQL题、背统计公式但笔试真正考的东西和网上流传的面经清单并不完全一致。你光会写代码还不行还得能读懂业务问题背后的考察意图。我理解的数据分析笔试本质上考的是三件事数据提取能力、逻辑推理能力、业务理解能力。数据提取能力集中体现在SQL题上给你一张订单表、一张用户表让你算各种留存率、复购率、环比增长逻辑推理能力体现在概率统计题和逻辑谜题上例如“A/B测试中P值怎么算”、“如何判断一个策略是否显著有效”业务理解能力则体现在开放题里比如“某产品的次日留存下降5%请你分析可能原因”。如果只看重刷题很容易忽略第三块。但恰恰是第三块最容易在笔试中拉开差距。因为前两块是硬技能大家通过刻意练习都能练出来而业务理解需要你平时真的用过数据、拆过业务指标才能在大题里有话可说。1.2 岗位JD怎么读对应到复习重点准备的第一步不是买书刷题而是把岗位JD翻出来逐行拆解。我记得当时那个JD里写的核心要求是熟悉SQL、掌握统计学基础知识、具备良好的数据敏感度、能独立完成专题分析报告。这几句话翻译过来就是笔试大概率会有SQL题、概率统计题、业务分析题同时可能在最后让你写一段分析思路。我当时把这些要求做了一个映射熟悉SQL对应笔试中的手写SQL题重点练多表关联、窗口函数、日期函数、去重重计数。掌握统计学对应概率计算题和假设检验题重点练常用分布、置信区间、显著性水平、A/B测试设计。数据敏感度对应指标异常归因题重点积累“留存下降”、“转化率变化”、“DAU波动”等经典场景。独立完成分析报告对应开放题重点训练逻辑结构定义问题、拆解指标、提出假设、验证路径、给出建议。把JD拆完复习方向一下就清晰了不需要盲目刷几百道题而是按考点集中突破。1.3 复习资料与工具清单实际备考那段时间我用的资料不算多但每一份都吃透了。SQL部分主要靠牛客网的SQL题库和一本讲窗口函数的电子书统计学部分我重新翻了大学教材的前六章额外补充了A/B测试的常见计算业务分析部分我找了几个数据分析的公众号文章专门看“指标异常如何归因”这类案例。工具方面我推荐本地装一个MySQL或SQLite因为笔试环境里不可能给你真正的数据库去试错你只能靠平时多练。我备考时用SQLite搭了两张表一张用户表、一张订单表自己出题自己写写完之后对照结果看是否正确。这个习惯帮我养成了写SQL时的“字段敏感度”比如日期格式、空值处理、笛卡尔积这些细节都是在自建数据上练出来的。还有一个容易忽略的工具是思维导图。我会把经常考的统计知识点做成一张图离散分布有哪些、连续分布有哪些、各自的期望方差公式、适用场景全部列清楚。笔试前看一遍能快速唤醒记忆。2. 核心知识点的拆解与速成2.1 SQL从基础语法到窗口函数SQL在数分笔试里占的分数通常最高而且大概率不止一道题。如果只练简单的SELECT、WHERE、GROUP BY遇到真正的笔试题会非常吃力。我复盘那次笔试印象最深的就是窗口函数的题目足足有三道覆盖了排名、累计求和、分组TopN。复习SQL时我把重点分成三个层次第一个层次是多表关联和聚合查询。笔试很爱考“每个用户的最近一次下单时间”、“每个品类的销售金额排名”这类题本质上都是JOIN加GROUP BY的组合。需要注意的点有JOIN时防止重复数据膨胀、GROUP BY后SELECT的字段必须符合聚合规则、CASE WHEN怎么在聚合前做条件拆分。第二个层次是窗口函数。这也是拉开差距的地方。常见考法包括ROW_NUMBER()做排名、SUM() OVER()做累计、LAG()/LEAD()做环比。我记得有道题是这样给出每天的订单金额算每天的环比增长率和七天移动平均。这个用普通聚合很难一次写出来但窗口函数几行就能解决。第三个层次是细节处理。比如去重时DISTINCT和GROUP BY如何选择、COUNT(DISTINCT)在大数据量下的性能问题、字符串和时间函数的处理。笔试虽然不考运行性能但考过“订单表里有重复记录如何按订单号去重后再统计”的题目这种就是对数据清洗能力的检验。我的建议是窗口函数必须练到能默写的程度尤其是SUM() OVER(PARTITION BY ... ORDER BY ...)这个结构的执行逻辑一定要理解它是先分组、再排序、最后累加而不是从头到尾一次性累加。2.2 统计学从公式记忆到实际应用统计学考得不算偏但很实用。笔试里出现过不少给出均值和标准差让你估算体量范围、给出一组转化率的前后数据让你判断是否显著提升、给出两个方案的样本量和转化率算P值。如果你只是把公式背下来看到题目还是会懵因为题目通常不会直接说“请计算卡方统计量”而是包装成一个业务场景。我备考统计学的思路是抓三条线第一条线是描述性统计。均值、中位数、标准差、变异系数。考法通常是“一组数据中如果有极端值哪个指标更稳定”。这个不难但要理解为什么中位数比均值更稳健。第二条线是概率论基础。排列组合、条件概率、贝叶斯公式、常见分布。笔试考过“某活动抽奖中奖率是1%抽100次至少中一次的概率”这种就是二项分布转1减去零次概率很简单但容易在计算上出错。第三条线是推断统计。置信区间、假设检验、P值含义、两类错误。我特别强调一点很多同学会把P值理解成“原假设成立的概率”这是错的P值是在原假设成立的前提下观察到当前样本甚至更极端情况的概率。笔试有时候会出概念判断题这类细节就能筛掉很多人。统计学习没有捷径但也不需要把整本书都啃完。优先把二项分布、正态分布、中心极限定理、t检验、卡方检验这些最高频的考点吃透基本就能覆盖大部分笔试题。2.3 Python与算法题的备考分寸很多人以为数据分析笔试一定会考Python但实际情况是我那场笔试的Python题目占比不高主要就是Pandas操作、简单的循环和函数以及一道非常基础的算法题。所以Python备考要有分寸感不要陷进LeetCode中等难度的题海里面去。我觉得有必要练的是Pandas的DataFrame筛选、分组聚合、merge操作会用Python写简单的字段处理逻辑理解基本的遍历和递归。这些在业务场景里足够用了。如果你时间充裕可以把LeetCode的简单题刷一遍特别是数组、字符串、哈希表相关的基础题提升手写代码的熟练度。但要警惕的是不要因为刷算法题荒废了SQL和统计学。有些同学会犯一个战略上的错误觉得Python更“高级”于是把大量时间花在算法上结果到了笔试发现SQL的窗口函数都写不流畅这就是典型的备考方向跑偏。数据分析笔试的核心永远是用数据回答业务问题而不是考察纯粹的代码能力。2.4 业务常识与指标体系的积累业务知识是最容易被低估的部分。笔试中的开放题不会直接问“什么是留存率”而是会问你“某功能上线后人均使用时长下降了你会怎么排查”。这种题没有标准答案但考察的正是你对业务指标的理解深度。我建议提前梳理常见互联网业务的指标体系。内容平台看DAU、MAU、人均时长、留存率、渗透率电商平台看GMV、订单量、转化率、客单价、复购率广告业务看展示量、点击率、转化率、ROI。每个指标背后都有它的业务含义和局限性你要能说出“为什么这个指标能反映业务健康度”以及“它可能被什么因素干扰”。我当时把“指标异常归因”的方法论整理成了一套通用框架先确认数据口径是否一致再看是存量用户还是新增用户的变化然后拆解是哪个渠道、哪个品类、哪个地区导致的最后看是短期波动还是长期趋势。把这个框架套在大部分开放题上至少能保证逻辑清晰、结构完整不会拿到题后无话可说。3. 笔试现场全记录题型、时间与心态3.1 真实题量与时间分配那场笔试总共一个半小时四道大题每道大题下面还有若干小问。大致估算下来SQL题占了两道大题的体量概率统计一道业务分析一道中间还穿插了一些选择题。整体时间非常紧尤其是SQL题如果你不熟练光是建表思路和字段判断就能耗掉20分钟。我当时的策略是先做业务分析题再做SQL题最后做概率统计题。这个顺序可能跟大多数人的习惯不一样但我有自己的一套逻辑业务分析题不需要精确答案只要结构在、逻辑顺、写到点子上就能得分先把它写完能稳定心态。SQL题需要高度专注放到脑子最清醒的时候做。概率统计题计算量小但容易因为粗心丢分放到最后用剩余时间慢慢检查。这套策略不是万能的但对题量大、时间紧的笔试特别有效。如果你遇到的是SQL占比超过一半的卷子那就要优先保证SQL题的完成度因为它的单位时间得分率最高。3.2 SQL大题典型场景与我的解法我记得其中一道SQL题是这样的给定用户注册表和订单表求每个月的新增用户的次月留存率。这道题表面上是计算留存率实际上考了好几个知识点如何从订单表中找出每个用户的首单日期、如何判断“次月”这个时间边界、如何处理没有下单的用户。我的解法思路是先造一张“用户首单月份表”然后在每个月的用户集合里去匹配下一个月的下单用户。这里有个关键细节如果直接用订单日期来判断次月很容易把跨年问题搞错。我当时是用DATE_FORMAT(日期, %Y-%m)的方式把日期格式化成月份字符串再做等值JOIN这样可以优雅地避开日期函数的各种边界坑。第二道SQL题是排名类题目按品类统计销售额前三名的商品。这道题用窗口函数的话其实很简单ROW_NUMBER() OVER(PARTITION BY 品类 ORDER BY 销售额 DESC)选出排名小于等于3的记录。但笔试里不少人会在这里翻车原因是没有记住窗口函数是在SELECT阶段执行要放在子查询里再过滤否则会报错。3.3 概率统计题试卷里的隐藏分值概率统计题虽然题量不大但每一道的分值都不低。我印象里有一道题是某产品的新版本在A/B测试中实验组转化率5.2%对照组转化率4.6%样本量各10000问实验组的提升是否统计显著。这道题没有直接给置信区间的公式需要你自己判断用什么方法算。如果你的统计基础一般可能直接开始套z检验公式但算到一半会发现不知道标准误差怎么求。其实这道题考的就是两个独立样本比例之差的z检验标准误是sqrt(p1*(1-p1)/n1 p2*(1-p2)/n2)然后算z值再看是否大于1.96。我当时算出来的z值刚好在2左右结论是显著但边际显著需要谨慎解读。另外一道概念题问的是P值小于0.05能说明什么。选项里有“原假设为假的概率小于5%”、“如果原假设为真观察到当前结果或更极端结果的概率小于5%”、“效应量一定很大”等。如果你能被“P值不是原假设为真的概率”这个点这道题就能秒杀。3.4 业务案例分析别急着写方案最后一道业务分析题的大意是某内容产品的日均使用时长连续两周下滑假设你是数据分析师你会如何定位原因。这种题没有标准答案但你的回答方式会直接体现业务思维的水平。我第一次模拟这种题的时候会直接写“检查服务器稳定性”、“看看竞品有没有上线新功能”这样写虽然没错但显得没有章法。后来我学到一个更好的框架先定义问题再拆解假设最后给出验证方法。定义问题包括下滑是全国范围还是部分地区、所有用户还是某类用户、是连续下滑还是某个时间点开始的。拆解假设包括渠道结构变化、新用户质量下降、老用户活跃度流失、功能改版影响、外部季节性因素。验证方法要落到具体的数据查询和实验设计上比如“按渠道拆解新增活跃用户占比”、“计算不同版本用户的人均时长差异”、“对比去年同期数据排除季节性”。这样写下来不仅内容充实而且让人一眼就能看出你是“用数据分析的方式思考问题”而不是凭空猜测原因。4. 复盘这些坑我替你们踩过了4.1 失分点分析不是不会而是不稳笔试结束之后我把自己能记住的题目全部复盘了一遍发现真正的失分点其实不是“不会做”而是“会做但没做对”。最典型的例子是某道SQL题我写完之后自我感觉良好但后来重新审视时发现漏了一个去重条件。原因是题目里说“订单表里有重复记录”我在写COUNT的时候直接用了COUNT(用户ID)没有在用户ID层面先做去重。这种错误在笔试中特别可惜。其实解决的办法很简单写完SQL后要假设自己是一个审阅者用测试数据在脑子里执行一遍看每个步骤的输出是什么。我当时没有这个习惯太依赖“写完就是对的”这种感觉结果丢了稳拿的分。统计题也有一道是计算时把样本量和总体量搞混了。题目给的是抽样数据不是全量数据我却用了总体标准差而不是样本标准差导致置信区间算错。这种细节只能靠刷题时多留意没有捷径。4.2 时间管理的三个致命失误复盘下来我在时间管理上犯了三个错误。第一个错误是在SQL的某一道小题上纠结太久。那道题是求连续登录天数我一下子没想出来怎么做憋了15分钟导致后面的概率题时间压缩得很紧。后来我想通了笔试题不是每道题都要拿满分的遇到卡壳超过5分钟的题应该先标记跳过去做完其他题再回来。连续登录天数这种题如果你平时没练过现场很难突然想出来倒不如先把会做的分保住。第二个错误是没有预留检查时间。我当时想着多写点内容导致最后只剩5分钟检查结果连选择题都没来得及看一眼。建议无论如何预留10到15分钟的检查时间尤其是选择题那种题往往一眼就能看出错误但前提是你有时间去看。第三个错误是业务题写太长了。我以为写得多就能得高分结果后面几个小问没有时间展开。其实业务分析题更看重结构的精炼而不是字数堆砌。把每个假设点写清楚不需要长篇大论。4.3 笔试之外的软性考察点除了卷面内容笔试还有一个容易被忽略的维度你是否能写出清晰的分析逻辑。笔试系统里有一个地方可以提交“思考过程”虽然不强制填写但我建议一定要写。因为面试官在筛选笔试结果时不只看你的最终答案还会看你中间是怎么想的。如果代码跑不出来但你的思考过程写得清楚面试官可能会认为你是思路对、只是实现上有小bug从而给你进面试的机会。另外卷面的结构化表达也很重要。SQL题写完之后我建议在注释里简单说明你的思路比如“先找出每个用户的首单日期再与订单表关联”。这样就算代码写得不完全对阅卷人也能看出你的思路是合理的。还有一个细节是笔试前一定要提前登录系统测试环境。很多在线笔试系统需要在电脑上安装插件或做环境检测我见过有人因为摄像头启动失败、浏览器不兼容耽误了正式答题时间的。笔试前半小时就把环境测好不要等到开考前5分钟才手忙脚乱地调设备。4.4 常见问题排查速查表我把笔试中容易翻车的点整理成了一张表考前可以扫一眼场景常见错误正确思路SQL去重统计直接用COUNT(用户ID)导致重复计算先GROUP BY用户ID去重再做聚合窗口函数过滤在SELECT里用别名做WHERE过滤窗口函数结果必须包在子查询里再过滤留存率计算时间边界理解错误导致跨月错配统一用月份字符串格式化后再关联P值解读误把P值理解为原假设成立的概率P值是在原假设成立下出现当前结果的概率比例检验用总体标准差代替样本比例标准误用sqrt(p1*(1-p1)/n1 p2*(1-p2)/n2)指标异常归因一上来就写“检查服务器”先拆问题再列假设最后给验证方法计算粗心样本量和总体量混用看清“抽样”还是“全量”字眼时间分配死磕难题导致会做的没时间单题停留超5分钟就跳过最后再回来5. 后续准备建议从笔试到面试的路5.1 刷题路径怎么设计才高效接着上一part聊。笔试结束后我并没有停下来而是马上进入面试准备阶段。回过头看笔试和面试之间的界限其实很模糊笔试里很多题其实是面试的简化版。你在笔试里练的SQL、统计、业务思维面试的时候全都能用上所以准备笔试的过程本身就是准备面试。刷题路径上我强烈推荐按照“知识点专项 → 混合模拟 → 时间压力测试”这个顺序推进。专项阶段不要急着刷套题一天只练一个知识点比如今天只练窗口函数明天只练留存计算把每个考点吃透了再进入下一块。混合模拟阶段就要开始控制时间按照真实笔试的题型比例自己出题模拟完整流程。时间压力测试则是考前三天做的事严格按1.5小时做完一套题训练自己的答题节奏。还有一个很管用的方法把每次做错的题整理成错题本。这个错题本不需要多精美只需要记录三列题目描述、你的错误写法、正确思路。考前看一遍比刷十道新题还管用。我在笔试前把自己的SQL错题本翻了一遍很多细节都靠这个捡回来了。5.2 不同背景考生怎么补短板如果你是统计学出身、但编程基础薄弱的同学我建议你把重心放在SQL和Pandas练习上因为这些是数据分析的工具底座不熟练的话很难过笔试。你不用追求写代码有多优雅但至少要保证能用手写的方式完成常见的查询和分析任务。如果你是计算机背景、但业务知识薄弱的同学建议多花时间看数据分析的经典案例尤其是“指标异动归因”、“品类结构变化分析”、“用户分层运营策略”这类文章。你要知道一个业务指标背后有哪些可能的解释维度而不是只会写代码。如果你是跨专业转行的情况那么统计学和SQL都要从基础开始打。不用慌这个岗位对专业出身其实没有那么严格的要求更重要的是你能不能用数据回答业务问题。把业务思维、SQL、统计基础这三块依次补齐笔试的通过率会大大提高。5.3 一些值得长期坚持的习惯最后分享几个我在准备笔试过程中坚持下来、觉得收益很大的习惯。首先是每天写SQL不问断。哪怕当天再忙我也会在牛客网或者本地SQLite上写两三道题。写多之后对表结构的敏感度和查错速度会有质的飞跃。这个习惯不建议临时抱佛脚笔试前突击当然有用但稳扎稳打的长期练习带来的手感提升不是短期刷题能替代的。其次是多练习口头讲题。笔试虽然是手写但面试的现场题环节其实更需要你边写边讲思路。我在准备笔试的时候每天会选一道题自己对着空气说出完整思路包括为什么要这么写、边界条件怎么处理。这个练习让我在面试的代码题环节明显更从容。最后是心态管理。笔试难免会遇到不会写的题但你要明白绝大多数人也不会写。与其在难题上死磕不如做到“会做的全对、不会做的能留点思考过程”。数据分析这个岗位笔试只是第一关后续还有面试、业务面、交叉面一次笔试的得失并不能定义你的能力。放平心态把每场笔试都当成一次对照检查持续迭代自己的知识结构才是更重要的。我个人在实际操作中的体会是数据分析的笔试准备本质上是一个“把模糊的岗位要求翻译成具体考点再把考点逐个击破”的过程。如果你能在笔试前把一个完整闭环走完——信息收集、知识梳理、专项练习、模拟实战、复盘修正——那不管遇到什么卷子心里都会有底。希望这份笔经和准备思路对大家有用也祝正在准备笔试的朋友们顺利过关。
RELATED

相关推荐

一套代码发布到十几个平台:Cocos入门速览

一套代码发布到十几个平台:Cocos入门速览

绿泡泡、抖某音小游戏,一份工程都能出包。 摘要 Cocos Creator 是一款开源的 2D/3D 游戏引擎,用 TypeScript 写逻辑,一次开发可发布到手机、桌面、网页和各家小游戏平台。本文从安装讲到脚本、资源、打包,再到性能与版本选择。 它…

📅 2026/10/15 15:32:23
第28讲:单链表的应用

第28讲:单链表的应用

目录 单链表经典算法OJ题目 单链表相关经典算法OJ题1:移除链表元素单链表相关经典算法OJ题2:反转链表单链表相关经典算法OJ题3:合并两个有序链表单链表相关经典算法OJ题4:链表的中间结点循环链表经典应用-环形链表的约瑟夫问题单…

📅 2026/10/15 15:32:23
BCGControlBar Pro 22.1 适配指南:从加载链路到稳定运行

BCGControlBar Pro 22.1 适配指南:从加载链路到稳定运行

简介:本资源为BCGControlBar Pro 22.1的破解版本V4,面向使用MFC进行界面开发的C程序员,尤其是需要在VC6至VC2010等多版本编译环境下集成专业界面库的开发者。包内共约2000个文件,以png位图资源、h头文件、cpp源文件为主&#xff0…

📅 2026/10/15 15:32:23
MORE NEWS

更多资讯

📰

NUIST程序设计OJ题库:新手代码能力断层破解指南

简介:本资源是南京信息工程大学(NUIST)《程序设计基础》课程配套的OJ题库实战资料包,面向计算机专业初学者、算法入门学习者及编程实训师生,聚焦编程语法掌握、经典数据结构应用与基础算法训练三大核心能力提升。压缩包…

📰

ESP8285+MQTT+MQTTX:构建电机控制器物联网平台完整指南

去年我在调试一个直流电机远程控制项目时,遇到一个非常典型的问题:用普通WiFi模块做节点,电机一启动,系统就断线重启;好不容易把电机转起来,又发现远程收不到设备状态;等到指令和状态都能收发时…

📰

轻量级堡垒机Teleport实战:统一管理Linux与Windows主机远程访问

1. 为什么轻量级堡垒机值得认真对待很多团队在运维安全上的第一道防线,往往不是防火墙,也不是入侵检测,而是一台看起来不起眼的堡垒机。我见过太多中小团队,服务器规模在十几台到几十台之间,运维人员三五个&#xff0c…

📰

MC9S12 Flash模拟EEPROM实战:扇区轮换与寿命均衡设计

简介:本资源是面向嵌入式开发工程师与高校电类专业学生的MC9S12微控制器存储管理实战项目,聚焦Flash编程驱动开发与软件模拟EEPROM的完整实现方案。针对MC9S12(NXP飞思卡尔16位单片机)无内置EEPROM的硬件限制,提供一套…

📰

自建代码托管平台镜像站:Git同步原理、方案与避坑指南

说实话,第一次接到“代码托管平台镜像站搭建”这个需求时,我第一反应是:这活儿看着简单,真正落地全是细节。市面上讲解Git仓库同步的文章不少,但大多是拿着现成工具一键配置,真遇到仓库体积膨胀、同步中断、…

📰

Vue Element UI下拉框@change获取完整对象:三种方案解析

做后台管理系统,下拉框是躲不开的关卡。最典型的就是“选择负责人”:下拉展示的是用户姓名,提交给后端的是用户 id,可一旦选中之后,我们需要立刻拿到这个用户的部门、邮箱、头像等整块信息去渲染别的区域。大多数人的第…

TODAY

今日更新

THIS WEEK

本周精选

THIS MONTH

本月热门

读完文章,想聊聊您的网站?

告诉我们您的行业与需求,资深顾问一对一梳理方案与报价,全程免费。

📞 💬