InterviewStack.io LogoInterviewStack.io

Real-Time and Streaming System Design Questions

Designing low-latency, always-on systems: real-time communication (WebSockets, long-polling, server-sent events), presence and pub/sub fan-out, live streaming and video delivery, and real-time collaboration. Covers latency budgets, connection scaling, and delivering ordered updates to many concurrent clients. The design surface for chat, feeds, streaming, and collaborative apps.

MediumSystem Design
51 practiced

Design a backpressure and buffering strategy for an event ingestion service that receives 200k events/s but can only process 50k/s downstream. Describe queueing choices (durable vs in-memory), partitioning to parallelize processing, throttling vs dropping policies, and how to signal upstream clients to slow down. Include recovery plan for catching up.

MediumSystem Design
78 practiced

Design a data ingestion architecture to reliably handle 1 million events per second peak, delivering data into downstream analytics stores with <5s tail latency. Specify high-level components (ingress, durable buffer, partitioning, consumers), buffering strategies, ordering guarantees, and failure/retry approaches in a cloud environment.

HardSystem Design
49 practiced

Propose an end-to-end architecture that provides exactly-once semantics for a streaming pipeline: producers -> message broker -> stream processor -> analytical store. Explain mechanisms at each stage (idempotent producers, broker-side transactions, processor checkpoints, transactional/atomic sinks), the performance and complexity costs, and a testing plan to validate end-to-end correctness.

HardSystem Design
93 practiced

Design a global deduplication service that can accept 200k events/sec across three regions and remove duplicates by event_id within a time window, using bounded memory and minimal false negatives. Discuss algorithms and data structures (Bloom filters, time-windowed stores), cross-region coordination, eventual reconciliation, and recovery after partial outages.

EasyTechnical
56 practiced

Explain idempotency and why it's important for data ingestion APIs. Describe two practical patterns to achieve idempotent writes: (1) client-provided idempotency keys and (2) deterministic object naming (e.g., write with a unique key in S3). Discuss trade-offs for storage, latency, and complexity for each pattern and mention GC/cleanup concerns.

Unlock Full Question Bank

Get access to all 6 Real-Time and Streaming System Design interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.