Stripe · Senior
Recommended next: your first attempt
A complete first attempt shows where you stand before any narrow practice starts.
Pick a round to see what it asks of you and where you stand on it.
Deliver correct, readable logic quickly and verify behavior before pursuing a more complex solution.
How would you detect that the output violates the invariant?
Can the next requirement reuse the current representation?
Choose two small data-processing tasks in your strongest language. For each, define malformed-input behavior, ordering rules, expected output, and one follow-up requirement before coding.
The guide emphasizes correct, readable, verified work before immediate optimization. Candidate reports also describe a practical programming round, although exact prompts can vary.
Company researchStripe-authored Engineer Team Screen Guide, public mirrorStripe candidate: programming, integration, bug squash and hiring managerStripe London backend interview experience
A first attempt takes the full 60 minutes.
Prepare for practical programming, API integration, bug fixing, senior system design, and an ownership-focused hiring-manager discussion. Stripe’s engineering screen prioritizes correctness, readability, and verification over clever optimization. Build a working core, extend it as requirements arrive, and explain every consequential failure path. For payments backend work, make retries, idempotency, reconciliation, and clear merchant-facing outcomes concrete.
Worth redoing if you hear something from the recruiter that contradicts this.
Every session saved against this target, newest first. Standings live on the round cards.
Practical programming screen, API integration, Bug squash, Payments systems design, and Hiring manager: ownership and craft have no attempts yet.
Rehearse one short explanation while implementing the smallest complete solution. Trace normal, malformed, empty, and follow-up cases with explicit expected results.
This targets the stated bar: finish a small solution, then verify it and extend it without destabilizing the existing flow.
Suggested approach
Prepare a compact routine: restate the contract, name assumptions, implement, run or inspect examples, then check edge cases before discussing optimization.
A fixed sequence reduces time spent optimizing before correctness is established and fits the reported practical format.
Suggested approach
You have selected the tasks, written their contracts and expected cases, and rehearsed one concise implementation-and-verification explanation.
Questions that close the gaps above.
Which payment failure creates the most operational work for this team?
How do engineers decide when a simpler implementation has enough safeguards?
What does ownership look like after an integration launches?