← Meta Interview Insights

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

SeniorPrefer not to say
Apr 2026

Summary

Brutal system design round at Meta for an MLE role. The question was a full notification ranking system from scratch, covering basically every dimension you can imagine. Left feeling like I'd done okay on the core ML parts but fumbled some of the operational stuff.

Questions Asked (8)

Q1

Design an ML-based ranking system for notifications sent to users, where candidates come from heterogeneous sources like product launches, friend activity, advertiser updates, and system messages.

System DesignTechnical Trade-offs
Author's notes

This is the kind of question where you feel okay for the first ten minutes and then realize you've only scratched the surface.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the problem scope and requirements, then propose a multi-stage ranking architecture that handles heterogeneous sources through a unified feature representation and a multi-objective ranking model. Emphasize trade-offs between relevance, diversity, and business constraints, and discuss how to evaluate and iterate on the system.

Pro tip: Highlight the importance of a shared embedding space for heterogeneous content and a two-stage ranking approach (candidate generation + fine ranking) to balance efficiency and quality. Also, mention the need for guardrails to prevent over-personalization and ensure user well-being.

1. Clarify Requirements and Constraints

Ask questions to understand the scale, latency requirements, business objectives, and user experience goals. Identify key metrics such as CTR, user engagement, and satisfaction.

2. Design Data and Feature Pipeline

Outline how to ingest and normalize data from heterogeneous sources, extract features (user, content, context, source), and create a unified representation. Discuss handling of sparse and dense features.

3. Propose Model Architecture

Describe a multi-stage ranking system: candidate generation (e.g., using embeddings and ANN) followed by a fine-ranking model (e.g., deep neural network with multi-task learning). Explain how to incorporate source-specific signals.

4. Address Trade-offs and Business Logic

Discuss how to balance multiple objectives (relevance, diversity, freshness, business value) using techniques like multi-objective optimization, blending, or constrained ranking. Mention guardrails for user well-being.

5. Define Evaluation and Iteration Plan

Explain offline evaluation (A/B testing, counterfactual methods) and online metrics. Describe how to monitor, debug, and iterate on the system, including feedback loops.

Key Points to Mention

  • Two-stage ranking: candidate generation and fine ranking for scalability.
  • Unified embedding space for heterogeneous content sources.
  • Multi-task learning to predict multiple engagement signals (click, like, hide, report).
  • Diversity and freshness constraints to avoid filter bubbles and fatigue.
  • Business rules and advertiser value integration via blending or constrained optimization.
  • Online evaluation with A/B testing and guardrail metrics for user well-being.

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

Q2

How would you handle multi-objective optimization in this ranking system, balancing user engagement, advertiser revenue, and user fatigue?

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

I talked about a weighted scalarization approach first, then pivoted to Pareto-front methods when they pushed back.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by framing the problem as a multi-objective optimization challenge where you must balance competing metrics. Then, propose a concrete approach such as using a weighted sum or Pareto optimization, and discuss how to tune weights and handle trade-offs. Finally, emphasize the importance of monitoring and iterating based on business goals and user feedback.

Pro tip: Show that you understand the long-term vs short-term trade-offs: optimizing for immediate engagement can hurt user retention and advertiser value over time. Mention that you'd use techniques like constrained optimization or multi-task learning to explicitly model these dynamics.

1. Define objectives and constraints

Clearly specify the metrics for user engagement (e.g., clicks, time spent), advertiser revenue (e.g., CPM, conversions), and user fatigue (e.g., session frequency, churn risk). Identify hard constraints (e.g., minimum revenue) and soft preferences.

2. Choose an optimization approach

Select a method such as weighted sum, Pareto optimization, or constrained optimization. For ranking, consider multi-objective ranking models that output a score combining objectives, or use a two-stage approach: first filter by constraints, then rank by a weighted combination.

3. Tune weights and handle trade-offs

Determine weights via offline simulation, online A/B testing, or business input. Use techniques like grid search or Bayesian optimization to find the Pareto frontier. Discuss how to dynamically adjust weights based on context (e.g., time of day, user segment).

4. Evaluate and monitor

Set up metrics to track each objective and overall system health. Use dashboards and alerts to detect imbalances. Run long-term holdout experiments to measure delayed effects like fatigue.

5. Iterate and adapt

Continuously refine the model based on new data and changing business goals. Incorporate user feedback and consider fairness and diversity constraints.

