Intuit Data Scientist 面经复盘:这不是刷题能过的 DS 面试,很多人都死在这里

90Times read
No Comments

最近,我带的一位学员成功走完了 Intuit Data Scientist岗位的面试流程。整体体验下来,最大的感受是:Intuit的面试极度侧重实战能力,且贯穿强烈的产品导向思维,不是单纯考察理论知识,更看重候选人解决实际业务问题的能力。下面就为大家详细拆解面试全流程、核心考点及应对思路,供各位备考同学参考。

面试流程

整个流程持续了接近 6 周,节奏不算快,但每一轮都有明确筛选目的。

  1. Recruiter 电话初筛
  2. Take-home 作业
  3. Technical Screen(Karat 平台)
  4. Virtual Onsite(5 轮)

SQL

涉及了窗口函数、CTE、TurboTax/QuickBooks 用户 cohort 分析。

Question 1

计算报税用户的月度留存率给定一个包含 user_id、file_date、product(TurboTax 或 QuickBooks)的用户报税表。计算 1 月份用户在后续每个月是否再次报税的比例。

解题思路

先定义 cohort 月,把 1 月份首次报税的用户作为 cohort;然后生成从 1 月开始的连续月份序列,用来保证每个月都有观测点;接着将 cohort 用户与他们后续的报税行为按用户和月份做左连接,判断用户在每个月是否有报税记录;最后对每个月的活跃标记取平均值,从而得到 1 月 cohort 在后续各个月份的留存率。

Question 2

Session 化问题表结构:user_id, timestamp, page_view定义:30 分钟内的连续行为算一个 session计算每个用户的 session 数。

解题思路

先按用户和时间排序每条行为记录,对 timestamp 使用 LAG 计算与上一条行为的时间差,当时间差大于 30 分钟时标记为一个新的 session;然后在用户维度上对这个新 session 的标记做累积求和,为每条行为分配一个 session_id,最后按用户统计不同 session_id 的数量,就可以得到每个用户的 session 数。

Question 3

按客户的收入累积和交易表:customer_id, date, amount展示每个客户随时间变化的累计收入。

解题思路

这类问题不需要做额外的分组或自连接,只要在客户维度上把时间排好序即可。做法是按 customer_id 分区、按交易日期排序,然后使用窗口函数对当前行之前的所有交易金额做累加。窗口从第一笔交易开始(unbounded preceding),一直累加到当前行,这样每一行就表示该客户在该时间点为止的累计收入。

参考 SQL

SELECT
  customer_id,
  date,
  amount,
  SUM(amount) OVER (
    PARTITION BY customer_id
    ORDER BY date
    ROWS BETWEEN UNBOUNDED PRECEDING AND CURRENT ROW
  ) AS cumulative_revenue
FROM transactions
ORDER BY customer_id, date;

Python

重点考察 Pandas,而不是 LeetCode 风格算法。

核心代码:

合并多个来源的用户数据(ID 不一致):使用 pd.merge(how=outer),处理缺失值

时间序列重采样:设置 datetime index, resample(D).mean()

GroupBy + 自定义聚合:每月消费最高的前 N 位用户

向量化特征工程:连续变量分箱

统计 & 实验设计问题

Intuit 非常重视 A/B 测试,因为他们一直在 TurboTax 中运行相当多的统计实验。

Question 1:设计一个新的结账功能 A/B 测试,定义成功指标,样本量,如何防止提前窥视结果

参考回答:

先明确成功指标,主指标通常选择结账转化率,并在实验开始前就锁定这一主指标,避免在实验过程中反复尝试不同指标带来的多重检验问题。样本量会基于历史转化率和期望检测的最小效果大小来估算,确保实验有足够的统计功效。为了防止提前窥视结果,提前设定好实验周期和停止规则,只在达到预设样本量或周期结束后再统一分析结果,必要时采用顺序检验或相应的校正方法来控制整体的错误率。

Question 2:如何解读 p 值和置信区间如果 p = 0.06,你如何结论?

参考回答

如果 p = 0.06,在常用的 0.05 显著性水平下结果并不具有统计显著性,因此不能拒绝原假设。但我不会只基于这一点就简单下结论,而是会结合置信区间来看效果的方向和幅度是否具有业务意义,同时评估实验的统计功效是否足够。如果置信区间仍然覆盖了具有实际价值的效果范围,且实验的 power 偏低,那么更可能是样本量不足导致未达到显著性;反之,如果效果本身很小,即使增加样本也未必有业务价值。

追问

  • 如何处理新鲜感效应
  • 如何平衡季节性的影响
  • SRM(样本比例不一致)怎么处理
  • t-test 和 z-test 的区别

产品思维 & 案例分析问题

TurboTax 转化率下降 5%,如何诊断?

解题思路:

从整体漏斗入手,将 TurboTax 的报税流程拆分为关键步骤,定位转化率下降主要发生在哪一环节;再对用户进行分群分析,如新老用户、不同报税复杂度、设备或渠道来源,判断下降是否集中在特定人群或场景;在此基础上结合近期可能的 UI、流程或定价改动提出假设,最后通过设计实验或对照验证,确认哪些因素真正导致了转化率下滑。

行为面试

  • 你推动过最大业务影响的项目
  • 出现问题时你如何承担责任
  • 如何从挫折中调整
  • 如何在没有管理权的情况下影响他人

我建议大家一次性准备 5-7 个故事,覆盖多个主题,比如合作,韧性等。最好辅以录音练习,避免听起来背稿。

给正在准备 DS 面试的同学

如果你正在准备偏产品、偏业务决策的 Data Scientist 面试,难点往往不在刷题,而在于是否有人帮你把分析思路对齐到面试官的预期。我这边长期做一对一 实时面试辅助 ,一些合作过的同学也顺利推进到了 Intuit、Meta、Amazon 等相关岗位。如果你在这些环节反复受阻,欢迎联系交流,看看是否适合一起针对性准备。

author avatar
Jory Wang Amazon资深软件开发工程师
Amazon 资深工程师,专注 基础设施核心系统研发,在系统可扩展性、可靠性及成本优化方面具备丰富实战经验。 目前聚焦 FAANG SDE 面试辅导,一年内助力 30+ 位候选人成功斩获 L5 / L6 Offer。
End of text
 0