← PayPal Interview Insights

PayPal·Software Engineer·Technical Phone Screen·Intermediate

Intermediate
Jun 2026

Summary

PayPal software engineering interview that went pretty deep into networking fundamentals. The TCP/UDP question felt like it had multiple layers and I wasn't sure how far they wanted me to go.

Questions Asked (1)

Q1

Compare TCP and UDP across reliability, ordering, congestion control, connection setup, and overhead. Then explain how TCP detects packet loss and triggers retransmission, covering timeouts, duplicate ACKs, fast retransmit, and selective acknowledgments.

System DesignTechnical Trade-offs
Author's notes

Started strong on the basic TCP vs UDP stuff, reliability and ordering are easy, but then they pushed into congestion control and I got a bit fuzzy.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start with a high-level comparison of TCP and UDP across the five dimensions, using a structured table-like format in your explanation. Then dive into TCP's loss detection and retransmission mechanisms, explaining how timeouts, duplicate ACKs, fast retransmit, and selective acknowledgments work together to ensure reliability. Emphasize the trade-offs and when each protocol is appropriate.

Pro tip: Relate the concepts to real-world scenarios, such as why UDP is preferred for live streaming or gaming, and how TCP's congestion control prevents network collapse. Mention that modern protocols like QUIC combine UDP with reliability features, showing awareness of evolving technologies.

1. Compare TCP and UDP

Systematically compare the two protocols across reliability, ordering, congestion control, connection setup, and overhead, highlighting key differences and their implications.

2. Explain TCP loss detection

Describe how TCP detects packet loss using timeouts and duplicate ACKs, and how it triggers retransmission.

3. Detail retransmission mechanisms

Cover timeout-based retransmission, fast retransmit upon receiving duplicate ACKs, and selective acknowledgments (SACK) for efficient recovery.

4. Discuss trade-offs and use cases

Summarize when to use TCP vs UDP, considering application requirements like reliability, latency, and throughput.

Key Points to Mention

  • TCP is connection-oriented, reliable, ordered, and has congestion control; UDP is connectionless, unreliable, unordered, and has no congestion control.
  • TCP uses a three-way handshake for connection setup, adding overhead; UDP has no handshake, reducing latency.
  • TCP detects loss via retransmission timeouts (RTO) and duplicate ACKs; fast retransmit triggers on three duplicate ACKs.
  • Selective acknowledgments (SACK) allow the receiver to acknowledge non-contiguous blocks, improving retransmission efficiency.
  • Congestion control in TCP (e.g., slow start, congestion avoidance) prevents network congestion; UDP lacks this, risking network collapse.
  • Overhead: TCP header is 20 bytes (minimum), UDP header is 8 bytes; TCP also maintains state, while UDP is stateless.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.