Meta Software Engineer interview questions

1,194 Software Engineers have shared notes from their Meta interviews, with the questions they were asked in each round. That is 50% of the 2,377 Meta interview notes on Screna AI.

1194 Software Engineer interview notes

Meta·Software Engineer·Onsite - System Design / Architecture

Jul 2026
Meta system design deep dive, infrastructure focus. The whole thing was structured around one project from your resume and they just kept pulling threads until something unraveled.
  • Walk me through the most impactful infrastructure project on your resume, starting with the problem statement, constraints, stakeholders involved, and how you defined success.
  • Describe the high-level architecture of that project, including key components, your data model, and any critical algorithms or APIs you built or relied on.
  • What were the scale requirements for this system? Walk through QPS, latency targets, storage needs, your SLOs, and how you approached capacity planning.
  • Tell me about the most serious incident or failure you experienced with this system. What happened, how did you mitigate it, and what did the postmortem surface?
  • What were the quantified results of this project, and if you had three more months to keep working on it, what would you change?

“This is where I should've been more precise about the stakeholders piece.”

View Post

Meta·Software Engineer·Technical Phone Screen

Jul 2026
Meta SWE coding round, one LeetCode problem with a complexity follow-up. Pretty standard but the complexity analysis part is where they actually want to see if you know what you're doing.
  • Given two nodes in a binary tree where each node has a pointer to its parent, find their lowest common ancestor. Then analyze the time and space complexity of your solution.

“I got the core idea pretty quickly since I'd seen LCA before, but this variant with parent pointers trips you up if you default to the recursive tree approach.”

View Post

Meta·Software Engineer·Technical Phone Screen

Jul 2026
Meta SWE coding round, pretty standard interval problem. Nothing too crazy but the edge cases around touching endpoints tripped me up more than I'd like to admit.
  • Given a list of closed intervals, merge all overlapping ones (including those that touch at endpoints) and return the resulting sorted list.

“Sort first, then sweep.”

View Post

Meta·Software Engineer·Onsite - System Design / Architecture

Jul 2026
Meta system design round for a software engineer role. The whole session was built around one meaty question about building a robust API endpoint, and it went deeper than I expected across a lot of dimensions.
  • Design the full validation and error-handling strategy for an API endpoint that computes the top-K most frequent values from a user-submitted array. Cover input validation, auth, rate limiting, idempotency, error codes, partial failures, timeouts, retries, observability, and graceful degradation for bad or oversized payloads. Include example API contracts and error response shapes.

“This question sprawled in every direction and I kept second-guessing whether to go broad or deep first.”

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

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 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 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 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·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