Design a price tracking platform
Company: Meta
Role: Software Engineer
Category: System Design
Difficulty: hard
Interview Round: Technical Screen
Design a price tracking platform for e-commerce sites that captures historical prices, visualizes trends, and sends user alerts on price drops. Describe the high-level architecture: crawl/scrape ingestion (schedulers, politeness, anti-bot handling), parsers and normalization, deduplication, product identity resolution, storage schema for price histories, change detection, alerting rules, user preferences, and APIs. Address scale (millions of products), freshness SLAs, failure recovery, rate limits, legal/robots compliance, and cost efficiency. Include choices for databases, queues, caching, and backfill/replay strategy.
Quick Answer: This question evaluates system design and distributed systems competencies, including scalable crawl/ingestion strategies, data parsing and normalization, product identity resolution, time-series storage and change-detection, and notification and API fanout architecture.