Concurrency Coding Problems

Advanced · 26 min read · Low-Level Design, Concurrency & Code Craft

Print in order, bounded blocking queue, dining philosophers, thread-safe rate limiter, delayed scheduler and a parallel crawler: stress-tested solutions.

This is an Advanced lesson, part of Premium. What it covers:

  • How to answer any concurrency problem
  • 1. Print in order
  • 2. Take turns (FooBar, odd/even printers)
  • 3. Bounded blocking queue
  • 4. Dining philosophers
  • 5. Thread-safe rate limiter
  • 6. Delayed task scheduler
  • 7. Multithreaded web crawler
  • Testing concurrent code
  • Interview questions
  • Practice
  • Further reading

Previous: Concurrency for LLD · Next: Writing Interview-Grade Code