Key Points to Mention

  • Multi-objective optimization techniques: weighted sum, Pareto efficiency, constrained optimization
  • Trade-offs between short-term engagement and long-term user satisfaction
  • Use of multi-task learning to predict multiple objectives simultaneously
  • Online A/B testing and counterfactual evaluation for tuning weights
  • Dynamic weighting based on user context or business priorities
  • Monitoring for user fatigue and implementing safeguards like diversity or frequency capping

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

Q3

Walk through how you'd construct training data for this ranker using click, dismiss, and conversion signals.

Data ModelingSystem Design
Author's notes

Position bias was the first thing I flagged, which seemed to land well.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by framing the problem: define the ranker's objective (e.g., maximize conversions) and explain how click, dismiss, and conversion signals serve as implicit feedback. Then outline a pipeline: signal collection and labeling, feature engineering, sampling and weighting, and handling biases like position bias. Conclude with validation and iteration strategies.

Pro tip: Emphasize that dismiss signals are often underutilized but crucial for distinguishing between low relevance and active dislike; consider using them as negative labels with higher confidence than non-clicks. Also, mention that conversion signals are sparse and delayed, so you might need to use multi-task learning or delayed feedback modeling.

1. Define the objective and signal semantics

Clarify what the ranker optimizes (e.g., conversion rate) and how each signal (click, dismiss, conversion) relates to relevance and user satisfaction. Discuss the hierarchy: conversion > click > dismiss > no interaction.

2. Collect and label data

Gather logs of user interactions with ranked items, ensuring each impression is recorded with its context. Assign labels based on the strongest signal: conversion as positive, dismiss as strong negative, click as weak positive, and non-click as weak negative or ignored.

3. Engineer features and handle biases

Create features from user, item, and context, and incorporate position bias correction (e.g., using propensity scores or adding position as a feature). Consider counterfactual logging or inverse propensity weighting to debias click data.

4. Sample and weight examples

Address class imbalance by downsampling negatives or upweighting positives. Use sample weights to reflect signal confidence (e.g., conversions weighted higher than clicks) and to correct for biases.

5. Validate and iterate

Split data temporally to avoid leakage, and evaluate offline with metrics like AUC, NDCG, or calibration. Use online A/B tests to measure true impact, and iterate by incorporating new signals or refining labels.

Key Points to Mention

  • Position bias and how to correct it (e.g., inverse propensity weighting, adding position as a feature).
  • Signal hierarchy and confidence: conversion > dismiss > click > no interaction.
  • Handling delayed and sparse conversion signals (e.g., multi-task learning, delayed feedback models).
  • Negative sampling and class imbalance techniques.
  • Feature engineering: user, item, context, and interaction history.
  • Offline evaluation metrics and online A/B testing for validation.

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

Q4

How would you control notification volume per user per day, and how does that interact with the ranking model?

System DesignTechnical Trade-offs
Author's notes

I framed this as a budget allocation problem and talked about a post-ranking filtering step.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by defining the goal: control notification volume per user per day while maintaining engagement and user satisfaction. Then describe a system that enforces caps at serving time, and explain how the ranking model should be trained and adjusted to account for these caps, such as through constrained optimization or incorporating the cap as a feature.

Pro tip: Emphasize that the ranking model and volume control should be co-designed: the model should predict the marginal value of each notification given the user's current daily count, and the cap should be enforced via a lightweight post-ranking filter to avoid overcomplicating the model.

1. Clarify requirements and constraints

Define what 'notification volume' means (e.g., push notifications, emails) and the daily cap per user. Consider business goals (engagement, retention) and user experience (avoiding fatigue).

2. Design the volume control mechanism

Implement a per-user daily counter that tracks notifications sent. At serving time, filter out notifications if the cap is reached. Use a distributed counter (e.g., Redis) for real-time updates.

3. Integrate with ranking model

Train the ranking model to predict the utility of sending a notification given the user's current daily count. Use a constrained optimization approach (e.g., Lagrangian relaxation) or include the count as a feature. Alternatively, apply a post-ranking adjustment to prioritize notifications when under the cap.

4. Handle trade-offs and edge cases

Discuss how to handle urgent notifications (e.g., security alerts) that may bypass the cap. Consider the impact on engagement metrics and how to A/B test the cap value.

5. Monitor and iterate

