← Meta Interview Insights

Meta·Machine Learning Engineer·Onsite - System Design / Architecture·Senior

Senior
Jun 2026

Summary

Two ML system design questions at Meta, both pretty meaty. The kind of round where you realize halfway through that you probably should have reviewed recommendation systems more recently.

Questions Asked (2)

Q1

Design a real-time recommendation system that suggests nearby places to a mobile user whose location can change while the app is running.

System DesignTechnical Trade-offsA/B Testing & Experimentation
Author's notes

The moving user part is what gets you.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying requirements: scale, latency, location update frequency, and definition of 'nearby'. Then propose a two-stage architecture: a fast candidate retrieval layer using geospatial indexing (e.g., geohash, S2, or H3) to fetch nearby places, followed by a ranking model that incorporates user context, real-time signals, and business objectives. Finally, discuss trade-offs, offline/online evaluation, and A/B testing for continuous improvement.

Pro tip: Emphasize the need for a streaming pipeline (e.g., Kafka, Flink) to handle location updates and feature freshness, and discuss how you'd balance latency vs. accuracy by using approximate nearest neighbor search and caching. Also, mention the importance of handling cold-start and sparsity in location data.

1. Clarify Requirements and Constraints

Ask about scale (DAU, QPS), latency SLA, location update frequency, and what 'nearby' means (radius, travel time). Also clarify business goals (e.g., engagement, conversions) and privacy constraints.

2. Design High-Level Architecture

Outline components: mobile client, API gateway, location ingestion service, geospatial index, candidate retrieval, ranking service, and feedback loop. Emphasize real-time processing and low-latency serving.

3. Detail Candidate Retrieval and Ranking

Explain how to use geospatial indexing (e.g., geohash, S2, H3) to quickly fetch nearby places. Then describe a ranking model (e.g., GBDT, DNN) that uses features like distance, popularity, user preferences, and real-time context.

4. Address Real-Time and Scalability Challenges

Discuss streaming infrastructure (Kafka, Flink) for location updates, caching strategies, and sharding of geospatial data. Mention trade-offs between exact vs. approximate nearest neighbor search.

5. Define Evaluation and Iteration Plan

Cover offline metrics (e.g., recall@k, NDCG) and online A/B testing with metrics like CTR, dwell time, and conversion. Explain how to handle cold-start and continuously improve the model.

Key Points to Mention

  • Geospatial indexing techniques (geohash, S2, H3) for efficient nearby search
  • Two-stage architecture: candidate retrieval + ranking
  • Real-time streaming pipeline for location updates and feature computation
  • Latency vs. accuracy trade-offs and approximate nearest neighbor search
  • Feature engineering: distance, user history, time of day, place popularity
  • A/B testing framework and online metrics (CTR, conversion, engagement)

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

Q2

Design a ranking and filtering system for notifications coming from multiple sources, including how to decide which ones to send, which to suppress, and how to order them.

System DesignTechnical Trade-offsProduct Analytics & Metrics
Author's notes

User fatigue modeling was the part I found most interesting and also the part I was least prepared for.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the product context and objectives, then outline a high-level architecture that separates candidate generation, ranking, and filtering. Emphasize the ML models and features used for each stage, and discuss how to balance engagement with user well-being through metrics and trade-offs.

Pro tip: Frame the problem as a multi-objective optimization: you're not just maximizing clicks, but also minimizing notification fatigue and respecting user preferences. Mention how you'd measure long-term satisfaction (e.g., retention, mute rates) alongside short-term engagement.

1. Clarify Requirements and Objectives

Ask questions to understand the product goals, user base, notification types, and constraints. Define success metrics such as CTR, DAU, user satisfaction, and notification opt-out rates.

2. Design the System Architecture

Outline a pipeline: ingestion from multiple sources, candidate generation, ranking, filtering, and delivery. Consider real-time vs. batch processing and scalability.

3. Develop Ranking and Filtering Models

Describe ML models for ranking (e.g., learning-to-rank) and filtering (e.g., classifiers for suppression). Discuss features like user history, notification content, source reliability, and contextual signals.

4. Address Trade-offs and Multi-Objective Optimization

Explain how to balance competing objectives (e.g., engagement vs. fatigue) using techniques like weighted objectives, constraints, or multi-task learning. Discuss how to set thresholds for suppression.

5. Define Evaluation and Iteration Strategy

Propose offline evaluation (e.g., AUC, NDCG) and online A/B testing. Include guardrail metrics and a plan for continuous model improvement and feedback loops.

Key Points to Mention

  • Candidate generation from multiple sources (e.g., social, ads, system) and deduplication.
  • Feature engineering: user engagement history, notification type, time of day, device, and source credibility.
  • Ranking model: learning-to-rank (e.g., LambdaMART) or deep neural networks with multi-task objectives.
  • Filtering/suppression: binary classifiers to predict user annoyance or low utility, with precision-recall trade-offs.
  • Multi-objective optimization: balancing short-term CTR with long-term user satisfaction and retention.
  • Online metrics: CTR, conversion, mute/disable rates, and long-term holdout experiments.

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