hardSystem Design

How would you design an analytics/metrics pipeline?

523 views
01

Understand the problem

Outline a data pipeline.

analyticspipeline
02

Attempt it yourself

Sketch your approach before reading the solution — that's what interviews test.

Stuck? AI Nudge Available

Get a conceptual hint to guide your logic without spoiling the final implementation.

03

Study the solution

The solution is waiting

Give it an honest attempt first — then compare your thinking with the full walkthrough.

04

Read the code

Tumbling-window aggregation
Run Playground
from collections import defaultdict

# (timestamp_seconds, metric) event stream
events = [
    (0, "page_view"), (5, "page_view"), (61, "page_view"),
    (62, "click"), (119, "page_view"),
]
WINDOW = 60   # seconds per tumbling window

agg = defaultdict(int)
for ts, metric in events:
    window = ts // WINDOW                 # bucket the event into its window
    agg[(window, metric)] += 1

for (window, metric), count in sorted(agg.items()):
    print("minute", window, metric, "=", count)
05

Join the discussion

Discussion (0)

Sign in to join the discussion.

No responses yet. Be the first to share what you think.