How would you handle large file uploads to object storage from clients?
What they are really testing: Whether you know multipart upload and pre-signed URLs so clients upload directly to the store, instead of proxying large files through your application servers.
A real interview question
How would you handle large file uploads to object storage from clients?
What most people say
drag me
“The client uploads the file to my API, which saves it to object storage.”
Proxying large uploads through your API consumes its bandwidth/memory and bottlenecks at scale. The pattern is a pre-signed URL so the client uploads directly to the store, with multipart upload for large files.
The follow-ups they ask next
What is a pre-signed URL and why is it safer than putting credentials on the client?
A time-limited, scoped URL granting permission to do one operation on one object. The client never gets broad storage credentials, just a narrow, expiring grant, so a leaked URL exposes only that single object for a short window.
Why use multipart upload for large files?
It splits the file into parts uploaded in parallel (faster) and resumable, a failed part is retried alone instead of restarting the whole upload. Essential for large files over unreliable connections.
What the interviewer is listening for
- Direct-to-storage via pre-signed URLs, not proxying
- Multipart upload for large/resumable
- Constrains URL + validates on completion
What sinks the answer
- Proxies uploads through the API
- No pre-signed URL / puts creds on client
- Unaware of multipart upload
If you genuinely do not know
Say this instead of freezing. Reasoning out loud from what you do know beats silence every single time, and a good interviewer is listening for exactly that.
“Do not [proxy large uploads through app servers, it wastes bandwidth/memory and bottlenecks]. Instead [the app issues a time-limited, scoped pre-signed URL and the client uploads directly to object storage, no proxying, no broad creds on the client]. For large files [use multipart upload, parallel + resumable parts]. [Constrain the URL (size/type/expiry) and validate on completion via an event].”
Keep going with storage
Foundation
What is the difference between durability and availability for storage?
Foundation
What is the difference between backup and replication, and why is replication not a backup?
Junior
Explain the difference between object, block, and file storage, and give one good use case for each.
Junior
How does object storage achieve such high durability?
Junior
What consistency guarantees does object storage give, and why does it matter?
Junior
For block storage, what is the difference between IOPS and throughput, and how does it affect volume choice?
Knowing the answer is not the same as recalling it under pressure
Sign in to send the questions you fumble to spaced recall, so they come back right before you would forget them, and learn the concepts behind them with hands-on labs.
Start free