How Meta’s SWE interviews actually run, synthesized from recent candidate reports and Meta public interview-prep guidance - including the CodeSignal OA and AI-enabled coding round rolled out during 2025. We reorganized rounds, added prep notes, and flagged team/level variance - treat this as a prep map, not a script.
Profile: ~4 years experience in backend/infra roles, applied through an employee referral, interviewed for a Bengaluru-based team
Recruiter screen
25-minute call: current role, target team preferences, comp expectations, and notice period. Referral meant the CodeSignal OA was skipped entirely and the process went straight to a phone screen.
Technical phone screen
Longest Substring Without Repeating Characters (sliding window + hashmap), with a follow-up on handling Unicode edge cases.
Onsite
Coding (traditional): Merge Intervals, then a follow-up on handling a live/streaming stream of intervals.
Coding (AI-enabled): a rate-limiter implementation with an AI assistant available. The interviewer cared more about why the candidate accepted or rejected each suggestion than whether the assistant was used at all.
System design: design the ranking layer behind a News Feed - caching, fan-out strategies, and consistency-vs-availability trade-offs at read time.
Behavioral: a project with measurable impact, a time a decision had to be made with incomplete information, and a disagreement with a manager.
Result: Offer at E4.
Takeaways
What decided it: The AI-enabled round rewarded narrating the reasoning behind each prompt, not the code the assistant produced. The design and behavioral rounds carried noticeably more of the leveling conversation than either coding round.
Common fail: Treating behavioral as informal, or rushing AI-assisted coding
How to practise: CodeSignal progressive drills; narrate AI accept/reject decisions
Experience 2: Software Engineer E3, University Grad program (2025)
Profile: Final-year CS student, applied off-campus through Meta’s University Grad posting (not a campus placement drive), one relevant internship
Recruiter screen
20-minute call covering eligibility, graduation timeline, and location preference.
Online Assessment (CodeSignal)
A single problem in 4 progressive stages: basic get/set on an in-memory store, then TTL expiry, then point-in-time reads, then deletion - about 80 minutes total, video and mic on throughout.
Technical phone screen
Two Sum, then Valid Parentheses as a quick follow-up; interviewer probed time/space complexity on both.
Onsite
Coding: Binary Tree Vertical Order Traversal (BFS with column tracking), then Group Anagrams.
Architecture discussion (lighter than a full E4+ design round): a simplified notification-delivery flow, mostly API shape and data model rather than distributed-systems depth.
Behavioral: why Meta, a time a project failed and what changed afterward, and a teamwork/disagreement story.
Result: Offer at E3.
Takeaways
What decided it: The behavioral round felt conversational, almost informal, but a friend in the same hiring cycle with stronger coding scores was rejected after a flat, generic behavioral round - treat it as a real evaluation, not a formality, even at entry level.
Common fail: Treating behavioral as informal, or rushing AI-assisted coding
How to practise: CodeSignal progressive drills; narrate AI accept/reject decisions
Experience 3: Software Engineer E4, Bengaluru (2025, no offer)
CodeSignal-style OA, then a 45-minute phone screen with two problems; recruiter feedback described performance as marginal pass (“OK” coding, imperfect OA).
Onsite (four rounds over two days)
Coding: standard DSA - performance mixed vs strong hire bar.
AI-assisted coding: multi-part codebase problem; candidate suspected this round received the negative rating that sank the packet (recruiter gave no per-round detail).
Behavioral: standard motivation and teamwork prompts.
Product design:food-delivery-style system with deep follow-ups on geospatial indexing, Elasticsearch for restaurant search, and scaling reads - more detailed than generic “design Uber” prep lists.
Result: Rejected ~3 days after onsite.
Takeaways
What decided it: E4 loops can fail on one weak round despite passing others. For AI-assisted coding, prioritize reading unfamiliar code quickly, narrating verification, and finishing Phase 1 understanding before rushing implementation. Product design at Meta is not always “News Feed” - prepare location/search depth too.
Common fail: Treating behavioral as informal, or rushing AI-assisted coding
How to practise: CodeSignal progressive drills; narrate AI accept/reject decisions
Questions that come up often
Coding / technical
Merge Intervals - sorting + interval merging
Longest Substring Without Repeating Characters - sliding window + hashmap
Binary Tree Vertical Order Traversal - BFS with column tracking
Design Messenger or a chat/notification system at scale
Design a search or content-ranking service
Design a rate limiter or distributed cache
Design a food-delivery or local-search service (geospatial indexing, Elasticsearch-style retrieval)
AI-enabled coding (2025+)
Debug and extend a multi-file codebase (maze/graph traversal, serialization)
Implement BFS/DFS extensions with tests provided in-environment
Explain and verify any AI-suggested change before accepting it
Behavioral
Highest-impact project you’ve shipped - how did you measure it?
A decision made with incomplete information, or something that broke after moving fast
Direct/difficult feedback given or received
A time you failed and what you changed
A disagreement with a manager or teammate and how it resolved
Practical tips for Meta
The CodeSignal OA is a real gate for many candidates now (added in 2025) - practice under a monitored, timed setting, not just untimed LeetCode.
If you draw the AI-enabled coding round, write a first pass yourself before leaning on the assistant, and be ready to explain why you accepted or rejected its suggestions.
Scale your system-design answer to your target level - E3 loops often get a lighter architecture chat, not a full distributed-systems design.
Don’t treat the behavioral round as a formality because it feels conversational - public reports say it (along with system design) decides your final level, sometimes independent of how well coding went.
Prepare a distinct story for each of Meta’s five signals (driving results, ambiguity, communication, growth, conflict resolution) rather than reusing one story for all of them.
HR interview
Meta’s behavioral round doubles as its closing HR-style conversation: motivation, career direction, and a couple of the five signal-area stories described above. Prepare those answers on the dedicated page rather than cramming them into this hub.
Sample answers for high-frequency questions
Use these as frames, not scripts - interviewers probe follow-ups.
Q. How do you solve Merge Intervals? A. Sort the intervals by start time, then sweep once keeping a current interval. For each next interval, if its start is at most the current interval’s end they overlap, so extend the current end to the maximum of the two ends; otherwise push the current interval to the result and make the next one current. Push the final interval after the loop. Sorting dominates at O(n log n) time with O(n) output space. The follow-ups Meta interviewers reach for are inserting a single new interval into an already-sorted list, which is O(n) with a three-phase scan, and handling touching intervals such as [1,3] and [3,5], where you must ask whether they should merge.
Q. Minimum Remove to Make Valid Parentheses - what is the approach? A. Do two passes with a stack of indices. In the first pass, scan left to right: push the index of each open bracket; on a close bracket, pop if the stack is non-empty, otherwise record that close bracket’s index as unmatched. After the pass, whatever indices remain on the stack are unmatched open brackets. Collect both sets, then build the result string skipping those indices. That is O(n) time and O(n) space, and it removes the minimum number of characters because every index marked was provably unmatchable. A common mistake is deleting from the string during the scan, which shifts indices - mark first, rebuild once.
Q. How do you do a vertical order traversal of a binary tree? A. Run a BFS while carrying a column index: the root is column 0, a left child is column minus one, a right child is column plus one. Append each node’s value into a hash map keyed by column, and track the minimum and maximum column seen. Because BFS visits level by level, values land in top-to-bottom order automatically, which is why BFS is preferred over DFS here - a DFS needs an explicit sort by row afterwards. At the end, emit the columns from minimum to maximum. Time is O(n) and space O(n). The clarifying question worth asking is how to order two nodes in the same row and column: the harder variant requires sorting those values, the classic Meta version accepts left-to-right insertion order.
Q. How would you count the number of islands in a grid? A. Scan every cell; when you find an unvisited land cell, increment the island counter and flood-fill from it with DFS or BFS, marking every reachable land cell visited so it is never counted again. Each cell is visited a constant number of times, so it is O(rows times columns) time; space is O(rows times columns) in the worst case for the recursion stack or queue. Mutating the input grid in place (writing a 0 over visited land) avoids a separate visited matrix, but you should say out loud that you are modifying the caller’s data and offer to restore it. Typical follow-ups are switching to 8-directional connectivity, handling a grid too large for memory by streaming rows, and the union-find variant used when islands are added one at a time.
Q. Product of Array Except Self, without division. A. Build the answer from two directional prefix products. First pass left to right: result[i] holds the product of everything before i, maintained by a running variable starting at 1. Second pass right to left: keep a running suffix product, multiply it into result[i], then update it with the original nums[i]. That gives O(n) time and O(1) extra space beyond the output array, which is what the interviewer is looking for. Division is banned partly because a single zero anywhere breaks it; the two-pass approach handles zeros naturally, since one zero leaves exactly one non-zero entry and two zeros make everything zero.
Tips from successful candidates
Assessment tips
Confirm the current Meta pattern from the drive mail before practising old papers
Finish one problem or section fully before starting the next
Revise the fundamentals listed in the round table on this page
Interview tips
Narrate trade-offs; expect “why” after every answer
Only list projects you can defend under follow-ups
Prepare 3-4 STAR stories for behavioural prompts
HR tips
Know why Meta, not just why the industry
Be clear on location / notice period / higher studies
These links are research inputs we used to map round structure and recurring questions - not copied page mirrors. We reorganized reports into process tables, outcome notes, and prep takeaways for Meta.
Cross-check the current drive mail or careers posting for timings and pattern changes.