Intuit 旗下 TurboTax / QuickBooks / Mint / Credit Karma 的 OA 是「take-home + SQL case + Karat 面试代码」三件套,DS 岗和 SDE 岗题型差异显著但都偏「真实业务决策」而非纯算法。本文整理 2026 春招最新反馈,按主线拆解题型与 5 天冲刺方案。
Intuit OA 概览(2026)
| 维度 | 详情 |
|---|---|
| 平台 | Karat(live coding)+ self-hosted take-home |
| 时长 | take-home 24–48 小时 + Karat 1 小时 |
| 题量 | take-home 1 case + Karat 2–3 题 |
| 难度 | LC Medium 节奏 + 业务决策 |
| 评分 | 自动判题 + 业务结论质量 |
主线一:Take-home Case(DS 岗)
题目
给一份 TurboTax 用户行为 CSV(10 万行),要求:
- EDA + 数据质量评估
- 提出一个 hypothesis 解释「为什么 H1 退税申报转化率比 H2 高 8%」
- 设计实验验证你的 hypothesis
应答框架
import pandas as pd
def eda(df):
print(df.shape, df.dtypes)
print(df.isnull().sum().sort_values(ascending=False).head(10))
print(df.describe(include='all').T)
# 业务相关切片:H1 vs H2、新老用户、设备类型、税年
for col in ['half_year', 'is_returning', 'device', 'tax_year']:
rates = df.groupby(col)['filed'].mean()
print(col, rates.to_dict())
return df
Intuit 评分关注业务结论的合理性 + 实验设计的可执行性,不只看代码。EDA 越早展示 H1 / H2 用户结构差异,越得分。
主线二:SQL Business Case
题目
subscription(user_id, plan, started_at, churned_at)、charge(user_id, amount, ts)。求 2025 年每个 plan 的 12 个月 LTV(含已 churn 用户的真实终身收入,未 churn 用户取活跃月数 × 月均收入)。
WITH active_months AS (
SELECT
s.user_id,
s.plan,
DATE_PART('month', AGE(COALESCE(s.churned_at, CURRENT_DATE), s.started_at))
+ DATE_PART('year', AGE(COALESCE(s.churned_at, CURRENT_DATE), s.started_at)) * 12
AS months_active
FROM subscription s
WHERE s.started_at >= DATE '2025-01-01'
), revenue AS (
SELECT user_id, SUM(amount) AS total_rev
FROM charge
WHERE ts >= DATE '2025-01-01'
GROUP BY user_id
), per_user_ltv AS (
SELECT
a.plan,
a.user_id,
CASE
WHEN a.months_active = 0 THEN COALESCE(r.total_rev, 0)
ELSE COALESCE(r.total_rev, 0) / a.months_active * LEAST(a.months_active, 12)
END AS ltv12
FROM active_months a
LEFT JOIN revenue r ON a.user_id = r.user_id
)
SELECT plan, AVG(ltv12) AS ltv_avg, COUNT(*) AS n
FROM per_user_ltv
GROUP BY plan
ORDER BY ltv_avg DESC;
关键点:AGE 转月数 + LEAST(months_active, 12) 截断到 12 月窗口 + 处理 NULL。
主线三:Karat Live Coding(SDE 岗)
题型
- LC Medium 经典:树 / 图 / DP
- Intuit 风味:金融报表生成、税表字段校验、QuickBooks API mock
例题:税表字段校验
def validate_tax_fields(form):
rules = {
'income': lambda v: isinstance(v, (int, float)) and v >= 0,
'ssn': lambda v: isinstance(v, str) and len(v) == 11 and v[3] == '-' and v[6] == '-',
'filing_status': lambda v: v in {'single', 'mfj', 'mfs', 'hoh', 'qw'},
'dependents': lambda v: isinstance(v, int) and 0 <= v <= 20,
}
errors = []
for field, check in rules.items():
if field not in form:
errors.append(f'missing: {field}')
elif not check(form[field]):
errors.append(f'invalid: {field}={form[field]}')
return errors
5 天冲刺方案
| 天数 | 任务 |
|---|---|
| D1 | EDA 模板 + Pandas groupby + missing data 5 题 |
| D2 | SQL 多表 JOIN + DATE_TRUNC + LTV / cohort 4 题 |
| D3 | Karat live coding:LC 200 / 207 / 215 / 994 |
| D4 | take-home 完整 mock(4 小时) |
| D5 | 复盘 take-home 业务结论 + 准备口述 craft demo |
FAQ
Intuit DS 一定要有 TurboTax 经验吗?
不强制。但 take-home 涉及税务术语(AGI、itemized deduction、refundable credit),最好提前搜一下名词解释,否则会浪费 EDA 时间。
Karat 面试可以用什么语言?
Python / Java / Go / JavaScript / Ruby。社区反馈:DS 候选人 95% 用 Python,SDE 候选人 70% 用 Python,~25% Java。
take-home 多少分能过?
社区反馈:技术正确性 > 业务直觉 > 表达。70% 候选人 take-home 通过即可进 onsite。
Intuit OA 之后多久出结果?
通常 7–14 天。take-home 提交后会有 1–2 个 reviewer 打分 + 综合 Karat 表现。
正在准备 Intuit OA / VO?
这次很高兴帮这批同学顺利通过 Intuit Data Scientist OA。很多同学反馈,take-home 的难点不在代码,而在 "在 4 小时内给出一个让 PM 信服的业务结论" ——这件事光靠刷 LeetCode 完全练不出来。
如果你也在准备 Intuit、TurboTax、QuickBooks、Mint、Credit Karma 的 DS / SDE OA / VO,感觉一个人复习方向模糊、business case 表达没把握,欢迎联系 oavoservice。我们会根据你的具体水平和弱点,提供专业的 OA / VO 实战辅助服务和一对一指导,把 take-home + SQL + Karat 三套模板完整打通。
👉 立即添加微信:Coding0201,获取 Intuit 高频题与备考方案。
联系方式
Email: [email protected]
Telegram: @OAVOProxy