岗位指南16 min read

数据科学家面试准备:2026 年完整指南

2026 年数据科学家面试实用指南——SQL 筛选、统计学、机器学习案例研究、A/B 测试以及 FAANG 的产品-数据混合面试——包括实时 AI Copilot 在各轮面试中的实际作用。

Devon Park

Head of Research, Acedly

2026年数据科学家面试为什么是这样的

2026年的数据科学家这个职位与五年前已经不是同一种工作了。两个结构性的变化从两个方向压缩了这个职位的范围。从建模角度,ML工程师吸收了生产化的工作——任何部署到服务栈的东西现在是MLE的工作,而不是数据科学家的。从分析角度,具有强大dbt和数据仓库技能的"分析工程师"吸收了仪表板和指标定义的工作。那么留在中间的——也就是现在大多数"数据科学家"职位所处的位置——就是产品数据科学:掌管实验、指标设计以及产品决策背后统计学严谨性的职位。

这对面试准备很重要,因为面试流程已经追踪了角色的变化。五年前的数据科学家面试流程是60%的建模和40%的SQL。到了2026年,这个比例已经更接近60%的SQL和实验设计、25%的产品和指标理解,以及15%的建模——当建模轮次出现时,它越来越多地是一个"案例研究"而不是编程问题。如果在准备中权重分配错误,你会在Kaggle风格的竞赛上投入过多,而实际面试问的却是如何诊断指标下降。

还有第二条赛道——在仍然区分研究科学家、ML工程师和应用数据科学家的公司中担任ML应用型数据科学家的职位(Netflix、Stripe、Anthropic、DeepMind在他们以数据科学家职位招聘的有限情况下)。这些面试流程将权重倒转回约50%的建模深度,案例研究轮次需要深入三层——特征工程、评估方法论、在线评估——而不是浅尝辄止。如果你的目标是这些职位,就要相应地准备;如果你的目标是Meta或Airbnb,则不需要。

2026年数据科学家面试流程,逐阶段分析

一个典型的2026年数据科学家面试流程在三到五周内进行四到六个阶段。具体的组成因公司和赛道而异,但总体框架是一致的。

**招聘人员筛选(30分钟)。**主要是后勤和薪资期望,加上一些"自我介绍"的探问。这里的信号是你是否能用清楚的英文表述你曾经处理过的问题类型——不要充满术语,也不要过度谦虚。两到三个清晰的项目描述,每个都与一个可衡量的业务成果联系起来,这样就能进入下一轮。

**SQL/编程筛选(45–60分钟)。**这是技术筛选。在StrataScratch、DataLemur、Coderpad或HackerRank上进行实时编码——取决于公司。两到三个中等难度的SQL问题,偶尔还有一个Python数据操作问题。标准是第一次运行时的正确性、体面的变量命名,以及对面试官没有问到的边界情况的解释。时间压力是真实的;大多数候选人因为把联接过度复杂化而失败。

**现场或虚拟现场(4–5个轮次,通常每轮45分钟)。**这是面试流程按公司分化的地方:

  • Meta进行SQL深度挖掘、产品/指标理解轮次、A/B测试轮次和行为评估轮次("你最自豪的项目是什么")。产品轮次权重最大。
  • Google范围更广:SQL、统计学、ML案例研究、产品轮次和"Google特质"行为评估。ML案例的存在比Meta更明显。
  • Amazon以领导力原则驱动;预期每一轮都会包含LP(领导力原则)的探问,加上技术内容。SQL很短;统计学很短;特定于数据科学的轮次通常是以领导力原则语言表述的指标设计问题。
  • Netflix是战略思维的异类——轮次较少,每轮预期信号更强,强调写作。你可能被要求写一份一页的备忘录来解释你的分析。
  • Airbnb重视主机端指标("你如何衡量主机流失?"),并进行一个较长的产品轮次。
  • ML研究倾向的公司(DeepMind、Anthropic、OpenAI在他们以数据科学家职位招聘的有限情况下)除了标准轮次外,还进行论文讨论轮次和深度建模轮次。

**招聘经理轮次(45分钟)。**通常安排在最后,有时在技术轮次之间。技术含量较少,更多关于适配度以及你如何规划前90天。资深候选人应该预期战略性问题——"这个团队应该追踪但目前没有追踪的最重要指标是什么?"

从第一次招聘人员电话到收到Offer的总时间投入很少少于三周,通常需要五到六周。根据这个周期来规划你的准备,而不是围绕某一场关键的面试。

