Meta
Social media and metaverse company behind Facebook, Instagram, and WhatsApp.
4 Rounds
~21 Days
Very Hard
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
Cloud Engineer
•
Coding
•
medium
Given a massive, 100GB web server log file, write a script to find the top K most frequent IP addresses making requests. The script must run on a machine with only 4GB of RAM.
#Log Parsing
#Memory Management
#Heaps
#Hash Maps
Cloud Engineer
•
Coding
•
hard
Implement a thread-safe bounded blocking queue. It should support enqueue and dequeue operations, blocking if the queue is full or empty, respectively.
#Multithreading
#Synchronization
#Data Structures
Cloud Engineer
•
Coding
•
easy
Write a function to validate if a given string is a valid IPv4 or IPv6 address. Do not use built-in IP validation libraries.
#String Manipulation
#Validation
#Edge Cases
Data Engineer
•
Coding
•
medium
Write a Python function to merge overlapping user session intervals. Given an array of intervals where intervals[i] = [start_i, end_i], merge all overlapping intervals and return an array of the non-overlapping intervals.
#Arrays
#Sorting
#Intervals
Data Engineer
•
Coding
•
medium
Given a list of dictionaries representing Facebook post interactions (user_id, post_id, interaction_type, timestamp), write a Python script to return the top 3 most engaged posts for each interaction type.
#Dictionaries
#Heaps
#Data Aggregation
Data Engineer
•
Coding
•
easy
Given an array of integers representing the number of likes on a user's posts, write a Python function to move all zeros (posts with zero likes) to the end of the array while maintaining the relative order of the non-zero elements. Do this in-place.
#Arrays
#Two Pointers
#In-place Manipulation
Data Engineer
•
Coding
•
medium
Write a Python script to parse a massive JSONL file (100GB+) containing WhatsApp message metadata. Calculate the total number of messages sent per country code. You cannot load the entire file into memory.
#File I/O
#Memory Management
#Generators
#JSON
Machine Learning Engineer
•
Coding
•
medium
Given two sparse vectors represented as arrays of non-zero elements and their indices, write a function to compute their dot product. Optimize for both time and space complexity.
#Arrays
#Hash Table
#Two Pointers
Machine Learning Engineer
•
Coding
•
medium
Given a binary tree, write an algorithm to find the lowest common ancestor (LCA) of two given nodes. Assume each node has a pointer to its parent.
#Trees
#Pointers
#Hash Table
ML Engineer
•
Coding
•
hard
Implement a K-means clustering algorithm from scratch in Python.
#K-Means
#Clustering
ML Engineer
•
Coding
•
medium
Implement a sliding window approach to detect anomalies in a time series.
#Anomaly Detection
#Time Series
ML Engineer
•
Coding
•
hard
Implement logistic regression with gradient descent in NumPy.
#Logistic Regression
#NumPy
Software Engineer
•
Coding
•
medium
Given two nodes p and q in a binary tree representing an organizational chart, return their lowest common ancestor (LCA). Each node has a reference to its parent node, but you do not have a reference to the root.
#Trees
#Pointers
#Linked Lists
Software Engineer
•
Coding
•
medium
Given a list of user session intervals [start, end] representing the time a user spent active on the Facebook app, merge all overlapping sessions to return an array of non-overlapping continuous active sessions.
#Sorting
#Arrays
#Intervals
Software Engineer
•
Coding
•
medium
Given an array of integers representing daily ad click counts and a target integer k, return the total number of continuous days (subarrays) whose sum of clicks equals exactly k.
#Prefix Sum
#Hash Table
#Arrays
Software Engineer
•
Coding
•
easy
Given a string s representing a user's text input, return true if the string can be a palindrome after deleting at most one character.
#Two Pointers
#String Manipulation
Software Engineer
•
Coding
•
medium
Given a string of '(' , ')' and lowercase English characters representing a malformed mathematical expression in a Meta internal tool. Remove the minimum number of parentheses so that the resulting string is valid and return it.
#Stacks
#String Manipulation
Software Engineer
•
Coding
•
medium
Given the root of a binary tree representing a hierarchical DOM structure, return the vertical order traversal of its nodes' values (from top to bottom, column by column).
#Breadth-First Search
#Hash Table
#Binary Trees
Difficulty Radar
Based on recent AI-sourced data.
Meet Your Interviewers
The "Standard" Interviewer
Senior EngineerFocuses on core competencies, system constraints, and clear communication.
SimulateUnwritten Rules
Think Out Loud
Always explain your thought process before writing code or drawing architecture.