I recently underwent an onsite interview with Meta, which encompassed a total of five interviews: two coding rounds, one system design interview, and two behavioral interviews.
System Design Interview:
During this interview, I was tasked with designing a high-scale nearby friends and place system (proximity server). I initiated by outlining the requirements, defining APIs, and providing a high-level design. However, the interviewer expressed a specific interest in understanding how the search functionality would operate. They explicitly mentioned that they were not concerned with onboarding and other implementation details. Our discussion delved deep into topics like data storage for nearby places/friends, scalability considerations, ensuring 100% availability, and cost optimization. This interview was particularly positive, as it encouraged an in-depth exploration of core design challenges rather than adhering strictly to the traditional system design format.
1st Coding Interview:
2nd Coding Interview:
1st Behavioral Interview:
This interview predominantly focused on behavioral questions and discussions related to my past projects. Topics covered included complex projects I had worked on, conflict resolution with colleagues, handling disagreements between me and my manager, and instances where I had provided feedback to peers and how I had done so.
2nd Behavioral Interview:
Similar to the first behavioral interview, this session requested different examples in response to similar questions.