Externally Sort a 500 GB CSV by One Column with 16 GB of RAM
Company: Microsoft
Role: Software Engineer
Category: System Design
Difficulty: medium
Interview Round: Onsite
Quick Answer: This question evaluates a candidate's ability to design an external merge sort for data far larger than available memory, a core systems design skill. It tests reasoning about chunking, k-way merging, I/O bottlenecks, and when a database or distributed engine is preferable to a hand-rolled solution. This is a practical systems design scenario commonly used to assess algorithmic and infrastructure trade-off thinking.