Meta E4 SWE Infra Full Loop
Summary
I completed a full-loop interview at Meta for a SWE Infra E4 role, which included a phone screen, two coding, two system design, and one behavioral round. I detailed the specific questions asked in each round, along with my approaches and follow-up discussions, and am currently awaiting results.
Full Experience
Completed the full loop at Meta today.
FYI, I was scheduled 5 total interviews from the start (1 behavioral, 2 Coding, 2 System Design)
Phone Screen
- 347. Top K Frequent Elements - No variations. Solved with bucket sort.
- 207. Course Schedule - Phrased as "Software Packages Install Order"
Behavioral
Typical behavioral questions. What project are you most proud of? Tell me about a time you had a conflict with a coworker? You mentioned you are interested in X topic, what are some experiences you have with that? Interviewer asked tons of questions, felt like a conversation.
System Design 1
Design Netflix. Interviewer gave very weird vibes throughout the whole interview. Didn't really say much other than "what tradeoffs", "I don't understand" , "are there any other considerations you wish to talk about?" . Overall design was heavily based off Youtube design from Hello Interview. I think my design was solid, could have had better communication with the interviewer. Round I am most unsure about.
Coding 1
- 215. Kth Largest Element - No variant. Used heap solution.
- 543. Diameter of Binary Tree - No variant. Had to count # nodes in the diameter rather than edges as in the LC problem. Solved with DFS.
Coding 2
- 129. Sum Root to Leaf Numbers - No variant. I wanted to solve it with Morris Traversal, but interviewer made me use DFS instead. Some followups about how "0" would be handled (no change needed) as well as "What if result and/or current number is too big to fit into any size integer?" . Gave some verbal explanation of tracking values using a list. Was not asked to code this up.
- 708. Insert Into a Sorted Circular Linked List - No variant. Had to return pointer to newly inserted node. Solved with two pointer approach. Interviewer asked lot of followups about edge cases and how solution would handle them.
System Design 2
Design a Leaderboard...? Gaming platform with user scores. Users can see global leaderboard, leaderboard of friends, and their position in leaderboard as well as 10 ppl above and below them. Solved using redis sorted sets and typical system design stuff. Interviewer had a reverse shadow so I think this round didn't count, but not sure.
Interview Questions (9)
The problem was phrased as "Software Packages Install Order". The core problem is equivalent to LeetCode 207. Course Schedule, where you are given a total number of courses you have to take, labeled from 0 to numCourses - 1, and an array of prerequisites where prerequisites[i] = [ai, bi] indicates that you must take course bi first if you want to take course ai. Return true if you can finish all courses, otherwise false. The full problem description can be found at the provided LeetCode link.
Typical behavioral questions were asked, including: "What project are you most proud of?", "Tell me about a time you had a conflict with a coworker?", and "You mentioned you are interested in X topic, what are some experiences you have with that?". The interview felt conversational.
Design a system like Netflix. The interviewer focused on tradeoffs and clarifications ("what tradeoffs", "I don't understand", "are there any other considerations you wish to talk about?").
The problem was a variation of LeetCode 543. Diameter of Binary Tree. Instead of counting the number of edges in the diameter, I had to count the number of nodes. The diameter of a binary tree is the length of the longest path between any two nodes in a tree. This path may or may not pass through the root. The full problem description for the original problem can be found at the provided LeetCode link.
Given a binary tree containing digits from 0-9 only, each root-to-leaf path could represent a number. Find the total sum of all root-to-leaf numbers. No variant was mentioned for the core problem. Follow-up questions included "how 0 would be handled" (no change needed) and "What if result and/or current number is too big to fit into any size integer?". The problem description can be found at the provided LeetCode link.
Given a reference to a node in a circularly sorted linked list, insert a new element insertVal into the list such that it remains a circularly sorted list. The new node should be inserted such that the list remains sorted. If there are multiple valid places to insert, any of them is fine. We need to return the pointer to the newly inserted node. No variant was mentioned. The interviewer asked a lot of follow-ups about edge cases and how the solution would handle them. The problem description can be found at the provided LeetCode link.
Design a leaderboard for a gaming platform with user scores. Users should be able to see a global leaderboard, a leaderboard of their friends, and their own position in the leaderboard along with 10 people above and below them.
Preparation Tips
Studied using Meta tagged questions on Leetcode, Coding with Minmer guides, HelloInterview, and Alex Wu System design.