← 返回部落格列表 Stripe NewGrad OA 總覽 2026|真題解構 + 系統設計 + 整數題型 OA輔助 全攻略
Stripe

Stripe NewGrad OA 總覽 2026|真題解構 + 系統設計 + 整數題型 OA輔助 全攻略

2026-05-23

Stripe 2026 NewGrad OA 在一畝三分地 / Discord 上的反饋非常密集,API integration、整數餘額、狀態機欺詐識別、Webhook retry 四類題型幾乎覆蓋了所有真題。本文按真題密度梳理四大主線、給出 Python 完整解法,並說明 OA輔助 的接入方式。

Stripe NewGrad OA 概覽(2026)

維度 詳情
投放渠道 Stripe 自研線上 IDE(HackerRank-like)
時長 90–120 分鐘
題量 4 道(每道獨立 ≈ 25–30 分鐘)
通過門檻 一畝三分地反饋:4 道全過 / 3.5 道 + 優秀程式碼風格
評分 自動判題 + 隱藏 case + 程式碼品質
冷卻期 12 個月

主線一:API Integration(HTTP 介面對接)

題面特徵

Python 解法骨架

import time
import requests

class TransferClient:
    def __init__(self, base_url, api_key):
        self.base = base_url
        self.headers = {'Authorization': f'Bearer {api_key}'}

    def transfer(self, src, dst, amount, idempotency_key):
        url = f'{self.base}/transfers'
        payload = {'src': src, 'dst': dst, 'amount': amount}
        for attempt in range(5):
            r = requests.post(
                url, json=payload,
                headers={**self.headers, 'Idempotency-Key': idempotency_key},
            )
            if r.status_code == 200:
                return r.json()
            if r.status_code == 429:
                time.sleep(2 ** attempt)
                continue
            if r.status_code >= 500:
                time.sleep(2 ** attempt)
                continue
            r.raise_for_status()
        raise RuntimeError('exceeded retries')

易錯點Idempotency-Key 每次重試都用同一個;429 必須讀 Retry-After 標頭(如果有)。

主線二:整數餘額(無浮點)

題面特徵

Stripe 題非常強調「所有金額用整數 cents 表示」,浮點直接判 0 分。

例題:分帳(split allocation)

「100 USD 按 [1, 2, 3] 比例分給 3 個商家,結果必須是整數 cents 且總和等於 10000。」

Python 解法

def split_amount(total_cents, ratios):
    s = sum(ratios)
    base = [(total_cents * r) // s for r in ratios]
    leftover = total_cents - sum(base)
    order = sorted(range(len(ratios)), key=lambda i: -ratios[i])
    i = 0
    while leftover > 0:
        base[order[i % len(order)]] += 1
        leftover -= 1
        i += 1
    return base

易錯點:餘量分配規則是 Stripe 題面裡字面定義的,不能自己發揮。社區反饋最高頻錯答是「按比例分配但用 round()」導致總和差 1 cent。

主線三:狀態機欺詐識別

題面特徵

給定一系列交易事件 (time, account, amount, type),狀態機定義「正常 / 警戒 / 凍結」三態及其轉移條件。要求實作 process(event) 並在合適時機切換狀態。

Python 解法骨架

from collections import defaultdict, deque

class FraudFSM:
    def __init__(self):
        self.state = defaultdict(lambda: 'normal')
        self.window = defaultdict(deque)

    def process(self, ev):
        ts, acct, amt, typ = ev
        q = self.window[acct]
        q.append((ts, amt))
        while q and q[0][0] < ts - 60:
            q.popleft()
        total = sum(a for _, a in q)
        if self.state[acct] == 'normal' and total > 10000:
            self.state[acct] = 'alert'
        if self.state[acct] == 'alert' and total > 50000:
            self.state[acct] = 'frozen'
        return self.state[acct]

易錯點:狀態切換的優先級(alert → frozen vs 重新進入 normal)必須嚴格按題面順序,而不是按數值判斷。

主線四:Webhook Retry

題面特徵

實作一個 webhook 派發器:失敗重試 5 次,間隔 1, 2, 4, 8, 16 秒;冪等鍵 + 死信佇列

Python 解法骨架

import time
from collections import deque

class WebhookDispatcher:
    def __init__(self, send_fn):
        self.send = send_fn
        self.dlq = deque()
        self.seen = set()

    def deliver(self, event_id, url, payload):
        if event_id in self.seen:
            return 'duplicate'
        for attempt in range(5):
            try:
                ok = self.send(url, payload, idempotency=event_id)
                if ok:
                    self.seen.add(event_id)
                    return 'delivered'
            except Exception:
                pass
            time.sleep(2 ** attempt)
        self.dlq.append((event_id, url, payload))
        return 'dead-lettered'

Stripe NewGrad OA 高頻題分布

題型 頻率 關鍵考點 易錯點
API Integration ★★★★★ retry / idempotency / 429 重試用同一 key
整數分帳 ★★★★ 整數餘量 浮點 / round
狀態機欺詐 ★★★★ 視窗 + 閾值 狀態優先級
Webhook Retry ★★★★ DLQ + 冪等 重複派發
貨幣轉換 ★★★ 整數倍率 單位 cents/微 cents

OA輔助 實戰路徑

oavoservice 的 OA輔助 服務

我們見過的 Stripe OA 難點

Stripe 面試官特別看程式碼風格:變數命名、錯誤處理、單元測試。我們見過候選人四道題全過但因為程式碼風格被記 weak signal 最終掛在 hiring committee。OA輔助 學員我們會逐行審查程式碼風格 + 提供 Stripe 工程文化匹配的 idiomatic Python 範本。

具體方案與報價,加微信 Coding0201 溝通。


FAQ

Stripe NewGrad OA 用什麼語言?

任意主流語言(Python / Java / Go / TypeScript / Ruby);社區反饋 Python 占比 ~55%。

自研 IDE 和 HackerRank 有什麼區別?

Stripe 自研 IDE 有 shell 終端 + 檔案系統,可以多檔 + 多 module;HackerRank 是單檔 + 單題。Stripe 自研更接近真實工作場景。

4 道題沒全過會被刷嗎?

社區反饋:3.5 道(其中 1 道部分通過)+ 優秀程式碼風格仍有機率進 onsite;3 道及以下基本無望。

Stripe OA 沒過冷卻期多久?

12 個月,且 NewGrad / Intern 池子合併計算。


正在準備 Stripe NewGrad OA / VO?

oavoservice 長期追蹤 Stripe / Plaid / Adyen / Checkout / Brex 這類支付與金融基礎設施公司的 OA + VO 真題。mentor 來自一線支付 / 風控 / API 平台團隊,可以提供 題型分桶、整數化訓練、自研 IDE 模擬、collaborative coding 劇本 等 OA輔助 / VO輔助 服務。

👉 立即添加微信:Coding0201獲取 Stripe NewGrad OA 高頻題與 OA輔助 方案


聯絡方式

Email: [email protected]
Telegram: @OAVOProxy