Daily iOS
iOS system design

Upload queue design

A user picks 50 photos to upload, and they all have to get there eventually, even if they close the app or lose the network. How would you design the upload queue? Cover retry, resume, ordering, progress display, and duplicate prevention.

How would an interviewer hear this answer? You'll see whether they'd move on, dig in, or say no, and which sentences would trip you up. Your score doesn't change.
See the short answer

Persist upload jobs in a DB as a state machine and upload from files with a background URLSession. When the app relaunches, collect results through the session delegate, make requests idempotent with a client-generated ID, and handle failures with exponential backoff and resume on connectivity recovery.

Share a question