Skip to content
RED SAGSkills
hardFull Stack Developer interview question

Customers need to import CSV files with up to two million rows into your app. Design the feature end to end.

What the interviewer wants to hear

  • Upload directly to object storage with a presigned URL
  • Process asynchronously with a job queue and workers
  • Stream and parse in batches instead of loading the whole file
  • Validate rows, collect errors and make imports resumable and idempotent
  • Show progress and results in the UI
  • Use bulk inserts or COPY and watch database load

Model answer

A two-million-row file cannot be handled inside one HTTP request. The browser asks the API for a presigned URL and uploads directly to S3, then the API creates an import record with status QUEUED and enqueues a job. A worker streams the file from storage, parses it row by row and processes batches of, say, 5,000 rows, so memory stays flat. Each row is validated with the same schema the API uses; bad rows are written to an error report instead of failing the whole import. Batches are written with bulk inserts or PostgreSQL COPY into a staging table, then merged with upserts keyed on a natural ID, which makes retries idempotent and lets a crashed job resume from its last checkpoint. The worker updates progress on the import record, and the UI polls or subscribes to show it, finishing with a summary and downloadable error file.

Can you answer it under time pressure?

Take a timed hard round and get scored on every answer.

Start mock interview

More hard Full Stack Developer questions