Channels

KOTLIN › Concurrency

Kotlin channels for coroutine-to-coroutine communication: send/receive, buffering strategies, produce, select, and when to pick channels over flows.

Channels are the concurrency primitive that lets two coroutines talk to each other through a suspending queue. Interviewers probe channels to see whether you understand hot-vs-cold data, back-pressure, fan-out/fan-in patterns, and the relationship between channels and flows. Expect questions on buffer types, the difference between send and trySend, why channels are hot while flows are cold, and how channelFlow bridges the two. Knowing when to reach for a channel instead of a flow is a strong signal of real-world coroutine experience.

What this covers

Study this topic

Further reading