← Datadog Interview Insights

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

Senior
May 2026

Summary

Did a system design round at Datadog for a software engineer role. Just the one question, pretty open-ended, not a lot of context given upfront.

Questions Asked (1)

Q1

Design a system to find a specific photo within a continuous data stream.

System DesignTechnical Trade-offsAlgorithms & Data Structures
Author's notes

There's a lot of directions you can take this and I think that's kind of the point.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements: what defines a 'specific photo' (exact match, similarity, metadata), stream characteristics (rate, format, ordering), and constraints (latency, throughput, memory). Then propose a scalable architecture that ingests the stream, extracts features, and performs efficient matching using appropriate indexing and filtering techniques.

Pro tip: Emphasize trade-offs between exact and approximate matching, and discuss how to handle concept drift or changing photo definitions over time without reprocessing the entire stream.

1. Clarify Requirements

Ask questions to understand the photo matching criteria (e.g., exact hash, perceptual hash, object detection), stream volume and velocity, and latency/accuracy requirements.

2. Design Ingestion Pipeline

Outline a scalable ingestion layer (e.g., Kafka, Kinesis) that buffers and partitions the stream for parallel processing, ensuring fault tolerance and backpressure handling.

3. Feature Extraction and Indexing

Describe how to extract relevant features (e.g., perceptual hashes, embeddings) from each photo and build an index (e.g., inverted index, LSH, FAISS) for fast similarity search.

4. Matching and Filtering

Explain the matching process: for each incoming photo, compute features, query the index, and apply thresholds or verification steps to confirm a match, handling false positives/negatives.

5. Scalability and Trade-offs

Discuss scaling strategies (sharding, replication), trade-offs between exact vs. approximate matching, memory vs. accuracy, and how to monitor and tune the system.

Key Points to Mention

  • Choice of similarity metric (e.g., Hamming distance for perceptual hashes, cosine similarity for embeddings) and its impact on accuracy.
  • Use of approximate nearest neighbor (ANN) algorithms like LSH or FAISS for efficient large-scale search.
  • Handling out-of-order or late-arriving data in the stream with windowing or watermarking.
  • Caching frequently matched photos or results to reduce latency and load.
  • Monitoring and alerting for match rates, latency, and resource utilization to ensure system health.
  • Security and privacy considerations when processing potentially sensitive photos.

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