Katkat

Explain OS and networking basics

CitiSoftware Engineer · Onsite

Last updated

This question evaluates a candidate's understanding of operating system and networking fundamentals, covering processes, threads and context switching, concurrency versus parallelism, TCP/UDP and flow versus congestion control, and the end-to-end web request and browser rendering pipeline.

Answer this systems fundamentals quickfire: What is the difference between a process and a thread, and what costs are involved in context switching? Contrast concurrency and parallelism and describe one common concurrency bug and a mitigation. Compare TCP and UDP and give scenarios for each; briefly explain flow control and congestion control. From entering a URL to a page rendering, outline the major steps (DNS, TCP/TLS handshake, HTTP request/response, and rendering pipeline).