有关SQL

从字节美团德勤40+企业的数据分析师面试题中,我找到了必考的3层能力和13个技能点

我最近翻完一份数据分析师面试合集,85 道真题,覆盖 35 家公司。字节出现了 9 次,美团 13 次,阿里、快手、拼多多、滴滴、德勤、宝洁、领英都在里面。

但翻完这些题,我发现一个让人不太舒服的事实:大多数人的面试准备方向,从一开始就错了。

很多人的备面策略是"SQL 刷题 + 统计学背概念 + 项目经历包装",均匀发力。但真正的面试考察逻辑根本不是均匀的——不同级别的公司,考的根本不是同一个东西。顶级大厂考的是"你能不能用数据驱动决策",上市公司考的是"你能不能独立完成一次分析闭环",中型企业考的是"你能不能上手干活"。

三层能力,对应 13 个技能点。下面逐层拆。

第一层:决策驱动能力(字节、美团、阿里、快手、拼多多、滴滴、德勤、宝洁、领英)

这一层的公司,面试轮次普遍 3 到 4 轮:技术面、业务面、交叉面、HR 面。技术只是入场券,真正刷人的是业务 sense 和实验思维。

技能点 1:AB 实验设计与假设检验

字节系面试的招牌考点。不是问你"什么是 AB 测试",而是问你 AA Test 有哪些设计缺陷、流量不平衡时两类错误怎么变化、实验结论能不能直接上线。

有一道字节真题是这样的:你用关联规则算法做了捆绑销售,上线前做了 AA Test,整个实验中有哪些问题会影响 AA Test 效果?

这道题考的不是你会不会跑 AB 测试,而是你对实验的每一个环节有没有批判性思考。

技能点 2:指标体系搭建与异动归因

字节有一道经典题:假设北极星指标是 GMV,你怎么根据达人营销业务来制定指标体系?

还有一道:CTR 整体不变,但 CVR 下降了,怎么分析?

这两道题串起来就是一个完整的能力检测:你能不能从一个大指标自上而下拆出子指标,拆完之后遇到异动能不能定位到具体环节。面试里那些答"可能是季节因素""可能是竞品影响"的,基本一轮游。面试官想听的是你的拆解路径,不是猜测。

技能点 3:费米估算与商业建模

这个是美团的特色。

一面考"如何给每个商圈的销售团队定下个月的业绩目标,要考虑公平性和可达性"。二面考"预估深圳加油站的数量"。还有一道概率题:我做对的概率 80%,面试官做对的概率 90%,一道题我们都打了勾,这道题正确的概率是多少。

费米估算考的不是答案,是你怎么把一个模糊问题拆成可计算的子问题。给个框架、给个假设、给个量级,比给个"精确答案"值钱一百倍。

技能点 4:机器学习与因果推断

快手的数据科学家岗考 LR 和 SVM 的区别、各自适用场景;考 Bagging 和 Boosting 为什么选不同深度的决策树。字节考关联规则、因果推断、PSM+DID。

我看到一条面试感受写得很真实:面试官想聊因果推断和假设检验,但候选人完全没准备,全程搪塞。这说明一个问题,大厂的数据分析岗和数据科学岗之间的边界越来越模糊,光会 SQL 和 Python 不够了。

我个人的判断是:再过两三年,不懂因果推断的数据分析师在大厂会很难混。不是说你要变成统计学博士,而是你至少得知道"相关不等于因果"不只是一句口号,它在实际业务里意味着什么——比如你做了一个策略上线后指标涨了,到底是策略带来的,还是大盘自然增长的?这个问题答不好,你的分析结论就没有说服力。

技能点 5:结构化表达

字节三面没有技术题,全是这类问题:过去的实习经验,从中学到了什么?你的优点和缺点?

别以为这是送分题。面试官在看你能不能在没有数据支撑的情况下,用清晰的结构讲一件事。你讲不清楚自己的经历,他凭什么相信你能讲清楚一份分析报告。

德勤更直接,面试考察维度写得明明白白:系统分析思维、业务参与深度、沟通表达能力、数据分析基本技能。注意顺序,沟通在技能前面。