Set up monitoring for cap hit rates, user engagement, and satisfaction. Use feedback to adjust the cap and retrain the model periodically.

Key Points to Mention

  • Per-user daily counter with real-time updates (e.g., using Redis or a similar store).
  • Constrained optimization: incorporate the cap as a constraint in the ranking model training (e.g., via Lagrangian methods).
  • Feature engineering: include the user's current daily notification count as a feature in the ranking model.
  • Serving-time filtering: apply the cap after ranking to ensure the top-ranked notifications are sent until the cap is reached.
  • Trade-offs: balancing engagement metrics with user satisfaction and long-term retention.
  • A/B testing: experiment with different cap values to find the optimal balance.

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

Q5

How would you handle freshness and deduplication across notification sources?

System DesignAlgorithms & Data Structures
Author's notes

Pretty quick exchange.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Clarify the notification pipeline architecture and define freshness and deduplication requirements. Propose a multi-stage approach combining streaming and batch processing with ML models for semantic deduplication and freshness scoring. Discuss trade-offs between latency, accuracy, and cost, and how to evaluate and monitor the system.

Pro tip: Emphasize the importance of defining a clear deduplication key and freshness metric upfront, and consider using approximate algorithms like MinHash or SimHash for scalable near-duplicate detection. Also, highlight the need for a feedback loop to continuously improve ML models based on user engagement.

1. Clarify Requirements and Constraints

Ask questions to understand the scale, latency requirements, and definition of freshness and duplicates. Identify data sources and their characteristics.

2. Design Data Ingestion and Preprocessing

Outline how to ingest data from multiple sources, normalize formats, and extract features. Consider using a message queue and stream processing for real-time ingestion.

3. Implement Deduplication

Propose exact and near-duplicate detection methods. Use hashing for exact matches and ML models (e.g., embeddings, clustering) for semantic duplicates. Discuss trade-offs.

4. Ensure Freshness

Define freshness metrics (e.g., time since event) and implement mechanisms to prioritize fresh content. Use timestamps, event time processing, and possibly decay functions.

5. Evaluate and Monitor

Set up offline and online evaluation metrics (precision, recall, latency). Monitor system performance and user engagement, and iterate on models.

Key Points to Mention

  • Streaming vs. batch processing for real-time vs. historical data
  • Exact deduplication using cryptographic hashes (e.g., SHA-256) and near-duplicate detection using MinHash/LSH or SimHash
  • ML-based semantic deduplication using embeddings and similarity search (e.g., FAISS, ANN)
  • Freshness scoring and decay functions, event-time processing, and watermarking
  • Trade-offs between latency, accuracy, and computational cost
  • Evaluation metrics: precision, recall, F1, latency, and user engagement metrics (CTR, dwell time)

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

Q6

How do you ensure fairness across notification sources, so that smaller or less-monetized sources aren't systematically suppressed?

System DesignProduct Analytics & MetricsTechnical Trade-offs
Author's notes

Didn't see this coming as a fairness question, I was thinking about user-side fairness.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by framing fairness as a multi-objective optimization problem that balances engagement with equitable exposure across sources. Then outline a concrete system design: define fairness metrics, implement constraints or re-ranking, and continuously monitor and iterate. Emphasize trade-offs and the need for stakeholder alignment.

Pro tip: Acknowledge that perfect fairness is impossible and that the goal is to minimize systematic suppression while maintaining user experience; propose a fairness-aware ranking layer that can be tuned via A/B testing.

1. Define Fairness Metrics

Choose quantifiable metrics such as exposure parity, demographic parity, or equal opportunity across source tiers. Ensure they align with product goals and are measurable in production.

2. Audit Current System

Analyze existing ranking logs to detect biases: compare exposure distributions of small vs. large sources, and identify features that correlate with source size or monetization.

3. Design Fairness Interventions

Implement techniques like constrained optimization, re-ranking, or multi-task learning to enforce fairness constraints. Consider trade-offs with engagement and relevance.

4. Evaluate and Iterate

Run A/B tests to measure impact on fairness metrics and business KPIs. Use counterfactual evaluation to estimate long-term effects and refine the approach.

5. Monitor and Govern

Set up dashboards for continuous monitoring of fairness metrics, and establish a review process with cross-functional teams to address regressions.

