← DoorDash Interview Insights

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

SeniorPrefer not to say
Jul 2026

Summary

DoorDash system design round where they wanted a full real-time metrics monitoring platform from scratch. Pretty intense scope for a single session, covering ingest all the way through alerting and retention policy.

Questions Asked (1)

Q1

Design a real-time monitoring system that ingests metrics from many services, supports user-defined alerts, and lets users query and visualize time-series data on dashboards.

System DesignTechnical Trade-offsData Modeling
Author's notes

This one sprawled fast.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements and scale (e.g., number of services, metrics per second, query patterns), then propose a high-level architecture with separate ingestion, storage, alerting, and query/visualization layers. Dive into key components like time-series database choice, stream processing for alerts, and trade-offs around consistency, latency, and cost.

Pro tip: Emphasize the separation of concerns between the write path (ingestion) and read path (querying) to allow independent scaling, and discuss how you'd handle high cardinality metrics without exploding storage costs.

1. Clarify Requirements and Scale

Ask questions to understand the number of services, metrics volume, retention period, query patterns, alerting latency, and dashboard refresh rates. This sets the stage for informed design decisions.

2. High-Level Architecture

Outline the main components: ingestion pipeline (collectors, message queue), storage (time-series database), alerting engine, query service, and visualization layer. Explain data flow from services to dashboards.

3. Deep Dive into Key Components

Discuss the ingestion pipeline (e.g., Kafka for buffering, stream processing for aggregation), time-series storage (e.g., Prometheus, InfluxDB, or custom), and alerting (rule evaluation, notification). Address scalability and fault tolerance.

4. Data Modeling and Query Optimization

Explain how to model time-series data (tags, fields, timestamps) and optimize for common queries (downsampling, rollups, indexing). Discuss handling high cardinality and retention policies.

5. Trade-offs and Extensions

Summarize trade-offs (e.g., push vs pull, consistency vs availability, cost vs performance) and suggest potential extensions like anomaly detection or multi-region deployment.

Key Points to Mention

  • Time-series database selection and trade-offs (e.g., Prometheus vs InfluxDB vs custom)
  • Stream processing for real-time alerting (e.g., Flink, Kafka Streams) and rule evaluation
  • Data modeling: tags vs fields, cardinality management, and retention policies
  • Query optimization: downsampling, rollups, and caching for dashboards
  • Scalability and fault tolerance: partitioning, replication, and backpressure
  • Alerting: user-defined rules, deduplication, and notification channels

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