I started with the DNS lookup and worked my way through TCP handshake, request headers, server processing, response codes.
Start with a high-level overview of the journey from client to server and back, then dive into key layers such as DNS, TCP, HTTP, and server processing. Emphasize trade-offs and design decisions at each stage, showing depth without getting lost in minutiae.
Pro tip: Tailor your answer to Google's scale by mentioning how their infrastructure (e.g., load balancers, caching, CDNs) optimizes each step, and be ready to discuss failure modes and mitigations.
Describe how the user agent (e.g., browser) constructs an HTTP request, including method, URL, headers, and body. Mention URL parsing and DNS resolution to translate the domain to an IP address.
Explain TCP handshake (SYN, SYN-ACK, ACK) and optionally TLS handshake for HTTPS. Highlight connection reuse (keep-alive) and HTTP/2 multiplexing for efficiency.
Cover how the request travels through network layers, load balancers, and reaches the server. Describe server-side handling: routing, middleware, business logic, and interaction with databases or microservices.
Explain how the server generates an HTTP response (status code, headers, body) and sends it back. Mention client-side processing: parsing, rendering, and executing JavaScript.
Bring up caching (browser, CDN, server), compression, persistent connections, and protocol choices (HTTP/1.1 vs HTTP/2 vs HTTP/3). Discuss trade-offs like latency vs throughput, and how Google's infrastructure addresses them.
AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.