← 返回部落格列表 Intuit OA 2026 真題|DS Take-home + SQL Case 完整解析
Intuit

Intuit OA 2026 真題|DS Take-home + SQL Case 完整解析

2026-05-23

Intuit 旗下 TurboTax / QuickBooks / Mint / Credit Karma 的 OA 是「take-home + SQL case + Karat 面試程式碼」三件套,DS 職和 SDE 職題型差異顯著但都偏「真實業務決策」而非純演算法。

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 萬行),要求:

  1. EDA + 資料品質評估
  2. 提出一個 hypothesis 解釋「為什麼 H1 退稅申報轉化率比 H2 高 8%
  3. 設計實驗驗證你的 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)
    for col in ['half_year', 'is_returning', 'device', 'tax_year']:
        rates = df.groupby(col)['filed'].mean()
        print(col, rates.to_dict())
    return df

主線二:SQL Business Case

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 職)

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 涉及稅務術語(AGIitemized deductionrefundable credit),最好提前搜一下名詞解釋。

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