Control transfers are reliable, used for enumeration and configuration over endpoint 0, setup requests and commands, with error checking and retries. Bulk transfers move large amounts of data reliably with retransmission but no timing guarantee; they use whatever bandwidth is left over, so they're great for throughput when latency doesn't matter, mass storage, bulk file transfer. Interrupt transfers carry small amounts of data with a guaranteed maximum polling interval, giving bounded, low latency, used for human-interface devices like keyboards and mice and for periodic sensor reports (the name is a misnomer; the host polls at the interval, the device doesn't truly interrupt). Isochronous transfers reserve guaranteed bandwidth and deliver on a fixed schedule but have no retransmission, errored or late data is simply dropped, which suits real-time streaming like audio and video where a momentary glitch is preferable to a stall or stale data. The selection logic is: reliability-critical bulk data → bulk; small low-latency periodic → interrupt; timed streaming where freshness beats correctness → isochronous; setup/commands → control.
Communication Protocols · Interview question
What are the four USB transfer types and when do you use each?
A strong answer
What a weak answer sounds like
You know the answer. Do you know what gets you dinged?
Pro breaks down the answer most candidates actually give to this question — and the specific reason an interviewer marks it down. It’s the difference between sounding correct and sounding senior, on all 472 questions.
From the lesson
USB Basics
Host-controlled, self-describing, and far more complex than UART: enumeration, descriptors, endpoints, and the four transfer types, plus device classes like CDC that need no custom driver.