Loading…
0+ curated questions with the same answer shape every time: quick recap, deep dive, pitfalls, and follow-ups. Coverage includes .
Goroutines and channels are the reason Go is Go — the combination that makes Go attractive for cloud-native, network services, and high-concurrency backends. This module covers goroutine creation (go func(){}(), the green-thread model, why goroutines start at 2 KB vs OS threads at 1–8 MB), channel semantics (sends block when full, receives block when empty, buffered channels decouple sender from receiver), directional channels (chan<- for send-only, <-chan for receive-only — used in function signatures to communicate intent), ranging over a channel until it's closed, the close semantics (close signals no more values; receiving from a closed channel returns the zero value), goroutine leak patterns (the most common production bug in Go), and the fan-out/fan-in concurrency pattern for distributing work across goroutines and collecting results. Every answer includes a code example the interviewer expects to see.
Full catalog
Topics are ordered for learning. Within each topic, rows are numbered 1–0 globally so you always know where you are. Collapse topics if you want a lighter view — use Expand all when you need the full list again.
Numbers 1–0 follow the order we recommend — click any row to open the full answer, or use the sticky Next link at the bottom of each page to go Q1 → Q0.