← Meta Interview Insights

Meta·Data Scientist·Technical Phone Screen·Intermediate

Intermediate
Jun 2026

Summary

Meta DS interview focused on a pretty involved SQL question tied to e-commerce promo analysis. One question but it had multiple layers, so it took a while to work through. Not a bad experience overall, just dense.

Questions Asked (1)

Q1

Given an orders table and a users table, write a SQL query that calculates the proportion of orders meeting all of the following: placed via mobile, order amount over 50, order date within the last 30 days, used a promo, and made by a US customer. Then join with the users table and define at least two additional business metrics of your choice, providing SQL and a one-sentence justification for each.

Product Analytics & MetricsData Modeling
Author's notes

The multi-condition filter part was fine, I set up a CTE to separate the denominator (all orders) from the numerator (filtered orders) and used conditional aggregation.

Create a free account to read the full note

AI HintsAI Generated

Suggested Approach

Start by clarifying the schema and assumptions (e.g., date range, promo flag, mobile indicator). Write a single SQL query that filters orders based on the given conditions and computes the proportion, then join with users to add two business metrics like average order value and repeat order rate. Explain each metric's relevance to Meta's product analytics.

Pro tip: Use a CTE to isolate the filtered orders and calculate the proportion, then join with users for additional metrics. This keeps the query modular and easy to explain, showing you can write maintainable SQL.

1. Clarify requirements and assumptions

Confirm the definitions of 'mobile', 'promo', 'US customer', and 'last 30 days' relative to the current date. State any assumptions about the schema (e.g., column names, data types).

2. Write the core query for proportion

Use a CTE to filter orders meeting all conditions, then calculate the proportion as the count of qualifying orders divided by the total number of orders. Ensure the date filter uses a dynamic date function like CURRENT_DATE - INTERVAL '30 days'.

3. Join with users and define additional metrics

Join the filtered orders with the users table on user_id. Define at least two business metrics, such as average order value (AOV) and repeat order rate, and write SQL for each.

4. Explain and justify metrics

For each additional metric, provide a one-sentence justification explaining how it provides business value or insight for Meta.

Key Points to Mention

  • Use of CTEs for readability and modularity
  • Handling of date ranges dynamically (e.g., CURRENT_DATE - INTERVAL '30 days')
  • Proper join between orders and users on user_id
  • Definition of additional metrics like average order value (AOV) and repeat order rate
  • Justification of metrics in terms of business impact (e.g., AOV indicates customer spending, repeat rate indicates loyalty)
  • Consideration of data types and potential NULLs in filters

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