[ INFO ]category: Behavioral · Onsite difficulty: hard freq: first seen: 2024-01-13
[HARD][ONSITE]OnsiteE5Selected
$catproblem.md
Years of Experience: 6
Onsite interviews were conducted last week.
Phone interview:
Onsite included four rounds:
Coding 1:
* A question similar to "Longest Univalue Path" from Leetcode was asked; it required returning the nodes in the path. I struggled with this question, taking 30 minutes to find and implement a solution. I discovered a couple of bugs after the interview. The interviewer remained silent throughout.
* Lowest Common Ancestor (LCA) of a binary tree with parent pointers: I knew the solution beforehand and provided the non-intuitive O(1) solution. The interviewer also asked me to code the Set approach because I did not sufficiently explain why the O(1) solution works.
Coding 2:
* "Random Pick with Weight" from Leetcode: I used binary search but introduced a bug that the interviewer pointed out.
* A simplified variation of "Permutations II" from Leetcode (only two distinct values) with a contextual story was presented. I coded a brute-force solution and suggested memoization for optimization. The interviewer pointed out that memoization was not useful in this case. I also incorrectly stated the time complexity, which the interviewer did not correct.
System Design:
* Design a search feature (details omitted to protect privacy). The design should be similar to indexers in web crawlers, finding URLs containing specific terms. I clarified requirements and discussed tradeoffs for database choices but rushed at the end due to time constraints. I did not list the APIs due to time limitations. I am unsure how this round went, but the interviewer was friendly.
Behavioral:
* Standard questions about projects, conflicts, and failures. I felt this round went well.
I received a verbal offer a few days after the interview and am currently in the team-matching process.
Preparation Plan: One month before the phone screen and 1.5 months before the onsite interviews.
Coding Preparation: I followed suggestions from others.
Behavioral Preparation: Meta's preparation materials are helpful and include example questions. I spent time reflecting on past work and identifying projects to discuss.
System Design Preparation: I was most apprehensive about this section. I prepared using YouTube and conducted five mock interviews with friends. I primarily used the "System Design Fight Club" YouTube channel for system design preparation. I also used the "jordanhasnolife5163" YouTube channel to learn about specific technologies.
I spread the interviews over two days to feel more relaxed between rounds.
My interview was not perfect. It's crucial to clear your mind after a challenging round and perform well in subsequent rounds. There's an element of luck in all interviews, so don't be too hard on yourself if you receive a rejection.