Explain TCP congestion control.
Assesses fundamental understanding of Computer Networks conventions, runtime behavior, and memory/performance considerations.
Hiring managers look for precision, avoidance of ambiguous jargon, and ability to explain trade-offs under real production conditions.
TCP congestion control keeps the sender from overwhelming the network. The sender maintains a congestion window, cwnd, and sends at most the minimum of cwnd and the receiver's advertised window.
Classic four phases:
- Slow start: cwnd starts small and doubles each round trip until the slow-start threshold.
- Congestion avoidance: cwnd grows by roughly one segment per round trip, additive increase.
- Fast retransmit: three duplicate ACKs imply one lost segment, so resend it without waiting for a timeout.
- Fast recovery: halve cwnd and continue.
cwnd ^ /| AIMD sawtooth
| / |
| / |\__
+-----------------> time
On timeout cwnd drops to one and slow start restarts. This additive-increase, multiplicative-decrease behaviour is why TCP is fair and stable. Modern algorithms differ: CUBIC uses a cubic growth function, and BBR models bandwidth and round-trip time instead of treating loss as the only signal.
Candidate Response Strategy & Interview Tips
- Start with a concise one-sentence summary: Deliver a direct, confident answer first before expanding into nuances.
- Demonstrate real-world trade-offs: Discuss where this approach excels and when you would avoid it in production systems.
- Discuss complexity & edge cases: Proactively explain time/space complexity or boundary conditions (null values, scale limits).
- Prepare for interviewer follow-ups: Technical hiring panels frequently probe deeper into concurrency, backward compatibility, or alternative libraries.