Practice debugging real code
before your interview

A small, realistic codebase with failing tests. Find the bugs, fix them by hand, and see how an interviewer would rate your debugging.

  • Real-world challenges
  • Hints when you're stuck
Get started

Companies that run a debugging round like this

How it works

Battleship easy

Bug 1Bug 2

Current goalGet test_place_ship_rejects_out_of_bounds passing.

Players have reported two problems: ships can be placed partly off the board, and hitting a ship’s last cell doesn’t always sink it.

Files

  • battleship
  • board.py
  • ship.py
  • game.py
  • tests
  • test_board.py
  • test_game.py

Challenges

Each one is a small project with failing tests.

View all

Why bug bash

Fixing code you didn’t write is part of the job, and now part of the interview

  • It’s in the interview loop

    More interviews give you a project with failing tests and ask you to fix it, not write it from scratch.

  • It’s most of the job

    Reading unfamiliar code and tracing a fault through it is what engineers do every day.

  • A rating, not just a pass

    Every round ends with a report on how you traced each bug, the hints you used, and a performance rating.

FAQs

A debugging round: you get code you didn’t write, with failing tests, and fix it while the interviewer watches how you find each fault. More companies now run it alongside, or instead of, a from-scratch coding round.