PracHub
QuestionsPremiumCoachesLearningGuidesInterview Prep
|Home/System Design/Amazon

Design a GitHub-like user community

Last updated: Mar 29, 2026

Quick Overview

This question evaluates backend system design competencies for a developer-focused social platform, including API design, data modeling, feed generation strategies, scalability, consistency models, latency optimization, and abuse mitigation.

  • medium
  • Amazon
  • System Design
  • Software Engineer

Design a GitHub-like user community

Company: Amazon

Role: Software Engineer

Category: System Design

Difficulty: medium

Interview Round: Onsite

## System design: GitHub-like user community Design the backend for a “developer community” product inspired by GitHub’s social layer. ### Core requirements - Users can **sign up/login** and manage a profile. - Users can **follow/unfollow** other users. - Users can create **posts** (text + optional links), and other users can **comment** and **like**. - Each user has a **home feed** showing recent posts from people they follow (reverse-chronological is fine). - Basic **notifications**: someone followed you / commented on your post. ### Non-functional requirements - High read volume (feed reads dominate). Assume a large-scale system; discuss how you would handle high TPS. - Low latency for feed reads (p95 target you choose). - Reasonable consistency (define what must be strongly consistent vs eventually consistent). - Prevent obvious abuse (rate limiting / spam), at least at a high level. ### What to deliver - APIs (high-level request/response shapes are enough). - Data model (tables/collections, key indexes). - Architecture (services, storage, cache, queues/streams). - Feed generation approach (fan-out on write vs fan-out on read), and trade-offs. - Scaling and reliability (sharding/partitioning, replication, backpressure, failure modes).

Quick Answer: This question evaluates backend system design competencies for a developer-focused social platform, including API design, data modeling, feed generation strategies, scalability, consistency models, latency optimization, and abuse mitigation.

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 replicated cloud storage service - Amazon (hard)
Amazon logo
Amazon
Sep 5, 2025, 12:00 AM
Software Engineer
Onsite
System Design
1
0

System design: GitHub-like user community

Design the backend for a “developer community” product inspired by GitHub’s social layer.

Core requirements

  • Users can sign up/login and manage a profile.
  • Users can follow/unfollow other users.
  • Users can create posts (text + optional links), and other users can comment and like .
  • Each user has a home feed showing recent posts from people they follow (reverse-chronological is fine).
  • Basic notifications : someone followed you / commented on your post.

Non-functional requirements

  • High read volume (feed reads dominate). Assume a large-scale system; discuss how you would handle high TPS.
  • Low latency for feed reads (p95 target you choose).
  • Reasonable consistency (define what must be strongly consistent vs eventually consistent).
  • Prevent obvious abuse (rate limiting / spam), at least at a high level.

What to deliver

  • APIs (high-level request/response shapes are enough).
  • Data model (tables/collections, key indexes).
  • Architecture (services, storage, cache, queues/streams).
  • Feed generation approach (fan-out on write vs fan-out on read), and trade-offs.
  • Scaling and reliability (sharding/partitioning, replication, backpressure, failure modes).

Solution

Show

Submit Your Answer

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,500+ 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.