← Meta Interview Insights

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

Senior
May 2026

Summary

Meta EM interview with a system design question about building a price tracker. Pretty open-ended, which I wasn't fully prepared for.

Questions Asked (1)

Q1

Design a price tracking system similar to what Amazon uses to monitor and display product price changes over time.

System DesignData ModelingAPI & Integrations
Author's notes

I went straight to the data storage layer and spent way too long debating SQL vs NoSQL before even nailing down the core requirements.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements: scale (number of products, price updates per day), latency needs, and whether tracking is for display or analytics. Then design a high-level architecture covering data ingestion, storage, and querying, and dive into data modeling and API design for price history and current price.

Pro tip: Emphasize the trade-offs between consistency and availability for price updates, and discuss how to handle out-of-order events and late data in a distributed system.

1. Clarify Requirements

Ask about scale (e.g., millions of products, updates per second), latency requirements (real-time vs batch), and retention period for price history.

2. High-Level Architecture

Outline components: data ingestion (crawlers, seller APIs), message queue (Kafka), processing (stream/batch), storage (time-series DB, cache), and serving layer (APIs).

3. Data Modeling

Design schemas for current price (key-value store) and historical prices (time-series or wide-column store), considering partitioning and indexing for efficient queries.

4. API Design

Define endpoints for getting current price, price history, and price changes, with pagination and filtering. Discuss caching strategies for hot products.

5. Scalability & Reliability

Address partitioning, replication, handling failures, and ensuring data consistency. Discuss monitoring and alerting for price anomalies.

Key Points to Mention

  • Use of time-series databases (e.g., Cassandra, InfluxDB) for efficient storage and querying of price history.
  • Message queues (e.g., Kafka) for decoupling ingestion from processing and handling bursts.
  • Caching (e.g., Redis) for current prices to serve low-latency reads.
  • Data partitioning strategies (e.g., by product ID) to scale horizontally.
  • Handling out-of-order and late-arriving price updates with event-time processing and watermarks.
  • API design considerations: REST vs GraphQL, pagination, rate limiting, and versioning.

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