AI & Technical question

Design a file download API. A client will send the URL of the file they want to download.

Practice this question out loud. An AI interviewer asks it, follows up like a real interviewer would, and scores your answer. Type or speak.

Start a mock interview on this question · Mock interview from a job description

What this question tests

Tests technical system design fundamentals: API contract, handling large files, and reliability under failure.

How to approach it

  1. Clarify requirements: file size range, whether resumable downloads matter, expected concurrency.
  2. Define the API contract: an endpoint accepting a file URL, returning a job ID or a redirect and stream.
  3. Decide sync versus async: for large files, return a job ID immediately, let the client poll or use a webhook.
  4. Address reliability: support range requests so downloads resume after a dropped connection, validate via checksum.
  5. Address security: validate the source URL against an allowlist or scan before serving it back.
  6. Define quality measurement: download success rate, average latency, resumption success rate.

What a strong answer includes

Common mistakes

Likely follow-up questions

More ai & technical questions

More questions from Amazon

Learn the skill behind it

Chapters of the AI PM course that teach what this question tests.

Preparing for a specific role?

Book summaries for this kind of question

Browse all 4,000+ questions in the bank