Problem Statement: A Read-Heavy Knowledge Network, Not a Chat App
Frames Quora as an asymmetric read/write knowledge platform where ranking, search, and deduplication dominate the architecture.
Problem statement
Design a Q&A platform where users post questions with topic tags, write answers, upvote or downvote content, follow topics and writers, and consume a personalized feed of relevant Q&As. The product must support question creation with topic tagging, answer threading with votes, reputation or credits on user profiles, full-text and semantic search, duplicate-question suppression, spam moderation, and trending-question caching.
The defining characteristic of this system is asymmetry. A single good answer can be written once and read millions of times over years. Public category signals make this concrete: Quora reports between 300 and 430 million monthly active users depending on the report [[2]][[8]], Stack Overflow serves more than 24 million questions and 35 million answers across 60,000+ tags [[99]], and Twitter-scale feeds push roughly 500 million posts per day through hybrid fan-out pipelines [[104]]. Reads outnumber writes by two to three orders of magnitude, so the architecture is dominated by caching, ranking, and retrieval rather than by transactional write throughput.
Why the problem is distinctive
A messaging backend retries a delivery. A Q&A platform cannot retry truth: once a wrong answer ranks first, millions of readers consume it before anyone notices. The design therefore separates four planes. The content plane owns durable questions, answers, edits, and votes. The knowledge plane owns topics, duplicates, embeddings, and the search index. The distribution plane owns feeds, trending, notifications, and caches. The trust plane owns reputation, moderation, spam, and abuse. A strong interview answer keeps these planes separate so that a ranking model rollout can never corrupt custody of the content ledger, and a moderation decision can never silently rewrite history.
The four architectural planes
- Content plane: durable question and answer aggregates, versioned edits, vote ledger, and author attribution.
- Knowledge plane: topic graph, follow graph, duplicate-question clusters, inverted index, and embedding index.
- Distribution plane: personalized feed assembly, trending detection, notification fan-out, and multi-tier caching.
- Trust plane: reputation scoring, spam filters, rate limits, moderation workflow, and audit evidence.
Public operating baseline versus design assumptions
Public evidence establishes that the category operates at massive scale. Quora's monthly active users are reported in the 300-430 million range [[1]][[5]], Quora published a 400,000-pair duplicate-question dataset and has described Random Forest baselines for duplicate detection [[19]][[25]], and its engineering blog describes embedding search and ML answer ranking as core systems [[73]][[114]]. Stack Overflow demonstrates that a pragmatic SQL-Server-centric architecture with Redis and Elasticsearch can serve hundreds of millions of pageviews on dozens of servers [[46]][[50]]. These are cited public figures, not requirements for our fictional system. For capacity planning this answer explicitly assumes 300 million MAU, 60 million DAU, 40,000 read QPS average with a 3x peak, 400,000 new questions per day, 1.2 million answers per day, and 15 million votes per day. Unless a number is tied to a citation, it is a stated design assumption, target, budget, or illustrative threshold.
Key Highlights
- •Reads outnumber writes by 100x or more; caching and ranking dominate the design.
- •Four planes: content, knowledge, distribution, and trust must not be collapsed into one service.
- •Quora-scale public signals: 300-430M MAU; Stack Overflow 24M questions and 35M answers.
- •A wrong first-ranked answer is a durability problem, not a retry problem.
- •Every uncited scale number in this answer is an explicit design assumption.
Section Rescue Kit
Buzzwords to use:
Safe statements:
- "Let me separate durable content ownership from discovery and distribution before choosing any technology."
- "I will label every uncited number as an assumption before using it in capacity math."