Facebook | E6 | London [Reject]

facebook logo
facebook
londonRejected
April 30, 20210 reads

Summary

I interviewed for an E6 Software Engineer position at facebook in London and was rejected, primarily because I needed to improve my depth in system design during the product design rounds, despite strong performance in coding and behavioral interviews.

Full Experience

I was referred to a recruiter by a friend who had previously interviewed at facebook. The entire interview process spanned about a month and a half, starting in March and concluding in mid-April. Each round was 45 minutes long, with coding rounds featuring two questions each.

Screening Round:

I faced two coding questions. One was related to palindromes (though the exact problem isn't shared), and the other involved finding a path in a given binary tree. For the binary tree problem, I also had follow-up questions to solve it without using a global variable and to adapt the solution for any n-ary tree. I managed to complete both questions within 35 minutes, and the feedback was very positive, leading to an E6 position consideration.

Coding Round 1:

This round also had two coding problems. The first was about merging two sorted arrays. The second involved merging contacts with domain names into the minimum number of groups; the interviewer suggested treating contacts as graph nodes, generating edges for common domains, and then using DFS for connected components. The feedback for this round was good.

Coding Round 2:

Again, two coding questions. One asked me to find an element in an array and return a random index if multiple occurrences existed. The second problem involved using two given APIs, move() and isTarget(), to determine if a target was present in a grid that contained a source and target at some positions. I solved both of these with some hints from the interviewer, and the feedback was good.

Product Design Round 1:

As I was interviewing for an E6 position, there were two technical product design rounds. The first involved designing an API for a newsfeed, similar to Instagram or Facebook, while considering multiple client types. The feedback was that I needed to discuss more about the scalability of the system.

Product Design Round 2:

The second product design round focused on designing a system to handle live comments for videos. The feedback indicated that I needed to delve more into the low-level details of the system.

Behavioral Round:

This round consisted of standard behavioral questions based on my past experience, covering situations like handling teams, conflict management, and my learnings over the last 2-3 years. The feedback was positive.

Ultimately, considering the feedback from the product design rounds, I received a rejection. The recruiter explained that product design is a very critical component for E5 and E6 positions, and despite very good feedback in other rounds, they had to reject me on that basis. I hope my experience can be helpful to others.

Interview Questions (7)

Q1
Find Path in Binary Tree
Data Structures & Algorithms

I was asked to find a path in a given binary tree. I also had two follow-ups: first, to solve it without using a global variable for the answer, and second, to adapt the solution for any n-ary tree.

Q2
Merge Two Sorted Arrays
Data Structures & Algorithms

I was given the problem of merging two sorted arrays.

Q3
Merge Contacts by Common Domain
Data Structures & Algorithms

I needed to merge given contacts with domain names into the minimum number of groups, where groups having common domains should be merged. The approach was to treat contacts as nodes in a graph, generate edge information with contacts having common domain name. Then do DFS on the nodes and group them as connected components.

Q4
Find Element in Array with Random Index
Data Structures & Algorithms

I had to find an element in an array and, if there were multiple occurrences, return a random index each time.

Q5
Find Target in Grid using APIs
Data Structures & Algorithms

Given two APIs, move() and isTarget(), I needed to find if a target was present in a grid that contained a source and target at some positions.

Q6
Design Newsfeed API
System Design

I was tasked with designing an API for a newsfeed, similar to Instagram or Facebook, considering multiple clients.

Q7
Design Live Comments System for Videos
System Design

I needed to design a system to handle live comments for videos.

Preparation Tips

My LeetCode status indicated I had solved close to 800 problems.

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

Be the first to share your thoughts and start the discussion!