Systems Fundamentals Quickfire (Onsite Software Engineer)
Answer concisely but precisely. Use diagrams or bullets if it helps.
-
Processes, Threads, and Context Switching
-
What is the difference between a process and a thread?
-
What costs are involved in a context switch?
-
Concurrency vs. Parallelism
-
Contrast concurrency and parallelism.
-
Describe one common concurrency bug and a mitigation strategy.
-
TCP vs. UDP; Flow Control vs. Congestion Control
-
Compare TCP and UDP and give typical scenarios for each.
-
Briefly explain TCP flow control and congestion control.
-
From URL to Page Render
-
From entering a URL to the page rendering, outline the major steps, including: DNS resolution; TCP/TLS handshake; HTTP request/response; and the browser’s rendering pipeline.
Assume a modern browser and OS; note any meaningful variants (e.g., HTTP/2 vs. HTTP/3) where relevant.