Debug a multithreaded code where race conditions were occurring in shared state

Asked atBoston Consulting Group
1Give yourself 5 minutes
2Answer out loud, not in your head
3Then compare with the answer below
0
Stuck? Show a way to structure it+
  1. 01State the contract and the key invariant for Debug Race Conditions
  2. 02Name shared state
  3. 03Identify every compound read-modify-write
  4. 04Reproduce under contention
  5. 05Protect the whole invariant with a mutex or matching atomic
  6. 06Validate the result against boundary cases and state O(1) work per update, with contention-dependent latency

Reference answer

Then expect these follow-ups

  • Which invariant proves the Debug Race Conditions approach is correct?

    Tests: correctness reasoning

  • What edge case would you test first?

    Tests: follow-up reasoning

Free to read · better with Enzo

Practice this out loud with Enzo

Enzo runs it as a mock interview, pushes back with follow-ups, and grades you on the rubric.

Next question