Review cards · 16 cards
Networking
DNS, load balancers, proxies and what happens between the client and the first server.
Cards
- You are about to take a server out of the load balancer for a deploy. What should happen first so no user sees an error?
- On a cache miss, a recursive DNS resolver asks the _____ servers, then the _____ servers (such as .com), and finally the domain's _____ name servers.
- You need to send /api/* requests to one pool of servers and /static/* to another. Which load balancer can do this?
- Why put a reverse proxy (such as nginx or Envoy) in front of your app servers?
- A load balancer uses sticky sessions, pinning each user to one server that keeps their session in memory. What is the main drawback?
- How does anycast send each user to a nearby server, and where is it used?
- Why do services keep persistent, pooled connections to each other instead of opening one per request?
- What do you trade when you lower a DNS record's TTL from an hour to 30 seconds?
- When would you pick least connections over round robin for a load balancer?
- A user is 150 ms (round trip) from your only data center. Over a new connection (TCP plus TLS 1.3), how long until the response to the first request arrives, ignoring server time?
- Service instances start and stop every few minutes as they autoscale. How do callers find the healthy ones?
- What do you gain, and what do you give up, by terminating TLS at the load balancer?
- A user far from your origin requests a page the CDN has not cached. Why can the CDN still make it faster than going to the origin directly?
- GeoDNS answers each lookup with the address of the nearest region. What are its limits?
- Before a client can send its first HTTPS request, a TCP handshake plus a TLS 1.3 handshake cost _____ round trips. QUIC (HTTP/3) combines them into _____.
- Which problem does HTTP/3 (over QUIC) fix that HTTP/2 still has?
More topics
- Estimation 21 cards
- API design 17 cards
- Caching 21 cards
- Databases 22 cards
- Replication 15 cards
- Sharding 18 cards
- Consistency 19 cards
- Queues 18 cards
- Streaming 18 cards
- Availability 14 cards
- Resilience 16 cards
- Storage 14 cards
- Realtime 15 cards
- Data structures 16 cards
- Security 17 cards
- Observability 18 cards
- Coordination 16 cards