Meta

Meta

Social media and metaverse company behind Facebook, Instagram, and WhatsApp.

4 Rounds ~21 Days Very Hard
Start Mock Interview

The Interview Loop

Recruiter Screen (30 min)

Standard fit check, behavioral questions, and resume overview.

Technical Loop (3-4 Rounds)

Deep dive into domain knowledge, coding, and system design.

Interview Question Bank

Data Analyst Coding medium

Write a SQL query to calculate month-over-month revenue growth.

#Revenue #Growth Analytics
Data Analyst Coding medium

Explain window functions. Write a query using LAG() to compute day-over-day change.

#Window Functions
Data Analyst Coding hard

How would you detect anomalies in a daily revenue time series using SQL?

#Anomaly Detection #SQL
Data Analyst Coding hard

Write a SQL query to calculate the rolling 28-day average session duration per user.

#Rolling Average #Sessions
Data Analyst Coding medium

What is a pivot table in SQL? How would you implement it without native PIVOT support?

#Pivot #Data Transformation
Data Analyst Coding hard

What is a funnel query? Write one for a 3-step user onboarding flow.

#Funnel Analysis
Data Analyst Coding hard

Write a SQL query to find customers who made purchases in both January and February but not March.

#Set Operations
Data Analyst Coding hard

How would you build a cohort analysis for user retention in SQL?

#Cohort Analysis #Retention
Data Analyst Technical medium

How do you handle timezone conversions in SQL analytics?

#Timezones #Analytics
Data Analyst Technical easy

Explain the difference between a HAVING clause and a WHERE clause.

#SQL Basics
Data Engineer Coding medium

Given a `user_logins` table with `user_id` and `login_date`, write a SQL query to calculate the 7-day rolling average of Daily Active Users (DAU) for the last 30 days.

#Window Functions #Rolling Averages #DAU
Data Engineer Coding medium

Write a SQL query to find users who have interacted with a Meta ad and subsequently made a purchase on the advertiser's website within 24 hours. You have an `ad_clicks` table and a `conversions` table.

#Joins #Date/Time Functions #Attribution
Data Engineer Coding hard

Write a SQL query to calculate the retention rate of new users on a 1-day, 7-day, and 30-day basis. You are given a `user_activity` table with `user_id` and `activity_date`.

#Cohort Analysis #Retention #Self Joins #Conditional Aggregation
Data Engineer Coding medium

Write a SQL query to compute a 7-day rolling average of daily sales.

#Window Functions #Analytics
Data Engineer Coding medium

Write a SQL query to find the second highest salary per department.

#Window Functions #SQL
Data Engineer Coding easy

Given a `friend_requests` table (sender_id, receiver_id, date, status) and an `acceptances` table, write a SQL query to find the overall acceptance rate of friend requests by date.

#Joins #Aggregations #Ratios
Data Engineer Technical medium

Explain the difference between OLAP and OLTP systems. When would you use each?

#OLAP #OLTP #Databases
Data Engineer Technical hard

How would you optimize a SQL query that is running slowly on a 1 billion row table?

#Query Optimization #Indexing
Data Engineer Technical medium

Explain the difference between RANK(), DENSE_RANK(), and ROW_NUMBER().

#Window Functions #SQL
Data Engineer Technical medium

What is a materialized view? How does it differ from a regular view?

#Materialized Views #Performance
Data Engineer Technical medium

What are CTEs (Common Table Expressions) and how do they differ from subqueries?

#CTEs #SQL
Data Scientist Coding medium

Write a query to identify duplicate records and deduplicate them.

#Deduplication #Data Quality
Data Scientist Coding hard

Given a table `friend_requests` (sender_id, receiver_id, date, status), write a SQL query to calculate the overall friend acceptance rate for each day. Note that a request sent on day 1 might be accepted on day 3.

#Self Joins #Window Functions #Ratio Calculation
Data Scientist Coding medium

Write a SQL query to calculate the 7-day rolling retention rate of users who signed up through a specific marketing campaign. You have a `users` table (user_id, signup_date, campaign_id) and a `user_activity` table (user_id, activity_date).

#Retention #Rolling Metrics #Joins
Data Scientist Coding hard

How would you write a funnel analysis query in SQL?

#Funnel #Analytics
Data Scientist Coding hard

Write a SQL query to calculate 30-day user retention.

#Retention #Analytics
Data Scientist Coding medium

Given two tables: `ad_campaigns` (campaign_id, advertiser_id, spend) and `ad_clicks` (click_id, campaign_id, user_id, timestamp), write a SQL query to find the top 5 advertisers with the highest number of clicks per dollar spent who have spent at least $10,000 in the last 30 days.

#Joins #Aggregations #Date Functions
Data Scientist Technical easy

Explain the difference between INNER JOIN, LEFT JOIN, and CROSS JOIN.

#Joins #SQL
Product Manager Coding medium

Write a SQL query to find the top 10% of users by engagement (defined as messages sent) on Facebook Marketplace over the last 30 days.

#Window Functions #Data Analysis #Marketplace

Difficulty Radar

Based on recent AI-sourced data.

Meet Your Interviewers

The "Standard" Interviewer

Senior Engineer

Focuses on core competencies, system constraints, and clear communication.

Simulate

Unwritten Rules

Think Out Loud

Always explain your thought process before writing code or drawing architecture.

Practice Now