This question evaluates a candidate's ability to design scalable, reliable event ingestion and analytics systems, testing competencies in distributed data pipelines, stream and batch aggregation, storage partitioning, API/query design, and correctness concerns such as deduplication and handling late or out-of-order events.
Design an ads event reporting system that collects user-ad interaction events and serves aggregated metrics.
impression
,
click
,
conversion
(extendable to more event types)
event_id
(unique),
timestamp
(event time),
ingest_time
,
user_id
(or anonymized id),
ad_id
,
campaign_id
,
event_type
, plus optional attributes (geo, device, app version).
Propose an end-to-end architecture, storage layout/partitioning, aggregation strategy, APIs for querying, and how you ensure deduplication + correctness with late events. Include key tradeoffs.