← Meta Interview Insights

Meta·Data Scientist·Technical Phone Screen·Senior

Senior
Jun 2026

Summary

Brutal technical screen for a DS role at Meta. The whole thing was essentially one massive experiment design problem that kept branching into harder sub-questions. Felt like a grad school oral exam more than a job interview.

Questions Asked (4)

Q1

Design an A/B test for a search ranking change in a two-sided marketplace where sellers can affect each other and consumers influence each other socially. Should you use cluster randomization (by seller or geography) or ego-cluster randomization? Define your exposure and exclusion criteria precisely.

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

This is where I spent most of my time and also where I stumbled first.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by acknowledging the interference challenges in a two-sided marketplace and the need to choose a randomization unit that balances bias and variance. Compare cluster randomization (by seller or geography) and ego-cluster randomization, explaining when each is appropriate. Then define exposure and exclusion criteria precisely, considering user and seller activity, and propose metrics to measure both direct and spillover effects.

Pro tip: In marketplace experiments, always consider the Stable Unit Treatment Value Assumption (SUTVA) and design for interference; ego-cluster randomization often provides a good trade-off by randomizing at the user level but clustering by social or interaction graph to capture spillovers.

1. Identify interference sources

Map how sellers affect each other (e.g., competition for visibility) and how consumers influence each other socially (e.g., sharing, reviews). This determines the appropriate randomization unit.

2. Choose randomization unit

Evaluate cluster randomization (by seller or geography) vs. ego-cluster randomization. Cluster randomization reduces interference but increases variance; ego-cluster randomization (randomizing users but clustering by social ties) can capture spillovers while maintaining power.

3. Define exposure criteria

Specify which users and sellers are exposed to the treatment: e.g., users who perform a search in the treatment condition, sellers whose listings appear in treated searches. Ensure exposure is measurable and aligns with the randomization unit.

4. Define exclusion criteria

Exclude users or sellers with prior exposure to the treatment, bots, internal accounts, or those with insufficient activity. Also exclude clusters with high interference potential (e.g., sellers with many cross-cluster interactions).

5. Select metrics and analysis

Choose metrics that capture direct effects (e.g., CTR, conversion) and spillover effects (e.g., seller revenue, social sharing). Use appropriate statistical methods (e.g., cluster-robust standard errors, network exposure models) to analyze results.

Key Points to Mention

  • Interference and SUTVA violations in two-sided markets
  • Trade-offs between cluster randomization and ego-cluster randomization
  • Exposure criteria: intent-to-treat vs. treatment-on-treated
  • Exclusion criteria: bots, internal users, prior exposure, low-activity clusters
  • Metrics for direct and spillover effects (e.g., user engagement, seller metrics, social influence)
  • Statistical power and variance implications of cluster randomization

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

Q2

Given a mean cluster size of 50 and an intra-cluster correlation of 0.02, calculate the design effect and how much larger your sample needs to be compared to individual randomization.

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

DEFF = 1 + (m-1)*rho, so 1 + 49*0.02 = 1.98.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

First, recall the design effect formula for cluster randomization: DE = 1 + (m - 1) * ICC, where m is the mean cluster size and ICC is the intra-cluster correlation. Plug in m=50 and ICC=0.02 to compute DE, then interpret it as the factor by which the sample size must increase relative to individual randomization to achieve the same statistical power.

Pro tip: Always clarify that the design effect assumes equal cluster sizes and a common ICC; in practice, you might mention that varying cluster sizes can further inflate the required sample size, and that the ICC should be estimated from prior data or pilot studies.

1. Identify the design effect formula

State the standard formula for the design effect in cluster randomized trials: DE = 1 + (m - 1) * ICC, where m is the average cluster size and ICC is the intra-cluster correlation coefficient.

2. Plug in the given values

Substitute m = 50 and ICC = 0.02 into the formula: DE = 1 + (50 - 1) * 0.02 = 1 + 49 * 0.02 = 1 + 0.98 = 1.98.

3. Interpret the design effect

Explain that a design effect of 1.98 means the variance of the treatment effect estimate is 1.98 times larger than under individual randomization, so the effective sample size is reduced by a factor of 1.98.

4. Calculate required sample size increase

Conclude that the total sample size (number of individuals) must be 1.98 times larger than what would be needed under individual randomization to achieve the same power. Equivalently, you need 98% more participants.

5. Discuss practical implications and assumptions

Mention that this calculation assumes equal cluster sizes and a constant ICC; in reality, varying cluster sizes can increase the design effect further, and the ICC should be estimated from prior data. Also note that the number of clusters may need to be sufficiently large to avoid bias.

