Meta·Data Scientist·Technical Phone Screen
May 2026
SQL-heavy Data Scientist screen at Meta, four questions all centered on a shop visibility dataset with window functions, cohort analysis, and a stats reasoning piece at the end. Nothing behavioral, just raw SQL the whole way through.
- Using a shop visibility table with timestamps, find the top 10 profiles by number of visibility flips (transitions where visibility changes from the previous state), breaking ties by smaller profile_id first.
- Calculate the percentage of shops currently visible as of a given date, where 'currently visible' means the shop's last recorded state at or before end of day is visibility=1. Return both the percentage and raw counts.
- Break down currently visible shops by category: for each shop_category, return the count of visible shops and its share of all currently visible shops.
- Verify the hypothesis that newer shops are visible for fewer days. For each creation month cohort, compute each profile's fraction of days with final visibility=1 in its first 30 days since creation (deduping consecutive identical states), then return cohort-level profile count, median fraction, and P75/P25. Also explain how you'd handle profiles created less than 30 days before the analysis date, and how you'd test the trend statistically.
“LAG over ts partitioned by profile_id is the move here.” The rest of the author's notes on Data Scientist interview at Meta, Technical Phone Screen round, covers how they worked through the question, what the panel pushed back on, and what they would do differently.
View Post