HackTheRounds Interview Experiences
Meta Software Engineer Interview Experience (2026) - E4 Offer
Walkthrough of Meta's E4 SWE loop: screening, two coding rounds (Min Remove Valid Parens, video DP), news feed ranking system design, behavioral, and team match
By Anonymous · 2026-04-05
Background
I interviewed at Meta for an E4 SWE role in early 2026. I had 4 years at a smaller social media company and applied cold through the site. The Meta loop is known for being the fastest and most intense of the FAANGs — fewer rounds, harder follow-ups, less patience for ambiguity. Here's what I actually got and what I would tell someone preparing today.
Timeline
- Application submitted: mid-January
- Recruiter screen: 8 days later
- Technical screen (1 round, coding): 2 weeks after recruiter
- Full loop: 3 weeks after tech screen
- Team matching: 2 weeks after loop
- Offer: 7 weeks total
Format
Screening: one 45-minute coding round over Zoom + collaborative editor.
Full loop (same day): 2 coding rounds (45 min each), 1 system design round (45 min), 1 behavioral round (45 min). At E4+ they sometimes collapse coding into 2 rounds instead of 3.
Team matching happens after the loop passes hiring committee. It's a two-way thing and it matters more than people think.
Screening (45 min)
Standard medium. I got a variant of "find the longest subarray summing to K." Classic prefix-sum + hashmap answer. The interviewer asked me to walk through why the brute-force O(n²) fails on the constraints (n up to 1e5) before I coded, then watched me type.
The follow-up was to return the starting and ending indices, not just the length. Slight tweak to the hashmap (store the first occurrence of each prefix sum).
[[problem/69?company=2|Remove All Adjacent Duplicates In String]]
Full Loop — Coding Round 1: Minimum Remove to Make Valid Parentheses
Problem: Given a string of lowercase letters plus ( and ) , remove the minimum number of parentheses to make the string valid. Return any valid result.
The trick here is that a naive stack-based approach works, but Meta loves to push you past the obvious solution. My first pass was:
- Left-to-right scan, track open parens. When you hit `)` with no open, mark it for removal.
- Right-to-left scan, track close parens. When you hit `(` with no close, mark it for removal.
- Rebuild the string skipping marked positions.
O(n) time, O(n) space. I talked through why two passes are needed — a single pass cannot know which ( to remove without knowing how many ) come later.
Follow-up: Return all possible valid results instead of just one. This turns the problem from greedy into backtracking. I sketched the approach: at each ambiguous choice point, branch. Prune early by tracking open-count and remaining close-count. I did not code it fully — the interviewer was satisfied with a clean recursive structure and a dedup via set .
Full Loop — Coding Round 2: Video Selection With Attention Cap
Problem: You have a list of video durations and a user's attention window W. Pick a subset of videos (in order) such that the sum of durations of any two consecutive picked videos does not exceed W. Maximize total watch time.
This took me a minute to internalize. The constraint is pairwise on consecutive picked videos, not on every adjacent pair in the input. Once I saw that, the DP became clean.
I defined dp[i][last dur] = maximum watch time using videos from index i onward, where last dur is the duration of the most recently picked video (0 if nothing picked yet). Two transitions per video: skip, or pick (if last dur + duration[i] <= W ).
The state space worried me because last dur can be up to 1e4. I noted that we only need to remember the duration of the last picked video, not which video, so the state is O(n max dur) . With memoization it fits.
The interviewer asked about the complexity before I coded. When I said "O(n × W)" she nodded and let me write it.
Follow-up: What if we want the actual subset, not just the total? Standard DP reconstruction — track parent pointers in a second table.
Full Loop — System Design: News Feed Ranking
Problem: Design a system that serves personalized news feeds at Meta scale. Assume 3B DAU, average 200 posts available per user per day, p99 feed load < 300ms.
Meta's system design is famously open-ended. There is no right answer; they are watching how you reason about tradeoffs. I structured mine in five layers:
- Content ingestion. Posts hit a write-through pipeline. Fanout on write for users with < 10k followers; fanout on read for celebrities. I spent 5 minutes on this single tradeoff because it is the Meta-specific bit.
- Candidate generation. For each user on feed load, assemble ~10k candidate posts: friends, groups, pages followed, trending-in-region. Stored in user-specific Redis sorted sets refreshed every ~5 minutes.
- Ranking. Two-stage: lightweight heuristic filter down to ~1k, then a heavier ML model scoring. The ML step runs on TFServing with per-user feature lookups from a feature store.
- Serving. Thin API layer that stitches ranked post IDs with a post-content cache. Paginate with cursors, not offsets.
- Write path for engagement. Likes, comments, reshares go to Kafka → Flink → downstream stores. Never block the user on write replication.
The interviewer spent the last 15 minutes on one question: "How do you handle a viral post whose fanout would overwhelm the write pipeline?" I walked through the fanout-on-read switch, the threshold (e.g., follower count 10k), and the compensating mechanism for when someone crosses the threshold mid-post.
[[problem/72?company=2|Design News Feed / Instagram Feed]]
Full Loop — Behavioral (45 min)
Standard Meta format: why Meta, tell me about a project, tell me about a conflict, tell me about a failure. I had three stories prepared, each mapped to 2-3 different questions.
What Meta is actually looking for:
- Moving fast and being calibrated about it (a story where you moved fast and it worked *plus* one where moving fast burned you)
- Pushback stories: did you convince someone? Did you get convinced?
- Impact framed in numbers, not adjectives
The interviewer asked for specific pull requests I was proud of and which ones in retrospect I would do differently. Nobody warned me about this one. Have two or three specific PRs ready to discuss.
Team Matching
Three 30-minute calls with different team leads over two weeks. They describe the team, you describe what you want, both sides decide. I got offered matches with three teams and picked the one whose roadmap I could articulate in detail back to the recruiter. The team-match call is not scored, but your excitement level is transparent and it affects the match.
Result
E4 offer. Standard Meta comp for the level, matched the levels.fyi range almost exactly.
Tips
- For Coding Round 1 prep, focus on string/parens/linked list problems. Meta's coding pool is narrower than Google's. Master Min Remove to Valid Parens, Valid Palindrome II, Merge Intervals, Subarray Sum variants. Those alone cover a big chunk of their question bank.
- Expect pushback, not acceptance. If you produce the optimal solution in 10 minutes, the interviewer *will* ask for a harder variant. Budget 15 minutes for the original problem and 20 minutes for the follow-up, not the other way around.
- System design is about tradeoffs, not architecture diagrams. Start with the constraint that matters most (scale, latency, consistency) and let the design flow from that. Drawing boxes before you pick a constraint is a failure mode.
- Have three PR-level behavioral stories. Not "I led a project" — "I made this specific PR and it reduced database load by 40%, here's what I traded off." Meta drills on the details.
- During team matching, do your homework on each team. Read their blog posts. Look up the tech lead on LinkedIn. Asking a specific question about a specific project signals genuine interest and changes the energy of the call.
- Do not neglect the behavioral round. I've seen people pass all three coding + system design and fail the behavioral. Meta explicitly weights it. Treat it like a 4th technical round.
Meta's loop is intense but consistent. Prep the specific question types they actually ask and you'll be in good shape.