SQL 轮: 2026 年重点考察内容

SQL 筛选是大多数候选人失去 offer 的地方,「我懂 SQL」和「我能通过 60 分钟 SQL 筛选」之间的实际差距比很多候选人想象的要大。有三类问题是考察重点。

窗口函数 — 几乎每次都会考。反复出现的具体函数包括:ROW_NUMBER()RANK()DENSE_RANK() 用于按组取前 N 个;LAG()LEAD() 用于期间环比变化;SUM() OVER (PARTITION BY ... ORDER BY ...) 用于累计求和。如果你无法快速写出按组前 N 个的查询,就会失败。常见的误区是用自连接或相关子查询,而窗口函数五行就能搞定。

CTEs 和多步骤转换 — 现代规范做法。超过单个 JOIN 的复杂逻辑都应该写成 CTE 链,名字要清晰,每步只做一件事。面试官既关注 可读性 也关注正确性;一个 40 行、命名清晰的 CTE 链永远胜过一个 12 行嵌套子查询。

四个经典模式:

  1. 按组前 N 个 (找出各地区消费最高的前 3 个客户)— 用 RANK()ROW_NUMBER() 的窗口函数,按排名筛选。
  2. 留存与队列分析 (1 月新注册用户中有多少在 2 月回归)— 按 user_id 自连接配合日期计算,或用窗口函数标记活跃天。
  3. 漏斗转换 (注册 → 激活 → 首次购买)— 分阶段的 CTE,使用 LEFT JOINEXISTS 检验,计算各阶段的转换率。
  4. 会话化 (把事件行按会话分组,连续事件间隔在 30 分钟内)— 用 LAG() 计算时间间隔,再对「新会话」标志求累计和。

最常见的错误是粒度搞错。如果输出应该是每个用户-天一行,但你不小心写成了每个事件一行,所有后续的计数都会相差数个数量级。在写查询前 要明确说出输出的粒度,写完后用简单的 SELECT COUNT(*) 验证。

统计与概率轮

统计轮在各公司间差异最大。有些考理论知识(贝叶斯推导、分布性质);有些考实际应用(「这个场景你会用什么检验?」)。三个子类覆盖了大多数常见题型。

贝叶斯/条件概率。 蒙提霍尔问题出奇频繁,还有它的变体 — 「两枚硬币,一枚公正一枚有偏,你抛出来看到正面,P(有偏) 是多少?」— 几乎每家公司都问。套路是写出贝叶斯定理,确认先验、似然和证据,然后计算。关键是在白板上边讲边做;答案对了是必要条件但不充分。

分布与何时使用。 正态近似很有用,但很多人过度使用。面试官想听的是:「我这里会假设正态分布,因为样本量足够大,CLT 适用,但我会检查残差来验证;如果原始数据有重尾,我会用 t 分布或非参数方法。」既说出假设,又说出验证方法,这是高级信号。

假设检验。 标准框架是:确认指标类型(比例、均值、计数、比率),检查前提条件(独立性、正态性、样本量),选择检验方法(比例用 z 检验、均值用 t 检验、分类数据用卡方检验、非正态用曼-惠特尼检验),陈述零假设和对立假设,定义显著性水平,讨论多重比较修正(如适用)。对任何一个场景,你应该能在 90 秒内走完这个流程。

置信区间。 陷阱在于解释。「真实均值有 95% 的概率在这个区间里」是 错误的 — 频率学派置信区间不对参数做概率陈述。正确说法是:「如果我重复这个实验很多次,95% 的构造区间会包含真实均值。」说错了,懂统计的面试官会留下不好的印象。

A/B 测试与实验:基础工作

这是在产品数据科学公司(Meta、Airbnb、Uber)中权重最大的面试轮次。最少要覆盖以下几点:

  1. 假设 — 你认为会发生什么以及为什么?要与行为机制相关联,而不仅仅是「我们认为这会很好」。
  2. 指标 — 主要成功指标、次要指标、保护性指标。资深候选人在被问之前总是会主动指定保护性指标。
  3. 功效计算 — 要以 80% 的功效和 5% 的显著性水平检测 X% 的提升,需要多少样本?你应该能够使用经验法则 n ≈ 16 × σ² / δ² 每组样本量进行估算,无需计算器。
  4. 随机化单位 — 用户、会话、设备?面试官会深入探究;你需要有意识地选择。
  5. 保护性指标和 SRM 检查 — 样本比例不匹配(实际分组偏离预期的 50/50)是破损实验最常见的信号,资深候选人在报告结果前会检查这一点。
  6. 分析 — 点估计、置信区间、p 值(如需要,进行多重比较校正),以及统计显著性与实际显著性的区别。
  7. 决策 — 发布、不发布或迭代,明确说明权衡。

