I applied for a Meta frontend software engineer position in January via their careers website. After an initial HR phone call, I completed a phone screen interview.
Phone Screen: I was asked two JavaScript questions:
setTimeout calls.Verdict: I passed, but there were concerns about my coding performance.
I then had one month to prepare for a final interview loop consisting of four interviews on the same day.
Interview Loop: First Coding Interview: I was asked two JavaScript questions:
Array.flat().My Feedback: I felt it went well; we discussed multiple approaches and selected the best one based on time and space complexity.
Recruiter Feedback: It went well, but they felt I lacked some deep JavaScript knowledge. (Passed)
Second Coding Interview: I was asked two JavaScript questions:
classNames as in React.Test() and expect() as in Jest.My Feedback: I think it went well. I implemented the requirements but needed one hint for implementing Test().
Recruiter Feedback: It was good, but the first interview was better. They had an issue with the hint given by the interviewer, as it suggested I lacked knowledge. (Passed)
System Design: I was asked to design an autocomplete widget.
My Feedback: I thought it went well and I provided what they were looking for.
Recruiter Feedback: They had significant concerns because my solution was too perfect, suggesting potential misconduct. The interviewer felt I had accessed internal wiki pages and copied the answer from them. (Failed)
Behavioral Interview: I was asked typical behavioral questions about past experiences, specific situations, and future plans.
My Feedback: I think the outcome depends on the interviewer's perspective and the answers they seek. I felt it went well.
Recruiter Feedback: They had two issues with my answers. First, I stated a preference for a structured work environment, which they said doesn't align with Meta's less structured approach. Second, my preference for work-life balance and moderate workload didn't match Meta's expectation of employees handling high workloads. The interviewer recommended me for an IC4, but not an IC5 position. (Failed)
Final Verdict: My application was rejected due to the system design and behavioral interview results. They suggested I reapply in a year if still interested.