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

Hiring now

Boston Consulting Group has 467 open roles right now

landed applies to roles like these for you, on each company’s own site, with answers written for the role.

Get 5x interviews10 free auto-applies. No card.
  • Delivery AI Software Engineer

    Gurgaon, Haryana, India

  • Global IT Software Engineer Senior Specialist

    Gurgaon, Haryana, India

  • Content Specialist - BCG Vantage

    Gurgaon, Haryana, India

Or practice this question first

Next question