Writing down my 2027 NG Stripe rejection (and, as a bonus, what I think is the most complete set of Stripe NG prep material you can find online).
Timeline
2026.9.3 the role opened, I got a friend to refer me → 2026.9.4 got the OA → 2026.9.6 finished the OA, all test cases passed in half an hour → 2026.9.10 got an email from HR to schedule the Technical Screening → booked 9.16 for the Technical Screening.
On 9.16 the interviewer had something come up, I waited 15 minutes and then rescheduled to 9.25 → 9.25 Technical Screening, AC → 9.27 got word that I passed the Technical Screen and was told to schedule the VO → booked 10.12 for one AI Coding round, and 10.13 for Integration + BugSquash → 10.15 rejected.
First, the materials
I spent almost a month preparing, went through xhs and the questions I had collected before, and put together what I think would be hard to beat in terms of completeness. The material is scattered across lots of sources, so I can't credit each original post. If any original poster sees this, I want to say thank you here.
The materials cover:
OA / Technical Screen:
A question bank (organized into a complete PDF document).
AI Coding:
I collected this one in a messy way, just skim it. You can also look at what I say in my rejection write-up.
Integration:
Bikemap, Payment Reconciliation, Request Replay (judging from how the problems look and the dates I found on GitHub, you can assume they are no longer in use).
BugSquash:
Python: Mako, Requests, Colander.
Java (I chose Python so I never did these, and there are definitely new problems I'm missing): Moshi.
Integration
Bikemap has 5 parts in total, and normally finishing 3 parts is enough. So far nobody has said what part 4 / 5 is.
Payment Reconciliation has 4 parts in total, and part 4 is explicitly stated as not required.
BugSquash
Mako:
bug 1: the AST was missing the visit_arg function; bug 2: when opening a file it only checked that it exists, not that it is a file (isFile); bug 3: when building a template,
if
#comments
endif
can't trigger pass, so compilation fails.
Requests:
Only one bug (not guaranteed accurate). On a 307 redirect, the first request consumes the IOBytes in the body, so the stream pointer ends up at EOF. When the same request is resent after the redirect, the body is empty. But the content-size recorded in the header is not 0, so the server waits for the client to send something while the client thinks it has already sent everything, and it ends in a timeout.
Colander:
bug 1: None showed up in the recorded file, the fix is to remove the None; bug 2: the recorded file is nested, for example
[str1, [str2, [str3, str4], str5], str6, str7]
and the fix is to build a flatten function to flatten it; bug 3: for some inputs [] and null give inconsistent results, and the expected result is that they are consistent, the fix is to add this in the relevant method:
if == [], then = null
I'll post the rejection write-up tomorrow...
Discussion
Loading comments…