Code Room
System designMedium
Question
Design a CSV report generator for a SaaS dashboard. A user clicks 'export', and the system produces a CSV of their data (could be a few rows or up to a few hundred thousand) and lets them download it. Small reports should feel instant; large ones can take a while. Describe how you generate the file and deliver it to the user without timing out the web request.
What a strong answer looks like
Clarify scale and constraints first. Propose a clean component breakdown, then go deep on the hard parts — data model, bottlenecks, consistency, failure modes — and name the trade-offs you are making.
Learn the concepts
Loading whiteboard…
Run or narrate your approach, then ask the coach.