What makes a change cheap or expensive. Parnas’s information hiding, rebuilt in Go and measured; coupling and cohesion as first defined in 1974; deep and shallow modules; DRY as knowledge; and how C#, Java, Go and Rust enforce a module boundary.
A repeatable method for any system design, at work or in an interview. Clarify requirements, estimate, define the API and data, draw the high-level design, go deep on the risky part, and name the trade-offs, worked through a ticket on-sale on PostgreSQL.
An API is a contract you can’t easily take back. Learn HTTP method and status semantics, Problem Details errors, ETags against lost updates, idempotency keys tested on PostgreSQL, offset vs cursor pagination measured, and when REST, gRPC or GraphQL fits.
TCP gives order and reliability at a cost; UDP gives neither. Learn head-of-line blocking, slow start, HTTP/1.1 vs HTTP/2 vs HTTP/3 measured on a lossy network, connection pools and ports, and when to use polling, SSE or WebSockets.
Fast” and “reliable” can’t be designed for; p99 under 300 ms and 99.9% of requests succeeding can. Learn percentiles, tail latency, why busy servers get slow, availability nines, SLOs, and back-of-the-envelope estimates.
Opening a web page takes a DNS lookup, a TCP handshake, a TLS handshake, and a trip through load balancers, caches, app servers and databases. Follow one real request, measured step by step, and see where the time goes.