← Back to Directory

Meta interview notes, page 237 of 238

FAANG / Big Tech

Most of these Meta write-ups come from Software Engineers (1,194), then Data Scientists (489) and Product Managers (453). The most reported rounds are the technical phone screen (1,190), the product sense round (466), the system design round (255) and the behavioral / leadership round (205).

2377 interview notes · updated Jul 2026

Meta·Data Scientist·Technical Phone Screen

Jul 2026
SQL-heavy technical screen for a DS role at Meta. Two questions, both around aggregations and joins, but the second one had enough edge cases to slow me down a bit.
  • Given a table of buyer-seller listing interactions and a product dimension table, write SQL to find how many sellers have more than 3 distinct products where that product's total interaction count (summed across all rows for that seller-product pair) is greater than 1.
  • Among products created in the US within the last 7 days, what percentage of total listing interactions comes from the 'vehicle' category? Return the result as a value between 0 and 100.

“The definition of 'multiple interactions' tripped me up at first.”

View Post

Meta·Software Engineer·Technical Phone Screen

Jul 2026
Coding round at Meta for a software engineer role, focused entirely on palindrome substrings. The problem itself wasn't too bad but the follow-up about linear time had me scrambling a bit.
  • Given a lowercase ASCII string, count all palindromic substrings. Implement an O(n^2) expand-around-center solution, handle both odd and even length centers, then conceptually describe how you'd get it down to linear time. Walk through complexity and edge cases like empty strings, single characters, and all-identical-character strings.

“I actually felt decent about the expand-around-center part.”

View Post

Meta·Software Engineer·Technical Phone Screen

Jul 2026
Meta software engineer interview with a tree problem that sounds straightforward but has some gotchas if you're not careful with how you propagate subtree info.
  • Given a binary tree, check whether every node's value equals the integer average of all values in its own subtree (including itself).

“My first instinct was to write a separate helper that recomputes the subtree sum and count from scratch for each node, which works but is O(n^2) and they pushed back on it pretty fast.”

View Post

Meta·Software Engineer·Technical Phone Screen

Jul 2026
Meta data engineer round, one coding-style question about dictionary manipulation and capacity redistribution. Pretty algorithmic for a DE role but not shocking given Meta's bar. Short session, nothing behavioral.
  • You're given a nested dictionary where each entry maps a closed site to a destination site and the additional capacity needed there. Each site also has a baseline capacity stored at the self-referential key. Given a set of closed sites, compute the final capacity for each remaining open site by summing its baseline with any redistribution from closed sites. Return only the open sites in the output.

“The self-referential baseline thing tripped me up for a second.”

View Post

Meta·Data Scientist·Technical Phone Screen

Jul 2026
SQL-heavy technical screen for a Data Scientist role at Meta. Three questions, all SQL, progressively nastier. The last one about growth proportion had enough edge cases to make me second-guess my own logic twice.
  • Write a query to compute daily revenue broken out by creation source, ordered by date and creation source. Only include dates that actually appear in the ads table.
  • Find the 10 countries with the fewest distinct active advertisers over the last 30 days, where active means at least one ad with revenue greater than zero in that window. Countries with zero active advertisers should still appear in the results. Break ties alphabetically.
  • For each creation source, compute the proportion of advertisers who grew their spend by at least 1000 between the first 8 months of 2024 and the same period in 2025. The denominator is all advertisers with any spend in either period for that source. Advertisers missing from one period should be treated as having zero spend for that period.

“Straightforward group-by aggregation.”

View Post

Meta·Machine Learning Engineer·Onsite - Behavioral / Leadership

Jul 2026
Prepping for a behavioral loop at Meta for an MLE role. Five prompts, all the usual suspects. Nothing technically surprising but the expectation to reflect on what you'd do differently tripped me up more than I expected.
  • Tell me about a project you're proud of and why.
  • Describe a time you had to work with someone who was difficult. How did you handle it?
  • Walk me through a time you were working against an aggressive deadline. What did you do?
  • How have you handled unexpected changes to a project's scope mid-flight?
  • Give an example of a time you mentored or helped a teammate grow.

“I had a solid story ready but kept second-guessing whether it was impressive enough for Meta's bar.”

View Post

Meta·Software Engineer·Onsite - System Design / Architecture

Jul 2026
Meta system design round for a software engineering role. The problem was a web crawler, which sounds manageable until you start thinking through all the moving parts at scale. Left feeling like I covered the basics but probably undersold some of the trickier bits.
  • Design a web crawler that continuously discovers and downloads web pages at scale, starting from a set of seed URLs.
  • How would you handle duplicate URL detection and avoid re-crawling the same pages?
  • How would you enforce per-domain rate limits and respect robots.txt rules across a distributed crawler?
  • How would you prioritize which pages to crawl first, balancing importance and freshness?
  • How would you store the fetched page content and associated metadata at scale?
  • How would you make the crawler fault tolerant and resumable if workers crash mid-crawl?

“I started with the URL frontier and BFS-style expansion, which felt right, but I stalled a bit when they pushed on prioritization.”

View Post

Meta·Software Engineer·Technical Phone Screen

Jul 2026
Meta SWE interview with a mix of classic and slightly-off-the-beaten-path coding problems. The 2D rectangle merge variant was the one that stuck with me.
  • Find the kth largest element in an unsorted array.
  • Group strings that belong to the same shift sequence (i.e., strings that can be transformed into each other by shifting each character by the same amount).
  • Given a set of 2D rectangles, merge all overlapping ones into the smallest set of non-overlapping rectangles. This is a 2D extension of the classic merge intervals problem.
  • Given a binary search tree and a range [low, high], return the sum of all node values within that range.

“Went with a min-heap of size k.”

View Post

Meta·Software Engineer·Onsite - System Design / Architecture

Jul 2026
Meta system design round focused entirely on a weighted random sampling problem. Pretty deep dive, lots of follow-ups, felt like they wanted to see how far you could push a single idea rather than breadth across topics.
  • Design and implement a data structure that supports weighted random index selection, where each index is returned with probability proportional to its given weight. Optimize for many repeated calls after a single initialization phase.
  • How would you modify the design to support point updates to individual weights after initialization?
  • How do you handle precision loss when the sum of weights is very large?
  • Compare the prefix-sum binary search approach with the alias method for this problem.
  • How would you design tests to detect sampling bias in your implementation?

“This is the core question and it ate up most of the session.”

View Post

Meta·Software Engineer·Technical Phone Screen

Jul 2026
Meta SWE interview with a tree traversal problem that looked clean on the surface but had enough edge cases to keep me busy. The follow-ups pushed into territory I hadn't fully thought through beforehand.
  • Given a binary search tree, compute a vertical order traversal where the root is at (row 0, col 0), left children shift one column left and one row down, right children shift one column right and one row down. Return columns sorted by index, each containing node values sorted by row, with ties broken by left-to-right BFS order. Walk through your algorithm, justify the time and space complexity, and implement it.
  • If the tree is extremely skewed (essentially a linked list), how would you prevent hitting recursion depth limits?
  • How would you handle streaming the vertical order traversal results if the tree is too large to fit in memory all at once?

“I went with a BFS that tracks (node, row, col) tuples, collecting everything into a map keyed by column.”

View Post