上个月拿到了 offer(L4,payments team,remote)。我在 loop 前大概 6 周开始准备 Stripe 的面试,前期做了不少低效选择。写下如果从第一天重来,我希望自己怎么做。
我实际怎么做的(不太理想)
前两周:狂刷 Leetcode,主要是 medium-hard。对 coding 轮特别焦虑。这部分努力有些浪费。Stripe 的 coding 面试不在考 Leetcode hard。我没见到任何需要冷门数据结构或课本算法的题。他们真正考的是:代码干净、对 edge case 的思考、对复杂度的清晰沟通、以及你会不会在写代码前先问清楚需求。
如果从头再来我会怎么做
第 1-2 周:做 40-50 道 Leetcode medium,计时。不是为了背答案,而是为了养成边想边说、不要慌的习惯。开计时器做,并把推理过程讲出来。
第 3 周:System design。针对 Stripe,去看分布式支付系统、幂等性(这点经常出现)、exactly-once delivery、以及重试逻辑。不只停留在概念层面,要理解为什么这些对资金流转很重要。没看过的话读一下 Stripe 的 engineering blog,确实不错。
第 4 周:Behavioral。Stripe 的 behavioral 轮不是走过场。我直到前一周才花时间准备,差点因此翻车。他们会问:讲一次你 push back 决策的经历,讲一次项目失败的经历。这些需要真实答案,不是通用 STAR 模板就能糊弄过去。找真人练,不要只看笔记。
第 5-6 周:Mock loops。至少做两次从头到尾的完整模拟。你在脑子里能解出来的题,和你在视频里一边讲一边写、对面还有陌生人在看时能解出来的题,完全不是一回事。
其他有用的小点
在 recruiter screen 前先了解一下 Stripe 的产品。不是为了硬塞名词,而是为了理解业务域。我拿到一个关于支付重试的 system design 题时,因为有背景,回答才更有逻辑。
还有:recruiter 对流程很坦诚。如果你也拿到了 prep guide,就认真看。我第一次只是扫了一眼,后来不得不回去更仔细地重读。
六周够用,只要你专注。四周会紧,但也能做到。