Interview guide

Debugging and codebase interviews: practise on real bugs.

Some of the most telling interview rounds have nothing to do with algorithms. You get a repository you have never seen, a failing test or a bug report, and under an hour to find the cause and fix it. Here is how these rounds work and how to get good at them.

Updated 2 min read

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.

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

A method that works under time pressure

  1. 01

    Reproduce it

    Run the failing test or the steps in the ticket first. Read the actual error, not your guess about it.

  2. 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.

  3. 03

    Test a small hypothesis

    Change one thing that would prove or disprove your idea. Print or assert before you rewrite.

  4. 04

    Fix the cause

    Make the smallest correct change that fits the code around it.

  5. 05

    Prove it

    Rerun the failing test, then the whole suite, so you know nothing else broke.

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.

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

Real open source bugs to start with

Or browse every task, no account needed.

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.

StackYard is not affiliated with Stripe or any company mentioned. Interview details come from public candidate reports and may change.

Practise on a real ticket.

Open a task in the browser, fix it with Pair beside you, and let the hidden checks tell you if it holds.

Browse tasks