第二层:独立分析能力(网易、B站、OPPO、联想、蔚来、宁德时代、招商/浦发/广发银行、联通、顺丰、同花顺、BOSS 直聘)

这一层的公司面试一般 2 到 3 轮,技术考得扎实但不刁钻,更看重你能不能独立接住一个分析需求,从取数到出结论全链路跑通。

技能点 6:SQL 实战

窗口函数仍然是必考项。OPPO 考 dense_rank 口述,招商银行加了笔试(行测 + 计算题 + 程序题),网易考到三面还在问。

但和第一层的区别是:第一层用 SQL 考你的业务理解(比如"用 SQL 算累计登录天数"背后考的是用户留存分析思路),第二层更多是在确认你能不能写出正确的查询。

技能点 7:Python 数据处理

考常用库(pandas、numpy、sklearn、matplotlib)和完整的数据处理流程:给你一个 CSV,你怎么了解数据结构?缺失值怎么处理?fillna 怎么用?

有道面试题问得很实在:Python 是自学的还是课上学的?从了解逻辑回归到实际写代码用了多久?面试官在评估你的学习路径,不只是看你会不会。


写到这里我想停下来说一个观察。

第一层和第二层都考 SQL,都考 Python,都考统计学。如果你只看考点清单,会觉得差别不大。但把同类题目放在一起看,差别非常刺眼:第一层的技术题是"借壳考业务",第二层的技术题是"实打实考技术"。同样是窗口函数,字节用它来考你对留存指标的理解,OPPO 用它来确认你能写出正确答案。

这意味着什么?意味着如果你现在在第二层公司,想跳到第一层,光把 SQL 写得更熟练是没用的。你需要的不是更快的手速,而是每写一行查询时都能看到背后的业务含义。这个转变不是靠刷题能完成的,得靠真的在业务里泡过。


技能点 8:统计学基础

说实话,第二层公司考统计学的方式让我有点意外。

t 检验、大数定律、两类错误、p 值——这些在第一层面试里是工具,嵌在业务场景里考你怎么用;但到了第二层,它们变回了概念题。同花顺一面第二题就是:解释 t 检验。OPPO 考简述大数定律。招商银行面试里也穿插了统计推断的问题。

我的理解是:第一层假设你"会"统计,考你"用得好不好";第二层不做这个假设,需要先确认你"会不会"。所以从第二层跳到第一层,不是多背几个公式的事——你得把统计学从知识变成直觉。

技能点 9:BI 与可视化工具

网易问你用过 Tableau 吗,OPPO 问看板如何设计。这一层的面试经常提到 BI 工具,但考法都比较浅,本质上考的不是工具本身,而是你能不能把分析结果变成业务方看得懂、愿意用的东西。这个能力单独拎出来价值有限,真正见高下的是下面这个。

技能点 10:业务闭环思维

OPPO 有一道题我觉得是整个第二层面试的灵魂:如何让数据分析的工作形成闭环,产出实际价值?

这道题没有标准答案,但它把第二层公司的核心诉求说透了。他们不缺写 SQL 的人,也不缺会用 Tableau 出看板的人,缺的是能把分析结果推回业务、说服业务方采纳、验证效果、再迭代下一轮的人。BI 看板做得再好看,如果没人看、没人用、没有后续动作,那就只是一张漂亮的图。闭环才是第二层真正在选拔的能力。

B 站的面试也印证了这一点。面试官问"如何评价一个视频的好坏",候选人说了一堆完播率、点赞率、转发率,面试官追问:除了量化指标还有什么?引导你说出弹幕情绪、评论质量这些定性信号。他在考你分析问题时能不能跳出数字看业务。

我觉得这道题暴露了一个很多人没意识到的问题:大部分数据分析师做分析是"从数据出发找结论",但好的分析师是"从业务问题出发,数据只是验证手段"。 这两个方向看起来差不多,但思维方式完全不同。前者容易陷入"我跑了个数,看看有什么发现",后者是"业务方说转化掉了,我怀疑是落地页改版导致的,我去验一下"。