面试官会深入探究的陷阱:

  • 新奇效应。 处理组在第一周表现很好,到第三周有所回落,因为用户只是在探索新功能。
  • 网络效应。 Facebook News Feed 的经典陷阱 — 如果处理改变了谁看到什么,你无法按用户随机化,因为对照组被处理组用户的行为所污染。面试官有时会问「如果我们在测试市场排名变化呢?」他们想听到网络干扰的框架。
  • 稀释。 如果只有 10% 的用户看到该功能,全体人口的提升是那 10% 的提升乘以 10%。忘记这一点会将「5% 的提升」变成经不起推敲的营销声明。
  • 主要指标 vs 保护性指标的权衡。 「如果收入增加但 DAU 下降怎么办?」资深答案涉及保护性指标的弹性和时间范围问题 — 短期收入提升而牺牲长期参与度很少值得。

一个详细的示例讲解 — 为新主页信息流设计实验 — 应该花费约 8-10 分钟。练习到自动化程度。

ML 案例研究(产品数据科学视角)

当 ML 出现在产品数据科学面试中时,它以案例研究的形式出现,而不是编码轮次。框架总是某种「为 X 设计排序器」的变体 — 信息流排序、搜索结果、推荐、广告选择。预期的结构:

  1. 业务目标 — 我们实际上在优化什么?参与度、收入、长期留存?资深信号是即使代理指标是短期的,也要说出长期目标。
  2. 标签 — 正类和负类是什么?标签如何生成,这会引入什么偏差?(位置偏差、选择偏差、冷启动问题。)
  3. 特征 — 三到五个类别:用户特征、物品特征、上下文特征、交互特征,以及(对于序列感知模型)最近历史特征。
  4. 模型类别 — Gradient-boosted Trees 作为主力默认选择,在数据和信号合理的地方使用深度学习。资深候选人会说出权衡 — 可解释性、训练成本、在线推理延迟 — 而不是盲目跟风。
  5. 离线评估 — 分类用 AUC-ROC,排序用 NDCG,回归用 RMSE。陷阱是停在这里;离线指标与在线业务指标的相关性较弱,资深候选人会指出这一点。
  6. 在线评估 — A/B 测试设计、主要指标和保护性指标、循环回到实验轮次。

按级别预期的诚实深度:L4(初级)你可以描述每个步骤。L5(中级)你可以在每个步骤上论证权衡。L6(资深)你可以识别这个案例研究不寻常的两三个步骤 — 什么让它比教科书框架更具挑战性 — 以及你如何处理它们。

产品/指标轮次:DAU 下降

几乎每个进行产品数据科学面试的公司都会问标志性的产品轮次题,通常是这样的变体:「DAU 环比下降了 5%。你会怎样诊断?」

预期框架,实时执行:

  1. 首先验证数据。 指标是否真的下降,或这只是数据记录问题?检查日志管道、检查上游变化、查找当日部分数据。
  2. 分段。 按地理位置、平台、操作系统、国家、用户队列、获取渠道。下降很少是均匀的;找到分段可以定位原因。
  3. 按行为分解。 DAU = 新用户 + 回访用户。新用户注册下降了?回访用户留存下降了?这些有完全不同的原因。
  4. 按漏斗分解。 在每个行为组内:应用打开下降了?打开到参与的转化率下降了?每个步骤有不同的上游原因。
  5. 与外部事件交叉参考。 产品发布(你的和竞争对手的)、新闻周期、假日、付费营销变化、基础设施事件。
  6. 形成假设,设计验证。 一旦你有了候选解释,什么数据会驳斥它?

在 Meta 和 Google,预期的输出是「指标树」— 显示每个输入及其变化相对幅度的指标的可视化分解。资深候选人在谈话前画出树;初级候选人先谈话,永远到不了树。

实时 AI 助手在数据科学面试中的帮助范围 — 以及不适用的情况

要诚实对待这一点。在数据科学面试过程中,有些环节 AI 能帮你走大部分距离,但有些环节会让你显得很不专业。下面的表格是我们对自己用户的建议。

