I recently completed my full-loop interview at Meta for a Software Engineer, Product position. The interview included two coding rounds, two behavioral interviews, and one system design interview.
I was tasked with designing a system to enable the internationalization of services within Facebook, specifically to allow Facebook to translate content for clients.
Problems:
java class SortedIterator implements Iterator<Integer> { public SortedIterator(List<List<Integer>> lists) {} public boolean hasNext() {} public Integer next() {} } Problems:
java Input: [[ 1, 2, 3, 4], [ 6, 7, 8, 9], [11, 12, 13, 14], [16, 17, 18, 19]] Output: [1, 6, 2, 11, 7, 3, 16, 12, 8, 4, 17, 13, 9, 18, 14, 19] Focused on past projects and challenges, including complex projects, conflict resolution, and feedback given to peers.
Similar to the first, covering topics like conflict resolution and peer feedback.
I did not advance in the interview process. The recruiter indicated that I did not pass any of the rounds.
System Design: The interview went well, though I believe I could have performed better. (Grade: B+) 1st Coding Interview: This round went extremely well. I solved all problems, explained my solutions, and wrote clean code with test cases. (Grade: A+) 2nd Coding Interview: Despite a rocky start, I successfully solved all problems, explained the solutions, and wrote clean code with test cases. (Grade: A) 1st Behavioral Interview: This round went well. I provided clear answers with examples and tangible results. (Grade: A-) 2nd Behavioral Interview: Similar to the first, it went well with solid examples and results. (Grade: A)
I was surprised by the outcome, especially considering my performance in the coding rounds. I understand that behavioral interviews can be subjective, but I am still unsure how I did not pass the coding interviews. I hope this overview of the process and my experience is helpful.