Top 30 System Design Interview Questions and Answers
30 multiple-choice questions on System Design, drawn from 30 bites out of the 81 tagged System Design on Tezvyn. Answer them here or read straight down. Every question carries the correct option, why it is correct, and a link to the bite it came from.
30 questions. Pick an answer, or open “Show the answer” to read it.
Answers are graded in your browser. Nothing is saved, and no XP or streak is earned here. The app keeps score.
Question 1 of 30
Which approach best minimizes interaction bias across concurrent experiments while preserving platform velocity?
Show the answer
Answer: d · Use orthogonal layers with reservation amounts, restricting mutual exclusion to tightly coupled features
Orthogonal layers isolate independent experiments via separate randomization units and reservation amounts prevent layer starvation, while mutual exclusion is reserved for high-risk features because global use destroys velocity. The most tempting distractor, adding post-hoc interaction terms, fails because clean causal inference requires designed allocation—regression cannot fix unstructured overlaps after the fact.
Read the full bite: How do you design allocation logic to minimize concurrent A/B test interactions?
Question 2 of 30
When scoping an MLOps platform for a mid-sized company with 5-15 engineers, which approach best demonstrates mature build-vs-buy reasoning?
Show the answer
Answer: a · Prioritize data governance, feature store, model registry, CI/CD/CT, and monitoring before the serving layer; buy commodity tools like orchestration and monitoring while investing engineering effort only in proprietary feature engineering and model architectures.
This option correctly sequences foundational components before serving and applies the buy-commodity, build-differentiator rule. Option C is tempting because avoiding vendor lock-in feels engineering-savvy, but maintaining a custom feature store and registry would consume two to three full-time engineers and ignores total cost of ownership.
Question 3 of 30
A model is trained on batch aggregates computed in Spark and served via a Python microservice using real-time streams. What is the most robust way to prevent training-serving skew?
Show the answer
Answer: b · Use a shared transformation library for both paths, serve from a versioned feature store, and log features at training time for replay validation
A shared transformation library and versioned feature store guarantee both paths execute identical logic from a single source of truth. Relying on manual code reviews is insufficient because separate implementations inevitably diverge under operational pressure.
Question 4 of 30
What is the primary advantage of using asynchronous child processes in Node.js?
Show the answer
Answer: d · To execute CPU-bound tasks without blocking the main event loop.
The card explicitly states that child processes solve the problem of CPU-intensive operations blocking the single-threaded event loop by offloading heavy work. Option B describes the purpose of worker_threads, not child processes.
Read the full bite: Node.js Child Processes: Escaping the Main Thread
Question 5 of 30
Which evaluation sequence best balances accuracy, latency, and robustness when personalizing a homepage hero by industry in real time?
Show the answer
Answer: b · Check the user profile industry first, then enrich unknown users via IP or domain, then infer from behavior, and serve a default hero if signals are absent or time out.
Option B follows the highest-confidence-first hierarchy (explicit short-circuits implicit, which short-circuits inference) and includes a critical fallback for latency or missing data. Option C exemplifies the common anti-pattern of over-engineering with deep learning and failing to define a default state.
Read the full bite: Design backend logic for personalized hero by industry
Question 6 of 30
When handling a GDPR erasure request, what is the correct way to update aggregated analytics dashboards derived from the user's data?
Show the answer
Answer: d · Reprocess the underlying data pipeline to exclude the user and rebuild all affected metrics
The card states that aggregated dashboards must be fixed by reprocessing the underlying pipeline or using differential privacy, because simple subtraction fails for complex metrics like averages and funnels. Option B represents the common misconception of manually adjusting aggregates, which does not reliably remove the user's influence from derived metrics.
Read the full bite: How do you fulfill a GDPR erasure request across data stores?
Question 7 of 30
When designing a client-side event batching system, why is navigator.sendBeacon() preferred for dispatching final events during page unload?
Show the answer
Answer: a · It is specifically designed to send data asynchronously and non-blocking, ensuring the request is sent even after the page has unloaded without freezing the UI.
navigator.sendBeacon() is ideal for unload because it's asynchronous and non-blocking, ensuring data is sent without freezing the UI or being canceled by page unload. Option C is incorrect because sendBeacon is a fire-and-forget mechanism and does not provide a callback for server receipt.
Read the full bite: Design a client-side event batching system for a high-traffic app
Question 8 of 30
Why is pure collaborative filtering a poor choice for a brand-new user on a news site?
Show the answer
Answer: a · It has no interaction history for that user to find similar users
Collaborative filtering needs a user's behavior to match them to similar users, which a brand-new user lacks, causing the cold-start problem. Content-based methods sidestep this by using article features and the user's very first reads.
Question 9 of 30
A Cassandra feed table partitioned by user_id makes feed reads fast. What is the main cost this design imposes compared to a relational read-time join?
Show the answer
Answer: b · Each new post must be written into every follower's partition
Fan-out on write copies each post into all followers' partitions, creating heavy write amplification, which is the trade-off for cheap single-partition reads. Cassandra avoids cross-partition joins and favors availability over strong consistency, so those options are wrong.
Read the full bite: Relational versus wide-column for a news feed
Question 10 of 30
Why is it architecturally necessary to keep batch historical features in a KV store while maintaining session-level streaming features in a separate in-memory cache?
Show the answer
Answer: a · The batch path produces terabyte-scale pre-aggregated profiles that are updated infrequently, while the streaming path handles high-velocity session events with natural TTL decay; a single storage system cannot optimize for both access patterns under the 50ms SLA.
The card states that batch and streaming data have fundamentally different latency, volume, and freshness requirements, so one storage system cannot handle both optimally without breaking the sub-50ms SLA. Distractor A sounds plausible because the follow-ups mention exactly-once semantics for billing, but the card never cites billing consistency as the reason for the dual-store split.
Read the full bite: Design a sub-50ms real-time bidding feature pipeline
Question 11 of 30
When architecting a global notification holdout, which combination of design choices preserves longitudinal measurement while ensuring critical transactional messages are never suppressed?
Show the answer
Answer: a · Hash the user ID with a holdout salt, persist the assignment, evaluate at decision time in the notification service, and bypass the check for transactional messages
Deterministic sticky bucketing by user ID ensures consistent exclusion across sessions for valid longitudinal measurement, while namespace separation guarantees transactional messages bypass the holdout entirely. Option C is tempting because evaluation at send time is correct, but per-request random assignment destroys statistical validity by causing users to bounce in and out of the holdout.
Read the full bite: How do you architect a global notification holdback group?
Question 12 of 30
Which layered approach best secures a multi-channel notification templating engine?
Show the answer
Answer: b · Formal AST grammar with context-aware auto-escaping and sandboxed rendering with resource limits
Option B is correct because defense-in-depth requires an AST whitelist to prevent injection, context-aware escaping tailored to each output channel, and sandboxed execution with resource limits. Option D is tempting because formal parsing is correct, but output-side HTML sanitization alone fails for SMS or JSON contexts and lacks sandboxing against DoS.
Read the full bite: Design a secure templating engine for user notifications
Question 13 of 30
When would you choose an online feature store over an offline store for a production system?
Show the answer
Answer: d · When you need millisecond-scale lookups for real-time inference on fresh data
Online feature stores are optimized for millisecond-scale lookups and real-time serving, while offline stores handle batch training and large historical datasets. Treating the offline store as a slower interchangeable backup or using a single database ignores the latency and access-pattern trade-offs that make the architectures distinct.
Read the full bite: Online vs offline feature store architecture and use cases
Question 14 of 30
During a viral traffic spike, how should the pipeline protect ClickHouse from overload while keeping latency under 30 seconds?
Show the answer
Answer: a · Absorb the burst in Kafka partitions and apply backpressure upstream through Flink
Kafka serves as a durable retention buffer that absorbs traffic spikes and applies backpressure upstream, shielding ClickHouse from write overload while preserving the sub-30s latency budget. Distractor C is tempting but wrong because relying solely on instantaneous OLAP auto-scaling is operationally unrealistic and contradicts the architecture's explicit use of Kafka to decouple ingestion from querying.
Read the full bite: Design a near real-time user interaction tracking and analytics system
Question 15 of 30
Which approach best detects training-serving skew for a critical numerical feature requiring sub-hour detection?
Show the answer
Answer: b · Compute distribution divergence metrics like PSI over sliding windows, with severity-based tiered alerting and minimum sample size guards
The card emphasizes comparing aggregate distributions via PSI or KS over sliding windows, not raw values, and advocates tiered alerts with sample size checks. Option D is tempting because row-level validation seems rigorous, but it cannot detect population drift and contradicts the card's red flag of comparing individual values instead of distributions.
Read the full bite: Design a system to detect training-serving skew for a numerical feature
Question 16 of 30
In the two-table versioning design, what is the main benefit of storing current_version_id in the articles table?
Show the answer
Answer: c · It lets the application fetch the latest article state without scanning the full version history
The correct answer is C because the pointer provides immediate access to the current snapshot, avoiding costly history scans. Distractor B is wrong since the design intentionally stores full snapshots rather than relying on diff reconstruction for lookups.
Read the full bite: Design a content versioning system with history and revert
Question 17 of 30
Three mandatory backends each have 99.95% availability. Why can the user-facing service not also reach 99.95% from these alone?
Show the answer
Answer: c · Because availabilities of serial dependencies multiply, yielding a lower combined number
For required dependencies in series the availabilities multiply, so 99.95% cubed is about 99.85%, already below target. Each critical dependency must be stricter, or you add redundancy and graceful degradation to break the serial chain.
Question 18 of 30
A platform team advocates for a declarative feature platform to reduce boilerplate. Which risk best illustrates why this choice could fail without the right organizational maturity?
Show the answer
Answer: b · The team must own the opinionated abstractions for checkpointing, schema evolution, and exactly-once semantics, requiring deep infrastructure expertise.
Declarative platforms centralize ownership of checkpoints, schema evolution, and exactly-once semantics within the platform team, so adopting one without that infrastructure maturity fails; option A describes imperative platforms, and D wrongly assumes declarative means no-code.
Read the full bite: Argue for declarative or imperative feature platforms with trade-offs
Question 19 of 30
Which architectural approach best balances real-time choice-paralysis detection with user autonomy and low latency?
Show the answer
Answer: a · Use a streaming feature pipeline with a lightweight contextual bandit at the edge, include one-click reversion, and cap changes per session
This option combines low-latency behavioral inference via a lightweight contextual bandit with critical safety guardrails like one-click reversion and change-capping. Option D is tempting because fast response feels user-friendly, but triggering on a single signal violates the minimum-observations guardrail and risks interface churn.
Question 20 of 30
When competing against a rival with a massive proprietary dataset, which architectural approach best transforms a data disadvantage into a sustainable system-level advantage?
Show the answer
Answer: b · Designing a real-time federated loop that leverages non-IID client data and privacy-preserving constraints as structural moats
The correct answer captures the advanced strategy of escaping a zero-sum data race by architecting for velocity, decentralization, and regulatory moats rather than volume parity. Option C is a tempting distractor because it uses federated terminology, yet centralizing raw data backups undermines the privacy guarantee and defensible architecture the interviewer seeks.
Question 21 of 30
Which architecture best detects training-serving skew without impacting serving latency?
Show the answer
Answer: b · Versioned per-feature statistics in the model registry, asynchronous inference feature logging, and periodic statistical tests like PSI or KS against baselines
The correct design uses the model registry as a source of truth for immutable training statistics and asynchronously logs production feature vectors to compare distributions via PSI or KS without adding P99 latency. Option A is tempting because circuit breaking is a valid severe response, but performing distribution checks synchronously on every request would directly violate the latency constraint that the logging layer is meant to avoid.
Question 22 of 30
In an SEO content gap pipeline, which operation and key set correctly isolates competitor keywords your domain does not rank for?
Show the answer
Answer: b · Left anti-join on keyword, geography, and device, filtering for competitor rank in the top 20 and your domain absent or below position 100
A left anti-join on keyword, geography, and device with rank filters correctly finds competitor keywords you do not own. Option C is tempting because it compares rankings, but an inner join on keyword text alone ignores geo and device while returning shared terms rather than true gaps.
Read the full bite: Design a content gap tool: data sources and core logic
Question 23 of 30
What best describes the relationship between the retriever and generator in a basic RAG system?
Show the answer
Answer: b · The retriever searches an external index and passes results to the generator for synthesis
The retriever fetches relevant passages from an indexed knowledge base and the generator synthesizes an answer using both the original query and that retrieved context. Option A is tempting but wrong because it confuses RAG with fine-tuning: external documents are never baked into the model weights.
Read the full bite: Describe a basic RAG architecture and its two main components
Question 24 of 30
When building a production-grade cannibalization detector, which signal pattern best identifies active intent overlap requiring intervention?
Show the answer
Answer: d · Search Console data shows multiple domain URLs appearing for semantically clustered queries, swapping positions over time, with combined CTR below expectation for their average rank
The correct answer captures the three-part production signal: semantic query clustering, temporal URL swapping, and combined CTR underperformance relative to average rank. Option C is tempting because it cites rank depth, but static positions far apart indicate poor targeting rather than active cannibalization.
Read the full bite: Design a system to detect keyword cannibalization
Question 25 of 30
When engineering a programmatic SEO system to generate thousands of pages without duplication, which approach addresses the root cause at the architecture layer?
Show the answer
Answer: a · Build modular content blocks assembled by entity attributes, apply noindex to thin pages, and continuously audit similarity scores
Modular blocks assembled from entity attributes ensure uniqueness at the data architecture layer, while noindex and similarity audits act as safety nets. Option C is tempting because canonicals and clean URLs are valid guardrails, but using them to paper over a single rigid template fails to produce meaningfully distinct content at scale.
Question 26 of 30
In the described notebook platform, what happens after 30 minutes of user inactivity to optimize cost while preserving work?
Show the answer
Answer: c · An idle manager scales the notebook Pod to zero, saving state to the persistent volume claim
The card describes an idle manager that scales the Pod to zero after a timeout while saving state to the PVC, avoiding compute costs without destroying user data. Option D reflects a VM-centric misconception that ignores the Kubernetes-native design, while D incorrectly suggests destroying the namespace rather than suspending the Pod.
Read the full bite: Design on-demand containerized dev environments for data scientists
Question 27 of 30
In a production RAG pipeline, which optimization best demonstrates systems-level thinking about retrieval latency?
Show the answer
Answer: d · Tune HNSW index parameters and implement hybrid dense-plus-sparse retrieval with BM25 pruning
Tuning HNSW and adding BM25 hybrid pruning directly addresses vector search as a tunable distributed component rather than a black box. Option A is tempting because scaling GPUs is a common reflex, but it ignores that retrieval and embedding can consume 30 to 50 percent of total latency while failing to address index configuration or chunking strategy.
Read the full bite: Identify RAG latency bottlenecks and propose optimizations
Question 28 of 30
Which scenario best illustrates the primary benefit of using a webhook?
Show the answer
Answer: a · A payment gateway automatically notifying an e-commerce platform upon successful transaction completion.
The primary benefit of webhooks is enabling real-time, event-driven communication by having a service notify your application when an event occurs, avoiding inefficient polling. Option A exemplifies this by showing a payment gateway proactively notifying an e-commerce platform, whereas other options describe polling, synchronous requests, or batch processing.
Question 29 of 30
Why is a hybrid query reformulation pipeline—using both rules and an LLM—preferred over an LLM-only rewriter in a multi-turn RAG system?
Show the answer
Answer: b · Rules handle high-volume simple references with low latency, while the LLM fallback handles complex coreference without rewriting every query
The card describes LLM rewriting as effective for coreference resolution but advocates a hybrid to route common cases to fast rule-based matching and reserve LLM calls for complex references, managing latency and cost. Option C is tempting but wrong because the card explicitly credits LLMs with resolving pronouns; the hybrid exists for efficiency, not because LLMs lack capability.
Read the full bite: How would you architect a multi-turn conversational RAG system?
Question 30 of 30
What makes standard post-hoc hypothesis testing invalid after running a multi-armed bandit campaign?
Show the answer
Answer: c · Adaptive allocation shifts traffic toward leading arms, biasing sample sizes and violating fixed-sample assumptions
The card states that MAB's adaptive traffic allocation corrupts the fixed-sample assumptions required for classical hypothesis testing, producing biased lift estimates. Option D is tempting because it mentions fixed samples, but the exploration floor is an operational guardrail, not the source of the statistical bias.
Read the full bite: Architect a real-time multi-armed bandit and compare trade-offs to A/B testing
Could you explain these out loud?
That is what an interview actually tests. Tezvyn gives you questions like these with what the interviewer is really checking, the answer that lands, and the mistake that ends the conversation, in the four minutes before your next meeting.
The iPhone app is on the way
We are building it. Until it lands, nothing here is held back from you: every interview card, your saved cards, streaks and the job board all work in Safari, plus hundreds of free practice quizzes of thirty questions each. Sign in and it all carries over to the app the day it arrives.
Want it as an icon? Tap Share at the bottom of Safari, then Add to Home Screen. It opens full screen and the cards you have read stay available offline.