01
What a debugging round looks like
The setup is simple: a realistic codebase, a symptom and a clock. Stripe’s Bug Bash is the best known example. Candidates describe an unfamiliar repository with a failing test or an open issue, worked in their own language and editor for 45 to 60 minutes. Other companies run similar codebase rounds under other names, and AI-enabled rounds like Meta’s often open with the same kind of bug.
02
What interviewers watch
- A method: reproduce, narrow down, form a hypothesis, test it
- Reading skill: following data through files you did not write
- Root cause over symptom: fixing why it broke instead of hiding the failure
- Clear narration: a well explained diagnosis can count for more than a rushed fix
03
A method that works under time pressure
- 01
Reproduce it
Run the failing test or the steps in the ticket first. Read the actual error, not your guess about it.
- 02
Find the path
Trace from the entry point to where the value goes wrong. Search for names, follow calls and read the tests that cover the area.
- 03
Test a small hypothesis
Change one thing that would prove or disprove your idea. Print or assert before you rewrite.
- 04
Fix the cause
Make the smallest correct change that fits the code around it.
- 05
Prove it
Rerun the failing test, then the whole suite, so you know nothing else broke.
04
Why you need real codebases to practise
Toy examples hide the hard part. Real projects have layers, conventions and tests that interact, and the bug is rarely where the stack trace first points. The only way to get faster at orienting yourself is to do it on many codebases you have not seen.
05
Practise on StackYard
Every StackYard task is a bug from a real open source project or a realistic multi-module service, written up as a ticket with steps to reproduce and the expected and actual behaviour.
- Real tickets from real open source repositories and realistic services, in Python and TypeScript
- A browser IDE with a terminal and the project’s own test suite, nothing to install
- Pair, an AI assistant beside the editor that reads the code you are working on
- Example cases to run while you work, and hidden checks when you submit, so a pass means the fix holds
- A time budget on every task, from 10 to 45 minutes
06 Practice
Real open source bugs to start with
- Medium · Python · 25 minTimeDelta dumps some durations one unit shortA real marshmallow bug: floating point hiding behind a correct-looking formula.Open task
- Medium · TypeScript · 30 minNothing renders after a for loop that used break or continueA real liquidjs bug in a template engine’s control flow.Open task
- Medium · TypeScript · 40 minFlow collection map key throws when preceded by a blank line or commentA parser bug in the yaml package: follow state through a tokenizer.Open task
- Easy · Python · 20 minUnknown keys that contain a dot are turned into nested dictsA short, real bug to practise the method end to end.Open task
Or browse every task, no account needed.
07 FAQ
Questions people ask
How do I prepare for Stripe’s Bug Bash interview?
Practise finding and fixing bugs in code you did not write, within an hour, while explaining your reasoning out loud. Work in the language you will use on the day and get quick at running and reading tests.
What languages do debugging interviews use?
Usually your choice from the common ones. StackYard tasks are in Python and TypeScript today.
How many bugs should I practise?
Variety matters more than depth on one codebase. Aim for a few tasks a day across different repositories in the week or two before.
Can I use a debugger or print statements?
Generally yes. What matters is moving from symptom to cause with a method. Check the rules for your round with your recruiter.
More interview guides
StackYard is not affiliated with Stripe or any company mentioned. Interview details come from public candidate reports and may change.