按数据科学面试环节划分的 AI 助手适用度
FeatureSQL统计A/B 测试机器学习案例产品/指标行为
AI 助手质量优秀良好强大强大中等强大
延迟要求低于 200 毫秒(现场编码)对话式对话式对话式对话式对话式
隐蔽要求高(屏幕共享)中等中等中等中等中等
伦理接受度有争议舒适舒适舒适舒适个人判断
推荐使用方式接近逐字脚本思维辅助框架提示大纲 + 自己补充头脑风暴;为自己辩护仅大纲 — 用你自己的声音说出来

诚实的总结:SQL 面试是 AI 助手最接近替你完成工作的地方 — 语法很严格,从提示词到可用查询的编辑距离很小,而且像 Acedly 这样的优秀助手可以直接读取编辑器。在统计学和 A/B 测试面试中,AI 在找到正确的框架和正确的测试方面极其有用,但当面试官深入追问时,你仍然需要为自己的答案辩护。在产品/指标面试中,AI 是你的头脑风暴伙伴,但无法替你辩护答案 — 面试官会问「为什么是这个细分,而不是那个?」,你需要有自己的观点。在行为面试中,AI 可以产生一个结构(情境-任务-行动-结果),但内容必须是你的,用你自己的声音说出来,否则会听起来很生硬。

Acedly 在现场数据科学面试中的表现

Acedly 是为现场人类面试而构建的,你可以控制信息披露。具体来说,对于数据科学家面试,三件事很重要:

延迟。 端到端中位延迟约为 98 毫秒 — 从话语结束到第一个渲染词元的时间。这个预算在 SQL 编码屏幕中最为重要,因为「AI 能帮助」和「AI 太慢而无法帮助」之间的差异就是自己写答案和复制答案的区别。

编码平台编辑器读取。 大多数数据科学 SQL 面试在 Coderpad 或 HackerRank 上运行 — 这两个已验证的平台都允许 Acedly 读取问题陈述、模式和候选人已写的部分查询,并使用这三个作为基础上下文。只听语音的 copilot 会忽视模式信息,这意味着 SQL 建议会更糟。

多模型路由。 SQL 问题路由到 DeepSeek 进行代码生成;统计和概率问题路由到 Claude 以获得推理质量;产品/指标问题路由到 GPT 以获得更广泛的业务背景。路由器按问题选择,而不是按会话选择。

八个已验证的平台。 Zoom、Microsoft Teams、Google Meet、Webex、Lark/Feishu、Amazon Chime、Coderpad、HackerRank。这些平台共同覆盖了 2026 年大约 95% 的专业数据科学面试平台。

12+ 种编程语言,包括 SQL。 Python、R、SQL(PostgreSQL、MySQL、BigQuery、Snowflake 方言)、Scala、Java、JavaScript/TypeScript、Go、Rust、C++、Julia、MATLAB、Bash。SQL 方言检测很重要,因为窗口函数语法在 Postgres 和 MySQL 之间略有不同。

四周的DS面试准备计划

如果你有四周的时间,下面的日程表是一个可行的分配方案。如果你的目标是非标准岗位,请调整权重。

第一周 — SQL钻练。 每天两小时。在StrataScratch或DataLemur上完成50道题,重点放在窗口函数、留存率/队列模式和漏斗查询上。每道题都要写一句总结:用了哪个模式、用了哪个窗口函数、数据粒度是什么。到周末,你应该能从第一句话就识别出top-N-per-group。

第二周 — 统计、概率和A/B测试。 一小时理论(复习分布、假设检验、贝叶斯),一小时应用 — 做十道经典A/B测试题(样本量、新颖性效应、网络效应、稀释效应)。反复练习七步法则直到自动化。阅读:Kohavi、Tang、Xu的Trustworthy Online Controlled Experiments涵盖了几乎所有会被问到的内容。

第三周 — 产品和指标模拟案例。 每天做三个模拟案例,每个30分钟,涵盖各种指标:DAU下降、用户参与度下降、转化率下降、流失率上升。每次都用指标树框架。录下自己讲话;回放;前三次很糟糕,第十次就自动化了。

第四周 — 公司特定。 如果你的目标是Meta,从Decode and Conquer轨道钻练产品案例。如果你的目标是Google,扩展到SQL、统计和ML案例。如果你的目标是Amazon,准备一个与LP相映射的投资组合,每个原则两个故事。最后48小时:休息。做简单的题,充分睡眠,通过认识到自己已经完成了工作来实现精神上的恢复。

跨越每一周的单一最强杠杆习惯是:为你解决的每个问题写一句总结。50道题后,你就会有自己的模式识别参考表不断积累。100道题后,你会在梦中诊断DAU下降。

常见问题