Design Individual and Bulk Merchant Product Updates with Image Uploads
Company: Pinterest
Role: Software Engineer
Category: System Design
Difficulty: hard
Interview Round: Onsite
Design a merchant-facing system that supports updating product attributes individually or in bulk and uploading product images. Explain the APIs, storage, processing flow, and how merchants learn which changes succeeded.
### Constraints
Product count, batch size, image size, update rate, and consistency targets are not specified. State any design assumptions. Preserve both single-item and bulk updates, and treat image upload as a distinct data path that must be coordinated with product metadata.
### Clarifying Questions
- Are attribute updates partial patches or complete replacements?
- Must a bulk request succeed atomically, or may individual items fail independently?
- When should an uploaded image become visible, and are validation or transformations required?
- Can multiple clients update the same product concurrently?
```hint Track the unit of success
A successful upload of bytes does not necessarily mean that the product now references a valid, processed image.
```
### What a Strong Answer Covers
- Merchant authorization, product identity, attribute validation, and concurrency control.
- A bounded single-update path and durable bulk-job processing with item-level results.
- Image storage, validation, lifecycle management, and observable failure handling.
### Follow-up Questions
- How would a merchant retry a partially failed batch without repeating successful work?
- What happens if metadata persistence fails after an image has been uploaded?
Overview: Design merchant product updates, bulk-job results, image upload processing, concurrency control, and recovery from partial failures.
Design Individual and Bulk Merchant Product Updates with Image Uploads
Pinterest
Aug 28, 2026
hardSoftware EngineerOnsiteSystem Design
0
0
Design a merchant-facing system that supports updating product attributes individually or in bulk and uploading product images. Explain the APIs, storage, processing flow, and how merchants learn which changes succeeded.
Constraints
Product count, batch size, image size, update rate, and consistency targets are not specified. State any design assumptions. Preserve both single-item and bulk updates, and treat image upload as a distinct data path that must be coordinated with product metadata.
Clarifying Questions Guidance
Are attribute updates partial patches or complete replacements?
Must a bulk request succeed atomically, or may individual items fail independently?
When should an uploaded image become visible, and are validation or transformations required?
Can multiple clients update the same product concurrently?
What a Strong Answer Covers Guidance
Merchant authorization, product identity, attribute validation, and concurrency control.
A bounded single-update path and durable bulk-job processing with item-level results.
Image storage, validation, lifecycle management, and observable failure handling.
Follow-up Questions Guidance
How would a merchant retry a partially failed batch without repeating successful work?
What happens if metadata persistence fails after an image has been uploaded?