Most people suggests keeping interview every year to make sure you have the ability to find a better job, especially when you’re fired.
This should be the 3rd or 4th times to interview Facebook/Meta. Without surprise, I fail again. But I feel much better because I didn’t expect anything in the beginning. I don’t think I’m ready to join Meta, especially many people mention the survival rate as L6 in Meta is very low. I just told myself it’s another try to learn something.
Here briefly records my interview process and some thoughts. I could not leak the interview questions, but I list all the leetcode problems with Meta tag based on https://www.1point3acres.com/bbs/thread-1117997-1-1.html.
First Interview
I was contacted by the Meta recruiter because I was interviewed 2023. I didn’t try Meta 2024 even I was contacted too, because I didn’t have plan to join Meta. This year is the same, but I want to know my interview skill, so I decided to try.
In the first interview(45min), I met a nice guy, who has soft voice. I was asked 2 easy Leetcode questions. I quickly hacked the first question. I hack the second question too, but not the optimal solution. Fortunately I passed the first interview. So I scheduled the onsite interview in 4 weeks later.
In the last 5mins of the interview, I’m asking one question, what’s the point if the leetcode question could not figure out if the candidate is great in the daily job, because Meta keeps laying off low performance employees? He just answered this was still the best way before they figured out a better way.
Virtual Onsite
Virtual onsite interviews still have 5 sessions, but were scheduled in 2 days. Sessions 1-3 were in the first day, another 2 sessions were in the second day.
Session 1: Coding
This interviewer is a nice guy, polite and warm. Try to discuss the problem, not challege the interviewee. I got 2 Leetcode Medium problems.
Session 2: System Design
A Chinese interviewer, who is aggresive and challenge interviewee all the time. I didn’t like him. I feel I should be failed by this guy. His design question was a bad example when I was trained as interviewer in Uber. For example, design a system like Uber. This kind of design question is meaningless, because Uber has a lot of systems, do you want to design booking, login, tracking, payment, etc. So the design question should be specific.
So I ask some questions, then he mentioned some key requirements to make the scope clear. Of course the interview question is not design Uber, but it’s design XXX.
I provided one client heavy solution, but avoid server side complexity, which is not expected by the interviewer, but it works, even works without big problem from scaling thousands users to million users, because it doesn’t need to worry about server scaling up. The client logic is not too complex.
It seems the interviewer is not familiar with the client, so it’s very surprised for him. But he didn’t guide me to the server solution, so he could not ask more deeper questions. But the interview session is finished 10 mins earlier, not 5 mins as other sessions. I felt we both want to finish the unhappy discussion as soon as possible.
Session 3: Coding
It is a Chinese interviewer too, but this guy is much nice. It seems we were discussing something. If I didn’t provide his expected answers, he would provide some hints to lead me to the right direction he wanted.
The first question is easier, but we discuss some time and space complexity in the recursive solution. Then I changed the recursive to while-loop solution. Actually I know the optimal solution, I should go for it directly, then I will not waste time in the time/space complexity discussion, especially which shows I’m not very familiar with the O(n) calculation. In the end, I provided right answers with his hints.
The second question is a hard question. I didn’t finish it, but provide some key points like BFS idea, and implemented the BFS.
Session 4: Product Design
The last product design discussion had a broader scope, including metrics definition. This time, the focus is narrowed to system design, specifically looking at the system’s architecture and boundaries (breadth of components and connections) rather than implementation depth, no product idea and strategy questions.
This interviewer was nice too.
Session 5: Behavior
Another nice interviewer, who is a researcher and should has higher level. Just follow the STAR rules to answer different questions. It’s a nice discussion and we can learn from each other. Usually the higher position person, the more humble and nicer.
The better interviewer tries to find your shining part and hope your interview successful.
LeetCode Problems Asked By Meta
All the interview questions are from Leetcode, so please practise as many as possible if you really want to get the Meta position. All these problems are from https://www.1point3acres.com/bbs/thread-1117997-1-1.html.
- Merge Sorted Array Easy.
- Diameter of Binary Tree Easy
- Merge Intervals Med
- Max Consecutive Ones III Med
- Fibonacci Number Easy
- Shortest Distance from All Buildings Hard
- Minimum Remove to Make Valid Parentheses Med
- Valid Word Abbreviation Easy
- Binary Tree Right Side View Med.
- Kth Largest Element in an Array Med
- Valid Palindrome II Easy
- Subarray Sum Equals K Med
- Binary Tree Vertical Order Traversal Med
- Buildings With an Ocean View Med
- Valid Palindrome Easy
- Basic Calculator II Med
- Lowest Common Ancestor of a Binary Tree III Med.
- Pow(x, n) Med
- Nested List Weight Sum Med
- Lowest Common Ancestor of a Binary Tree Med.
- Two Sum Easy
- Random Pick with Weight Med.
- Shortest Path in Binary Matrix Med
- Top K Frequent Elements Med
- LRU Cache Med
- Making A Large Island Hard
- Moving Average from Data Stream Easy
- K Closest Points to Origin Med
- Sum Root to Leaf Numbers Med
- Copy List with Random Pointer Med
- Merge k Sorted Lists Hard.
- Find First and Last Position of Element in Sorted Array Med
- Simplify Path Med.
- Kth Missing Positive Number Easy
- Best Time to Buy and Sell Stock Easy
- Find Peak Element Med.–
- Dot Product of Two Sparse Vectors Med
- Next Permutation Med. Waral dи,
- Minimum Window Substring Hard
- Clone Graph Med
- All Nodes Distance K in Binary Tree Med. —-
- Minimum Add to Make Parentheses Valid Med
- Range Sum of BST Easy
- Group Shifted Strings Med
- Custom Sort String Med
- Continuous Subarray Sum Med.
- Sliding Window Median Hard. Frombbs
- Diagonal Traverse Med
- Interval List Intersections Med
- Vertical Order Traversal of a Binary Tree Hard
- Valid Parentheses Easy
- Exclusive Time of Functions Med ..
- Maximum Swap Med
- Course Schedule Med.
- Insert into a Sorted Circular Linked List Med
- Expression Add Operators Hard
- 3Sum Med
- Remove Nth Node From End of List Med
- Construct Binary Tree from String Med.
- Set Matrix Zeroes Med
- Remove Invalid Parentheses Hard
- Robot Room Cleaner Hard
- Merge Strings Alternately Easy.
- String to Integer (atoi) Med
- Remove All Adjacent Duplicates In String Easy
- Word Ladder II Hard
- Word Ladder Hard
- Maximum Average Subarray I Easy
- Number of Islands Med
- Find Pivot Index Easy
- Contains Duplicate II Easy
- Lowest Common Ancestor of a Binary Search Tree Med
- Convert Binary Search Tree to Sorted Doubly Linked List Med.
- Create Hello World Function Easy
- Meeting Rooms II Med
- Closest Binary Search Tree Value Easy
- Find Median from Data Stream Hard
- Design Tic-Tac-Toe Med
- Add Strings Easy
- Check Completeness of a Binary Tree Med
- Longest Substring Without Repeating Characters Med
- Median of Two Sorted Arrays Hard
- Search in Rotated Sorted Array Med
- Maximum Subarray Med
- Valid Number Hard
- Add Binary Easy.
- Climbing Stairs Easy
- Valid Palindrome III Hard.
- Toeplitz Matrix Easy
- Recyclable and Low Fat Products Easy
- Random Pick Index Med
- Cutting Ribbons Med
- Add Two Numbers Med
- Longest Palindromic Substring Med
- Longest Common Prefix Easy.
- Remove Duplicates from Sorted Array Easy.
- Can Place Flowers Easy
- Binary Tree Inorder Traversal Easy
- Put Marbles in Bags Hard
- Binary Tree Maximum Path Sum Hard
- Palindromic Substrings Med
- Car Pooling Med
- Rotate Array Med
- Happy Number Easy
- Product of Array Except Self Med
- Alien Dictionary Hard
- Letter Case Permutation Med
- Count Nodes Equal to Average of Subtree Med
- Add Two Integers Easy
- Goat Latin Easy
- Friends Of Appropriate Ages Med
- Kth Smallest Element in a Sorted Matrix Med
- Evaluate Division Med
- Longest Nice Subarray Med
- Squares of a Sorted Array Easy
- Palindrome Number Easy
- Minesweeper Med
- Minimum Time to Collect All Apples in a Tree Med.
- Generate Parentheses Med
- Remove Element Easy
- Missing Element in Sorted Array Med
- Trapping Rain Water Hard
- Next Greater Element III Med
- Group Anagrams Med
- Longest Subarray of 1’s After Deleting One Element Med. Frombbs
- Jump Game Med
- Length of Last Word Easy
- Unique Paths Med
- Plus One Easy
- Minimum Number of Days to Make m Bouquets Med
- Minimum Number of Operations to Make Elements in Array Distinct Easy
- Search a 2D Matrix Med
- Validate Binary Search Tree Med
- Symmetric Tree Easy
- Populating Next Right Pointers in Each Node Med
- Best Time to Buy and Sell Stock II Med
- Best Time to Buy and Sell Stock III Hard
- Sort List Med
- Max Points on a Line Hard
- Find K Closest Elements Med.
- Missing Ranges Easy
- Valid Parenthesis String Med
- Two Sum II - Input Array Is Sorted Med
- Majority Element Easy
- Binary Search Tree Iterator Med
- Max Area of Island Med.
- Maximum Nesting Depth of the Parentheses Easy
- Max Stack Hard
- Accounts Merge Med
- Solving Questions With Brainpower Med.
- Valid Anagram Easy
- Strobogrammatic Number Easy
- Strobogrammatic Number II Med
- Minimum Average Difference Med
- Binary Tree Pruning Med
- Odd Even Linked List Med
- Reconstruct Itinerary Hard
- Largest Divisible Subset Med. Χ
- Koko Eating Bananas Med
- Generate Random Point in a Circle Med.
- Split Array Largest Sum Hard
- Longest Repeating Character Replacement Med
- Rotating the Box Med
- Maximum Population Year Easy
- Shortest Bridge Med
- Max Consecutive Ones Easy
- Target Sum Med
- Create a DataFrame from List Easy