Key Points to Mention

  • Fairness definitions: group fairness vs. individual fairness, and how they apply to notification sources.
  • Trade-offs between fairness and engagement/revenue, and how to quantify them.
  • Technical approaches: constrained optimization, adversarial debiasing, re-ranking, and multi-objective ranking.
  • Importance of data: logging source-level features and outcomes, and ensuring representative training data.
  • Evaluation: offline metrics, online A/B testing, and long-term holdout groups.
  • Stakeholder alignment: working with policy, legal, and product teams to define acceptable fairness thresholds.

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

Q7

Describe the serving stack: how do offline candidates flow into an online ranker and then get delivered to users?

System DesignTechnical Trade-offs
Author's notes

This was the part I felt most comfortable with.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by outlining the end-to-end pipeline from offline candidate generation to online ranking and delivery, emphasizing the transition points where data and models flow between offline and online systems. Then, dive into the key components and trade-offs at each stage, such as feature consistency, latency constraints, and scalability. Finally, discuss how you would monitor and iterate on the system to ensure performance and reliability.

Pro tip: Highlight the importance of feature consistency between offline and online environments, and mention how you would use techniques like feature stores or logging to detect and mitigate training-serving skew. This shows you understand a common pitfall in production ML systems.

1. Offline Candidate Generation

Describe how candidates are generated offline using batch processing (e.g., collaborative filtering, embeddings) and stored for later use. Mention the scale and frequency of updates.

2. Candidate Retrieval and Filtering

Explain how the online system retrieves a subset of candidates from the offline store, applies filtering (e.g., eligibility, deduplication), and prepares them for ranking.

3. Online Ranking

Detail the ranking model (e.g., deep neural network) that scores candidates in real-time, including feature fetching, model inference, and latency considerations.

4. Delivery and Feedback Loop

Describe how ranked results are delivered to users, and how user interactions are logged and fed back to improve offline models and online ranking.

5. Monitoring and Iteration

Discuss how you would monitor system health, model performance, and business metrics, and how you would iterate on the system (e.g., A/B testing, retraining).

Key Points to Mention

  • Feature consistency between offline and online (training-serving skew)
  • Latency constraints and real-time inference optimizations (e.g., model quantization, caching)
  • Scalability and distributed systems (e.g., sharding, load balancing)
  • Feedback loops and data logging for continuous improvement
  • Trade-offs between candidate set size and ranking complexity
  • Monitoring and alerting for model drift and system failures

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

Q8

What online metrics would you use to evaluate this system, and how would you think about long-term retention versus short-term CTR?

A/B Testing & ExperimentationProduct Analytics & Metrics
Author's notes

CTR and opt-out rate are obvious.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the system's goal and the user problem it solves, then propose a metric framework that balances short-term engagement (e.g., CTR) with long-term value (e.g., retention). Emphasize that the choice of metrics depends on the system's purpose, and discuss how to design experiments to measure both without sacrificing one for the other.

Pro tip: Show that you understand the trade-offs between short-term and long-term metrics by proposing guardrail metrics and discussing how to detect and mitigate negative long-term effects early. Mention that at Meta, we often use counterfactual logging or long-term holdouts to measure retention impact.

1. Clarify the system and its goals

Ask questions to understand what the system does, its primary objective, and the user experience it aims to improve. This ensures your metrics align with the system's purpose.

2. Define short-term engagement metrics

Propose metrics like CTR, click-through rate, conversion rate, or time spent that capture immediate user interactions. Explain why they matter but note their limitations.

3. Define long-term retention and value metrics

Suggest metrics such as DAU/MAU, retention rate, churn, or long-term revenue that reflect sustained user engagement and satisfaction. Discuss how these are harder to move but more important for the product's health.

4. Balance and prioritize metrics

Explain how to weigh short-term vs. long-term metrics, possibly using a composite metric or setting guardrails. Discuss the risk of over-optimizing for CTR at the expense of user experience.

5. Design experiments to measure both

Describe how to set up A/B tests with sufficient duration to capture long-term effects, and suggest techniques like holdout groups or counterfactual logging to isolate retention impact.

Key Points to Mention

  • CTR and other engagement metrics as short-term proxies
  • Retention, DAU/MAU, and churn as long-term health indicators
  • Guardrail metrics to prevent negative long-term effects
  • Trade-offs between optimizing for short-term vs. long-term goals
  • Experiment design considerations: duration, sample size, holdouts
  • Counterfactual logging or long-term holdout groups to measure retention

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