I interviewed with Meta for three months, being considered for an E4 or E5 position. I am a new graduate with two years of experience. My experience is as follows:
Screening Interview: Question 1 - Sum Root to Leaf Numbers. Time and Space Complexity: O(N) Question 2 - Minimum Window Substring. Time Complexity: O(N+M), Space Complexity: O(M) I provided optimal solutions, performed dry runs, and handled edge cases. The interviewer seemed impressed. Result: The recruiter contacted me the next day to inform me that I passed the interview. However, the initial role was filled, and they would interview me for a similar role. I had three weeks to prepare for the full-loop interviews.
Full Loop:
1st Coding Round:
Valid Palindrome II. Time Complexity: O(N), Space Complexity: O(1)
Top K Frequent Elements. Time Complexity: O(NlogK), Space Complexity: O(N)
The interviewer asked follow-up questions for the second question by adding constraints. I answered them, addressed edge cases, discussed potential test cases, and performed a dry run. The interviewer was unfamiliar with Python and initially thought that pop() and push() in heapq took O(1) time. I clarified that the optimal time complexity is O(NlogK). The interviewer suggested solving the second question using a sorted dictionary for an O(N) solution, which I did not argue with due to unfamiliarity with that approach.
2nd Coding Round: Similar to Continuous Subarray Sum, but without the constraint of a 'good' subarray. Time Complexity: O(N), Space Complexity: O(1) Similar to Binary Tree Right Side View. The question required returning a list of nodes in a left-view top-down manner and then a list of nodes in a right-view bottom-up manner. Time Complexity: O(N), Space Complexity: O(N) The interviewer gave positive feedback and seemed impressed.
System Design Round: I was asked to design Ticketmaster. The interviewer focused on the booking process flow, UI design, and preventing double-booking and managing high-demand events. My solution involved using a Redis lock on tickets and SQS to handle popular events. I believe my solution was strong.
Behavioral Round: I answered common questions about conflict resolution, teamwork, communication, and feedback using the STAR method, including quantifiable results.
My interviews were frequently rescheduled, and the third coding round was canceled. I was ultimately rejected without feedback. I believe my coding solutions were optimal, and the behavioral and system design rounds went well. I am disappointed, as I focused solely on this opportunity for three months.