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 接口对接)
题面特征
- 给定一份 mock API 文档,要求实现
transfer(src, dst, amount) - 处理 idempotency key、retry、rate limit (429)
- 解析 JSON 响应并按规则更新本地余额
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辅助 服务
- 题型分桶:4 大主线每桶 5 道变体,模拟 Stripe 自研 IDE
- 整数化训练:所有金额计算转为整数 cents,避免浮点扣分
- OA 当天实时辅助:低延迟思路核对 + 代码风格审查
- VO 衔接:Stripe NewGrad onsite 是 4 轮 collaborative coding,mentor 不变
我们见过的 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