Code Room
System designHardsd-g425
Subject Batch vs streamLevel Senior–Staff~45 minCommon in Distributed systems interviewsIndustries Technology, Software development

Question

Your team maintains a lambda architecture: a streaming layer computes approximate real-time metrics (engagement, revenue) and a separate nightly batch layer recomputes the authoritative numbers, with a serving layer merging both. The pain is doubled logic — every metric is implemented twice (streaming + batch), they drift, and a logic change means two PRs and two reconciliations. Leadership wants to move to a kappa-style single-codebase architecture. Design the migration and the target system, covering reprocessing/replay, correctness equivalence, and what you give up.

What a strong answer looks like

Clarify scale and constraints first. Propose a clean component breakdown, then go deep on the hard parts — data model, bottlenecks, consistency, failure modes — and name the trade-offs you are making.

Narrate your design
Loading whiteboard…
Run or narrate your approach, then ask the coach.