Key Points to Mention

  • Design effect formula: DE = 1 + (m - 1) * ICC
  • Calculation: DE = 1 + (50 - 1) * 0.02 = 1.98
  • Interpretation: Sample size must be 1.98 times larger (or 98% more) than individual randomization
  • Assumption of equal cluster sizes and constant ICC
  • Implication for effective sample size and power
  • Potential need to adjust for varying cluster sizes in practice

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

Q3

How would you prevent treatment contamination when reassigning clusters, and how would you validate the experiment using invariant metrics and a sample ratio mismatch check under clustering?

A/B Testing & ExperimentationTechnical Trade-offs
Author's notes

The SRM part under clustering I hadn't thought through carefully.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by explaining that cluster reassignment can introduce treatment contamination if not handled carefully, so you need to define a clear reassignment policy and use techniques like cluster-level randomization with buffer periods. Then describe how you would validate the experiment using invariant metrics (e.g., pre-experiment covariates) and a sample ratio mismatch (SRM) check adapted for clustered data, such as checking cluster-level assignment ratios.

Pro tip: Emphasize that SRM checks should be done at the cluster level, not just user level, and that invariant metrics should be measured before the experiment starts to avoid contamination. Also, mention that you would pre-register the analysis plan to avoid p-hacking.

1. Define reassignment policy

Specify when and how clusters are reassigned (e.g., due to churn or new clusters) and ensure reassignment is random and independent of treatment. Use a consistent rule to avoid bias.

2. Prevent contamination

Implement cluster-level randomization with a buffer period or washout period to avoid spillover effects. Consider using intent-to-treat analysis and track cluster membership over time.

3. Validate with invariant metrics

Choose invariant metrics that should not be affected by treatment (e.g., pre-experiment user demographics, cluster size). Compare these metrics between treatment and control groups to detect imbalances.

4. Conduct SRM check under clustering

Perform a sample ratio mismatch check at the cluster level: compare the observed number of clusters (or users within clusters) in each arm to the expected ratio. Use a chi-squared test or sequential testing to detect anomalies.

5. Monitor and adjust

Continuously monitor for contamination and SRM during the experiment. If issues arise, investigate and potentially restart or adjust the analysis.

Key Points to Mention

  • Cluster-level randomization and the importance of avoiding contamination when clusters are reassigned.
  • Use of buffer/washout periods to prevent spillover effects between treatment and control.
  • Invariant metrics (e.g., pre-experiment covariates) to validate experiment health and detect imbalances.
  • Sample ratio mismatch (SRM) check adapted for clustered data: cluster-level SRM and user-level SRM within clusters.
  • Intent-to-treat analysis and tracking cluster membership over time.
  • Pre-registration of analysis plan and sequential testing to avoid false positives.

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

Q4

If cluster membership changes over time, how would you design a rehashing schedule and what analysis approach would you use, specifically around mixed-effects models with cluster random intercepts?

A/B Testing & ExperimentationSystem Design
Author's notes

Hardest part of the whole question.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by framing the problem: cluster membership changes over time, so a static rehashing schedule is suboptimal. Propose an adaptive schedule based on monitoring cluster size distribution and hash table load, then detail a mixed-effects model with cluster random intercepts to analyze performance metrics, accounting for repeated measures and cluster-level heterogeneity.

Pro tip: Emphasize that rehashing is not just about performance but also about maintaining experiment validity; suggest using a consistent hashing scheme to minimize disruption and a mixed-effects model to separate cluster-level effects from treatment effects.

1. Define the problem and constraints

Clarify that cluster membership changes over time, affecting hash distribution and load. Discuss the need for a rehashing schedule that balances performance and stability, considering factors like cluster size, churn rate, and system load.

2. Design an adaptive rehashing schedule

Propose a schedule that triggers rehashing based on thresholds (e.g., load factor, cluster size variance) or periodically with backoff. Use consistent hashing to minimize key remapping and consider incremental rehashing to avoid downtime.

3. Choose metrics and data collection

Identify performance metrics (e.g., lookup latency, throughput) and cluster-level covariates (e.g., cluster size, churn rate). Collect data over time with repeated measures per cluster.

4. Apply mixed-effects model with cluster random intercepts

Specify a model where the outcome is a function of fixed effects (e.g., rehashing strategy, time) and random intercepts for clusters to account for unobserved cluster heterogeneity. Discuss assumptions and potential random slopes.

5. Validate and iterate

Use cross-validation or holdout sets to assess model fit. Interpret results to refine the rehashing schedule, ensuring robustness to membership changes.

Key Points to Mention

  • Consistent hashing to minimize key redistribution during rehashing
  • Adaptive triggering based on load factor and cluster size distribution
  • Mixed-effects models to handle repeated measures and cluster-level clustering
  • Random intercepts for clusters to account for unobserved heterogeneity
  • Potential for random slopes if rehashing effects vary by cluster
  • Trade-offs between rehashing frequency and system overhead

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