Grokking Multithreading and Concurrency for Coding Interviews
A course on concurrency for interviews: processes and threads, race conditions and critical sections, the five synchronisation constructs (mutexes, read/write locks, semaphores, condition variables, barriers), and 17 threading problems from parallel search to the Dining Philosophers and a multithreaded web crawler. Code is in Python, Java, C++ and C#. It suits backend and senior candidates who have avoided concurrency and expect it in their loop.
3.6/5 (666 ratings)
Course page · Sept 2026
1,997
Course page · Sept 2026
30 in 5 chapters
Course page · Sept 2026
20 hours (stated)
Course page · Sept 2026
17 graded easy to hard
Course page · Sept 2026
$98 one-time (lifetime)
Course page · Sept 2026
Course
Interview Prep
Design Gurus
2 to 3 weeks
Advanced
Subscription
Why concurrency questions matter
Concurrency questions appear more often as seniority rises, and in some backend and infrastructure loops they act as a filter. They are hard to fake and hard to grind, and they correlate well with having worked on real systems. Fewer candidates prepare for them, which makes even modest preparation valuable.
What it covers
The course page lists 5 chapters, 30 lessons, 24 playgrounds and about 20 hours of study time (September 2026).
- Foundations (8 lessons): what multithreading and concurrency are, program versus process versus thread, the thread life cycle, the fork/join approach, critical sections and race conditions, and an overview of synchronisation constructs.
- Synchronisation constructs (5 lessons): mutexes, read/write locks, semaphores, condition variables and barriers, each with a worked example.
- Easy problems: parallel linear search variants, parallel min, max and sum, a Pi calculation and odd-even sort.
- Medium problems: multithreaded FizzBuzz, ZeroEvenOdd, Print in Order, a leap year detector and a palindrome investigator. These are pure ordering and signalling problems dressed as puzzles.
- Hard problems: Building H2O, synchronising two threads, multi-buffered master-worker thread pools, the Dining Philosophers, a multithreaded web crawler and a traffic-light intersection.
Price and ratings
The course page shows a 3.6 rating from about 670 ratings and roughly 2,000 learners as of September 2026. The listed one-time price is $98 for lifetime access, and it is included in the provider's all-courses subscription.
How long it really takes
Twenty hours is reasonable if you implement each problem yourself. A realistic plan is two to three weeks: one week for foundations and constructs, one to two weeks for the problems.
Before you start
You need to be comfortable in one of the four supported languages (Python, Java, C++ or C#) and to know basic operating system ideas. Java or C++ make the constructs most visible; Python works but its global interpreter lock changes how CPU-bound parallelism behaves, which is worth understanding separately.
How to use it well
- Implement each problem before reading the solution, in a language with real threads, and run it many times. Concurrency bugs often appear only occasionally.
- Break it on purpose. Remove a lock and watch the race condition appear. That teaches more than reading about one.
- Explain aloud why your solution cannot deadlock. Interviewers ask this directly.
- Keep a one-page summary of the five constructs: what each guarantees, and one problem from the course where it was the right tool.
Best for: engineers interviewing for senior or backend roles, and anyone who has been avoiding the topic.
Ready to start?
Opens on Design Gurus in a new tab.
Stuck on something specific?
Writing only gets you so far. If you want an answer to your situation rather than the general case, book a session and we will work through it together. Sessions are free for approved Sefism members, and a few slots open each week.
Follow along
New writing, resources and project ideas land here first.