Round 1: Coding 1
Questions:
- Question 1:
- Started suboptimal then derived optimal solution.
- Edge cases were brought up, and I fixed the errors instantly.
- Did a successful dry run.
- Was a little shaky on time/space complexity and gave an educated guess.
- Follow-up on time complexity was asked, but I wasn't sure, and he said we could move on for time's sake.
- Question 2:
- Recognized the pattern/concept very early and created an optimal solution.
- Did not fully read the problem and overengineered the solution.
- Scaled it down to the constraints after feedback.
- Did a successful dry run and got time/space complexity correct.
- Resolved another edge case pointed out by the interviewer.
Candidate's Approach
- For Question 1, I started with a suboptimal approach but quickly adapted to find the optimal solution. I was able to handle edge cases effectively and performed a dry run, though I struggled with time/space complexity.
- In Question 2, I initially overcomplicated my solution but was able to simplify it after feedback. I successfully executed a dry run and addressed edge cases.
Interviewer's Feedback
- No feedback provided.
Round 2: Behavioral
Questions:
- The interviewer outlined the structure of the interview and emphasized the importance of providing enough information to avoid a follow-up behavioral interview.
- First question: "Tell me about a time when..." I provided an answer, but he asked many follow-up questions and expressed dissatisfaction, stating it didn't reflect enough personal sacrifice. He allowed me to think of another example to revisit later.
- The interview included intensive follow-up questions about design choices, asking for alternatives and justifications for my decisions. I defended my design choices with mixed feedback.
- Successfully answered 2-3 other behavioral questions, which went better than the first.
- I tried to incorporate Meta's core values throughout the interview, but the interviewer was hard to read and did not provide feedback at the end.
Candidate's Approach
- I attempted to provide thorough answers and defend my design decisions during the behavioral round. I incorporated Meta's core values into my responses, but I felt uncertain about the interviewer's satisfaction with my answers.
Interviewer's Feedback
- No feedback provided.
Round 3: Coding 2
Questions:
- Question 1:
- Problem was straightforward; derived optimal solution easily and explained myself well.
- Fixed edge cases instantly and performed a successful dry run with correct time/space complexity.
- The interviewer was very satisfied with the solution.
- Question 2:
- Recognized the pattern and came up with an optimal solution quickly, explaining myself well.
- Dealt with edge cases from the start, did a proper dry run, and got correct time/space complexity.
- Follow-up was handled easily due to modular design, impressing the interviewer.
Candidate's Approach
- For both questions, I was able to derive optimal solutions quickly and explain my thought process clearly. I addressed edge cases proactively and performed successful dry runs, which led to a positive impression from the interviewer.
Interviewer's Feedback
- The interviewer expressed satisfaction with my solutions and even offered to connect on LinkedIn after our insightful discussion about Meta's culture and his experiences.
Overall Assessment
- Coding went well overall, with both optimal solutions achieved. I am hopeful that the performance in Coding Interview 1, despite a minor issue with time complexity, will be sufficient. Coding Interview 2 exceeded my expectations.
- My main concern lies with the behavioral round, where I felt I struggled to meet the interviewer's expectations. I would appreciate honest opinions on my chances based on this experience.