Learning paths
Guided sequences, one idea per step. Each step is a verified scenario; progress is saved in this browser.
- Threads from scratchStart, stop, wait and share: the Java basics everything else builds on.8 scenarios
- Shared state, three languagesThe same lost update in Java, Go and Rust, then the collections and maps that break the same way.6 scenarios
- Async without the mysteryEvent loops, await, and what blocks them, in JavaScript, Python, C#, Rust and Kotlin.8 scenarios
- Under the schedulerThe GIL, virtual threads, a starved pool, preemption, and who gets the P.6 scenarios
- How memory gets freedA scope ends, a refcount drops, a GC runs alongside you, or stops the world.4 scenarios