Design place-of-interest ML system
Company: Meta
Role: Software Engineer
Category: ML System Design
Difficulty: hard
Interview Round: Onsite
Design a machine learning system that recommends places of interest (POIs) to users. Specify:
(a) product goals and key requirements (personalization, freshness, latency, scale),
(b) data sources (map metadata, reviews, check-ins, GPS pings, events), labeling strategy (defining positives, counterfactual logging, debiasing for position/exposure), and feature sets (user, POI, context, interaction, geographic features),
(c) a two-stage architecture with candidate generation (e.g., embeddings/ANN) and ranking (e.g., GBDT or deep models), plus a re-ranker for diversity/novelty,
(d) training pipeline (batch + streaming updates, feature store, backfills) and online serving (feature retrieval, caching, latency budgets, fallbacks),
(e) exploration/exploitation strategy (bandits or epsilon-greedy) for cold start and long-term learning,
(f) evaluation plan with offline metrics (AUC, NDCG, coverage) and online A/B metrics (CTR, save/visit rate, dwell), and
(g) privacy, abuse/spam prevention, and geo-specific fairness considerations.
Quick Answer: This question evaluates proficiency in designing large-scale ML recommendation systems, covering personalization, freshness, low-latency serving, data and feature engineering, training and serving pipelines, exploration/exploitation strategies, evaluation metrics, and trust-and-safety considerations.