← Meta Interview Insights

Meta·Software Engineer·Onsite - System Design / Architecture·Senior

SeniorPrefer not to say
May 2026

Summary

Meta infrastructure interview, one long system design question that basically ate the whole session. The scope was massive and I kept second-guessing which parts they actually cared about.

Questions Asked (1)

Q1

Design a system that tracks and aggregates ad clicks at scale. Walk through the click ingestion endpoint, deduplication and fraud detection, real-time versus batch aggregation, storage for raw and rolled-up data at different time granularities, querying for billing and reporting, and how you'd handle scalability and consistency.

System DesignTechnical Trade-offsData Modeling
Author's notes

This is a beast of a question.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and scale (e.g., QPS, latency, accuracy), then design a pipeline: ingestion with idempotency, deduplication/fraud detection, real-time and batch aggregation, storage tiers for raw and rolled-up data, and query layers for billing/reporting. Emphasize trade-offs (latency vs accuracy, cost vs performance) and how you'd ensure scalability and consistency at each stage.

Pro tip: Proactively discuss how you'd handle late-arriving clicks and exactly-once semantics in billing, as these are common pitfalls that demonstrate deep understanding of real-world ad systems.

1. Clarify Requirements and Scale

Ask about expected QPS, click volume, latency requirements, accuracy needs (e.g., billing vs analytics), and data retention. This sets the stage for design decisions.

2. Design Ingestion and Deduplication

Outline a scalable ingestion endpoint (e.g., HTTP/2, load balancers, async processing) with idempotency keys and deduplication using a fast store (e.g., Redis, Bloom filters). Include fraud detection via rules or ML models.

3. Plan Real-time and Batch Aggregation

Describe a lambda architecture: real-time stream processing (e.g., Flink, Kafka Streams) for immediate metrics, and batch processing (e.g., Spark) for accurate, cost-effective rollups. Discuss trade-offs.

4. Choose Storage for Raw and Rolled-up Data

Store raw clicks in a scalable data lake (e.g., S3, HDFS) and rolled-up aggregates in a time-series or OLAP database (e.g., Druid, ClickHouse) with different granularities (minute, hour, day).

5. Address Querying, Scalability, and Consistency

Design query APIs for billing (exact, consistent) and reporting (eventual consistency, fast). Discuss sharding, replication, partitioning, and how to handle late data and exactly-once semantics.

Key Points to Mention

  • Idempotency and deduplication strategies (e.g., unique click IDs, Bloom filters, Redis).
  • Fraud detection techniques (e.g., rule-based, ML, IP/device fingerprinting).
  • Lambda architecture for real-time and batch processing, with trade-offs.
  • Storage choices: data lake for raw, OLAP/time-series for aggregates, and tiered storage.
  • Query patterns: billing requires strong consistency and exactness; reporting can be approximate and faster.
  • Scalability and consistency: partitioning, replication, handling late data, and exactly-once semantics.

AI-generated suggestions, not part of the candidate's original notes. May be inaccurate — verify before relying on them.