Design Nearby and Notification Ranking
Company: Meta
Role: Machine Learning Engineer
Category: ML System Design
Difficulty: hard
Interview Round: Onsite
Two machine learning system design prompts were mentioned:
1. **Nearby place recommendation for a mobile user**
Design a real-time recommendation system that suggests nearby places to a smartphone user whose location may change while the app is open. The system should recommend relevant places such as restaurants, stores, or points of interest near the user's current or predicted future location. Discuss problem definition, candidate generation, ranking, features, training data, online serving, latency, freshness, cold start, evaluation, and how to handle moving users.
2. **Notification recommendation and ranking**
Design a ranking system for candidate notifications coming from multiple sources, such as new product announcements, friend activity, and advertiser messages. The system must decide which notifications are eligible to send, which ones should be shown first, and which ones should be suppressed. Discuss objective functions, eligibility rules, de-duplication, user fatigue, multi-objective ranking, training labels, model design, serving architecture, and evaluation.
Quick Answer: This question evaluates competency in designing large-scale machine learning systems for real-time recommendations and notification ranking, covering candidate generation, ranking, feature engineering, online serving, latency management, and multi-objective trade-offs; it is commonly asked to assess the ability to translate product objectives into system architecture and measurable evaluation metrics while addressing freshness, cold-start, moving users, and notification fatigue. The domain is ML system design—recommender systems, ranking, and online serving—and the level spans both high-level conceptual architecture and practical application concerns such as serving latency, data freshness, training labels, and evaluation.