Skip to content

Meta Interview Guide

Meta’s coding rounds usually pack two problems into 45 minutes, which changes the optimisation target completely. At Google you go deep on one problem; here you must finish two, and running out of time on the second is the most common way strong candidates fail.

That makes fluency the binding constraint rather than insight. The problems are drawn from a relatively stable pool of pattern families — the list below is the durable signal — and the expectation is that you recognise, state, and implement without long pauses.

Speed and volume. Two problems in 35-40 minutes of coding time is the signature format, so a pattern you have to derive from scratch will cost you the round even if you get there.

The loop

Phone screen 1× · 45 min Two mediums back to back
Coding (onsite) 2× · 45 min Two problems each, mediums with one hard
Behavioural ("Jedi") 1× · 45 min Conflict, ownership, moving fast
System design 1× · 45 min E5 and above

The bar

Interviewers are looking for a working solution plus a stated complexity inside ~20 minutes per problem. Optimal-first matters more here than anywhere else — there is no time to iterate from brute force.

What they lean on

This is the durable part. Which pattern families a company favours is far more stable than which individual problems it uses, so prepare in this order:

  1. two-pointers
  2. tree-dfs-paths-and-sums
  3. binary-search-template-and-variants
  4. hash-tables
  5. grid-traversal-islands-and-flood-fill
  6. one-dimensional-dp
  7. stack-parsing-and-expression-evaluation

Quirks worth knowing

  • Budget 20 minutes per problem and say so out loud. Ask which problem to start with if given a choice.
  • Meta reuses a comparatively small rotation of problems; the "top 50 Meta-tagged" lists have unusually high hit rates.
  • Clarify input assumptions in one sentence, not five. Over-clarifying eats the clock you cannot spare.
  • You are hired to the company, then matched to a team afterwards, so breadth beats depth in any one domain.

Reported problems

29 problems
5 easy19 medium5 hard
  • Spending 30 minutes on the first problem. Two problems, 45 minutes: that is roughly 20 minutes each including clarification and testing. If you are 15 minutes in with no working code, say so and simplify.
  • Over-clarifying. Ask the one or two questions that change your approach, then move. A five-minute clarification phase costs a quarter of your budget for that problem.
  • Hand-rolling what the stdlib provides. Writing your own heap or binary search burns minutes you do not have. heapq, bisect, Counter, deque — know them cold.
  • Leaving code untested because time ran out. Trace one small input out loud. An untested solution reads as unfinished even when it is correct.
They askWhat they’re checkingThe answer
“Can you do that faster?”Fluency, not depthAnswer in one sentence and start typing. Long silences cost more here than a slightly suboptimal first pass would.
“Let’s move on to the second problem.”Whether you can let goTake it. Finishing one problem and half of another is a weaker outcome than solving both adequately.
“Walk me through your code.”Whether you can trace under time pressureTrace it on the smallest input that exercises the interesting branch. Do this unprompted — it is fast and it is the strongest signal available.
“How would you test this?”Engineering instinct in 30 secondsCategories, not examples: empty, single element, all equal, and the boundary the algorithm turns on.
  • Two problems, 45 minutes. ~20 minutes each. Time management is the skill being tested.
  • Fluency over insight. The pool of pattern families is stable; recognise, state, implement without pausing.
  • Know the stdlib coldheapq, bisect, Counter, deque. Hand-rolling costs minutes you do not have.
  • Clarify in two questions, then move.
  • Trace one small input unprompted, even when time is tight.

pch.coffeeTagline

pch.coffeeCta

pch.feedbackHeading

pch.feedbackSubheading