Skip to content
tezvyn:

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.

  1. 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?

  2. 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.

    Read the full bite: Design an MLOps platform for a mid-sized company: components and build-vs-buy trade-offs

  3. 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.

    Read the full bite: How do you guarantee identical feature engineering for training and real-time inference?

  4. 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

  5. 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

  6. 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?

  7. 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

  8. 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.

    Read the full bite: Design a next-best-article recommender

  9. 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

  10. 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

  11. 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?

  12. 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

  13. 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

  14. 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

  15. 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

  16. 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

  17. 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.

    Read the full bite: Setting SLOs across a dependency chain

  18. 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

  19. 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.

    Read the full bite: Design a system that detects choice paralysis and dynamically simplifies the interface

  20. 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.

    Read the full bite: How would you design architecture to sidestep a competitor's proprietary dataset?

  21. 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.

    Read the full bite: How would you design a system to detect training-serving skew using model registry metadata?

  22. 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

  23. 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

  24. 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

  25. 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.

    Read the full bite: How would you engineer pSEO templating and data integration to prevent duplication?

  26. 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

  27. 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

  28. 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.

    Read the full bite: Webhooks: Don't Call Us, We'll Call You

  29. 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?

  30. 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.

Get it on Google PlayiPhone app coming soon