PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Amazon

Design a scalable image-based social network

Last updated: Mar 29, 2026

Quick Overview

This question evaluates a candidate's ability to design large-scale backend architectures, covering distributed systems, storage and media handling, caching and CDN strategies, API design, data consistency, and scalability under high read/write workloads.

  • medium
  • Amazon
  • System Design
  • Software Engineer

Design a scalable image-based social network

Company: Amazon

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Onsite

Design the backend system for a social networking website primarily focused on sharing images (similar in spirit to an image-centric social app). Users should be able to: - Sign up, log in, and manage a profile. - Upload images (with optional captions). - Follow/unfollow other users. - View a **feed** of images posted by accounts they follow. - Like and comment on images. The interviewer specifically cares about how your design will handle **foreseeable, large-scale user growth**: potentially tens of millions of users, high write traffic for uploads and interactions, and very high read traffic for feeds. **Tasks** 1. Clarify and state the key **functional** and **non-functional** requirements (e.g., latency, availability, consistency, durability). 2. Propose a **high-level architecture**, including major components/services (e.g., API gateway, user service, post/media service, feed service, databases, cache, object storage, CDN). 3. Design how **image upload and retrieval** works end-to-end. 4. Design how a user's **home feed** is generated and served efficiently at scale. 5. Explain how you will **scale the system** as the number of users and operations increases, including: - Horizontal scaling of stateless services. - Database sharding/replication strategies. - Caching and CDN usage. - Asynchronous processing and message queues. 6. Discuss key **trade-offs** (e.g., push vs. pull feed generation, consistency vs. latency) and how your choices handle high load and growth. You can assume a cloud environment (object storage, managed databases, load balancers, etc.) is available.

Quick Answer: This question evaluates a candidate's ability to design large-scale backend architectures, covering distributed systems, storage and media handling, caching and CDN strategies, API design, data consistency, and scalability under high read/write workloads.

Related Interview Questions

  • Design a Log Collection System - Amazon (medium)
  • Design Human Avoidance for Warehouse Robots - Amazon (medium)
  • Design a High-Availability Load Balancer - Amazon (hard)
  • Design a Ride-Hailing Matching System - Amazon (medium)
  • Design a cloud database write path and recovery - Amazon (hard)
Amazon logo
Amazon
Oct 31, 2025, 12:00 AM
Software Engineer
Onsite
System Design
4
0
Loading...

Design the backend system for a social networking website primarily focused on sharing images (similar in spirit to an image-centric social app).

Users should be able to:

  • Sign up, log in, and manage a profile.
  • Upload images (with optional captions).
  • Follow/unfollow other users.
  • View a feed of images posted by accounts they follow.
  • Like and comment on images.

The interviewer specifically cares about how your design will handle foreseeable, large-scale user growth: potentially tens of millions of users, high write traffic for uploads and interactions, and very high read traffic for feeds.

Tasks

  1. Clarify and state the key functional and non-functional requirements (e.g., latency, availability, consistency, durability).
  2. Propose a high-level architecture , including major components/services (e.g., API gateway, user service, post/media service, feed service, databases, cache, object storage, CDN).
  3. Design how image upload and retrieval works end-to-end.
  4. Design how a user's home feed is generated and served efficiently at scale.
  5. Explain how you will scale the system as the number of users and operations increases, including:
    • Horizontal scaling of stateless services.
    • Database sharding/replication strategies.
    • Caching and CDN usage.
    • Asynchronous processing and message queues.
  6. Discuss key trade-offs (e.g., push vs. pull feed generation, consistency vs. latency) and how your choices handle high load and growth.

You can assume a cloud environment (object storage, managed databases, load balancers, etc.) is available.

Solution

Show

Submit Your Answer to Earn 20XP

Sign in to leave a comment

Loading comments...

Browse More Questions

More System Design•More Amazon•More Software Engineer•Amazon Software Engineer•Amazon System Design•Software Engineer System Design
PracHub

Master your tech interviews with 8,000+ real questions from top companies.

Product

  • Questions
  • Learning Tracks
  • Interview Guides
  • Resources
  • Premium
  • For Universities
  • Student Access

Browse

  • By Company
  • By Role
  • By Category
  • Topic Hubs
  • SQL Questions
  • Compare Platforms
  • Discord Community

Support

  • support@prachub.com
  • (916) 541-4762

Legal

  • Privacy Policy
  • Terms of Service
  • About Us

© 2026 PracHub. All rights reserved.