面完 Stripe 最大的感受是:他家的 technical interview 和其他大厂完全不是一个路数。网上搜 Stripe technical interview 的资料,十篇有九篇会告诉你不考算法套路,你 LeetCode 刷得再猛,如果没按他家的路子准备过,进去就是被吊打。
这篇把五轮 VO 完整记录下来,每轮的题目、follow-up 和踩坑点都在,准备 Stripe technical interview 的朋友可以直接对着查漏补缺。

Stripe 招聘现状
先交代下投递背景。Stripe 是做支付基础设施的,使命是”increase the GDP of the internet”,工程团队分布在旧金山、纽约、芝加哥、多伦多、都柏林、新加坡等 20 多个 office,也有 remote 岗位。SWE 的招聘一直是常年开放的状态,从 New Grad 到 Senior Staff 各级别都有 headcount,Payments、Risk、Infrastructure、Bridge(稳定币方向)这几条线最能吃人,具体开放岗位可以直接上 Stripe 官方招聘页面 按团队和地区筛选。在校生和应届生走 University 通道,实习面试一般在项目开始前一年的 8 月到次年 2 月进行,rolling 审核,越早投越好,而且他家 New Grad 大部分是从实习转正来的,能拿实习就别等 NG。
一个值得注意的点:Stripe 的面试是 language agnostic 的,官方明确说编程语言不限,用你最熟的语言就行,别为了面试临时切语言。
第一轮 Coding:Bitfont
题目是 bitfont:给你一套用位图定义的字体(每个字符由若干行 0/1 或者等价的位数据描述),要求实现把一个字符串按这套字体”渲染”出来的逻辑,多个字符横向拼接成完整的输出。后面的 part 会在这个基础上加需求,比如字符间距、缩放或者换行处理。
题目本身不难,算法上没有任何门槛,难的是理解题意——bitfont 的数据结构描述得比较绕,字符怎么编码、行列怎么对应、拼接方向是什么,光读题和消化输入格式就要花很长时间。而且 Stripe 全程要求 think loudly,你一边理解一边还得把思路说出来,节奏很容易乱。
我的实际情况是时间相当紧张,最后几分钟才把一个拼接边界的 bug 调出来,惊险完成了 2 个 parts。给后来人的建议:这类题千万别急着写代码,前十分钟老老实实把输入输出格式吃透,拿题目给的例子手推一遍确认理解无误再动手,返工的代价比慢启动大得多。另外 print 调试在这题里特别好用,把渲染结果直接打出来对着看,bug 一眼就能定位。
第二轮 HM 聊天
Hiring Manager 轮,简历延展 + 项目经历深挖,氛围挺轻松的。重点看你的表达方式和过往经验跟团队匹不匹配。
有一类问题值得提前准备:他们会问你对细节和准确性的看法。支付公司嘛,出个 bug 就是真金白银的问题,所以准备一两个”我如何在项目里保证正确性”的故事会很加分。
第三轮 Bug Squash:Mako
给一个用 mako 的真实代码库,clone 下来找 bug 修 bug。
我这轮开局不太顺:花了一段时间 set up debugger,结果没成功。没办法加断点,只能退回最原始的方式——从命令行打 log 调试。好在这个笨办法够用,靠着 log 定位并解决了 2 个 bug。
比较意外的是,修完第二个 bug 之后其实还剩挺长时间,但面试官估计觉得 signal 已经足够了,就提前结束了面试。这轮的心得有两条:一是别在环境问题上死磕,debugger 起不来就果断换 print/log,能推进比姿势优雅重要;二是 Stripe 的评估看的是 signal 不是完成量,你定位问题的过程——怎么缩小范围、怎么验证假设——全程说出来,比闷头多修一个 bug 值钱。
第四轮 Integration:Bikemap
感觉是我做得最好的一轮。任务是 bikemap:读取 3 个 JSON 文件成 dict,然后在这几份数据之间来回做 ETL——清洗、关联、按要求转换输出。
一共 5 个问题,我解决了 3.9 个。差的那 0.1 是有一个 enhanced 要求没满足,其实再给我 1 分钟就能加个 one-line 函数搞定,但时间到了只能口述思路。好在面试官听完思路也挺满意的——这再次印证了 Stripe 的风格:没写完不等于没 signal,能准确说出还差什么、会怎么补,效果不比写完差多少。
这轮的备考建议:JSON 嵌套结构的读取和转换要熟到不假思索,dict 的分组、合并、映射这些操作是肌肉记忆级别的基本功;做题时按问题编号推进,每解决一个就跑一次验证,别攒到最后一起调。
第五轮 System Design:Ledger Service
设计一个账本服务。再强调一遍:这轮偏 API 设计而非传统系统架构。
重点在需求确认,以及根据具体使用场景合理设计 service layer 和数据库结构。千万不要直接套 high-level SD 模板——上来就画 load balancer、cache、message queue 那套 box 图,在 Stripe 这里基本等于告诉面试官你没听懂题。
他们想看的是:API 怎么定义、每个参数为什么这么设计、数据模型怎么支撑账务的一致性和可追溯性。粒度比一般公司的 SD 轮细一个量级。
写在最后
最后说点掏心窝的。Stripe 这套面试没法裸考,我自己是找了 InterviewShow 做的全程备考规划,我跟着做了两次模拟面试,面试官按 Stripe 的风格追问 API 参数设计和 audit 思路,被虐完再上真场明显从容多了。从 OA 到 VO 他们都有对应服务,预算允许的话值得投入,至少比自己闷头刷题少走很多弯路。