第三层:工具执行能力(猿辅导、爱回收、兴业数金、冰川网络、第一创业证券、元气森林、经纬恒润、百词斩、高途、众安保险、达达、Garena)

这一层面试通常 1 到 2 轮,围绕简历项目展开,很少有开放性业务题或费米估算。公司更在意你能不能马上干活。

技能点 11:SQL 基础

兴业数金的考题是这样的:删除表中学号为 10010 的数据。按分数倒序、以班级分组排序。讲讲 JOIN。

和前两层比,差距一目了然。这里考的是"你会不会用",不是"你用得有多巧"。

技能点 12:Python 基础编程

兴业数金考 Python 闭包概念、split 和 join 的理解、给一个 txt 文件统计大写字母个数。第一创业证券围绕简历项目问你怎么做情感分析、用了什么分词工具。

这一层对 Python 的要求更接近"编程能力"而非"数据分析能力"。能读文件、能处理数据、能跑通一个脚本就够了。

技能点 13:项目经验与即战力

经纬恒润面试直接问:什么时候能开始实习?能做多长时间?

这类公司的面试逻辑很直接:你做过什么?做出了什么结果?什么时候能来?

没有费米估算,没有辛普森悖论(就是整体趋势和分组趋势相反的统计陷阱,比如男女各自录取率都提高了,但整体录取率反而下降),甚至没有开放性问题。面试官在看你的项目经验能不能直接对口,来了就能产出。

一条隐藏的分界线

翻完这 85 道面试题,我发现一条很有意思的隐藏分界线。

有一份来自社群中一位数据分析培训讲师的能力评估体系,把数据分析师分成三个段位:

基础段位:能背诵指标体系,会算 RFM 和 AARRR,能背 AB 测试和假设检验的定义,但没有自己的想法。

中等段位:能自己找参考标准和分析逻辑,灵活运用九大分析方法,能主动提出业务假设。

高等段位:能敏感区分不同类型的业务问题,熟悉业务套路和数据格式,能预判业务走势并给出检验指标。

你把这三个段位和前面三层公司一对照,几乎严丝合缝:第三层公司招基础段位,第二层公司招中等段位,第一层公司招高等段位。

但我觉得这个框架漏了一样东西:表达能力。 你看字节三面和德勤面试,核心考的就是沟通和结构化思维。这不在"基础-中等-高等"的技术能力轴上,但实实在在地决定了你能不能拿到 offer。我见过不少人卡在第二层到第一层的跨越上,不是技术不够,不是业务不懂,而是讲不清楚。一个能把分析讲明白的中等段位,在面试中的表现可能好过一个闷头干活的高等段位。

段位决定了你能进哪一层的公司,也决定了你的薪资天花板。那位讲师提过一个数字:月薪 15K 以下,能做看板就比只会写 SQL 的强;月薪 15K 以上,大厂核心部门 > 小厂核心部门 > 大厂边缘部门 > 小厂边缘部门。

如果你正在准备面试

我的建议是反着来。

不要从第三层的基础技能往上学,那太慢了。先弄清楚你要进哪一层的公司,然后直接练那一层的核心能力。

想进第一层?花 80% 的时间练指标拆解、异动归因和 AB 实验设计,剩下 20% 确保 SQL 和 Python 不拖后腿。

第二层的关键不是把每个技术点都学到精通,而是找一两个行业场景,从提出问题到取数、分析、出结论、推动落地,完整走一遍。面试官一听你讲这个过程,就知道你能不能独立接活。

第三层最实际:SQL 基础打牢,准备 2 到 3 个能讲清楚的项目经历,面试时让人觉得你来了就能干。

85 道真题看下来,最大的感受是:这个行业里最贵的能力,不是你会多少工具,而是你能不能坐在业务方对面,听懂他真正要解决的问题,然后用数据给他一个他敢拍板的答案。SQL 写得再漂亮,如果你不知道这个查询结果能帮谁做什么决定,你就只能在第三层转。

这 13 个技能点,不是让你全练一遍,而是帮你看清自己现在在哪一层,下一步该补什么。