Meta E4 Interview Experince Bangalore
Summary
I interviewed for an E4 Software Engineer role at Meta in Bangalore. After successfully clearing the screening rounds, I progressed to the main interview phase which included coding, an AI-assisted coding challenge, a behavioral assessment, and a product design round. Regrettably, I did not receive an offer.
Full Experience
Screening Rounds
The recruitment process for Meta began after a recruiter reached out to me via LinkedIn. I'm currently employed as an SDE-2 at a MAANG company. The initial screening involved an online assessment (OA) where I tackled a problem that evolved across 4-5 stages, with new conditions added progressively. I managed to solve all but the final stage. The core of the problem was about designing a cache for a database, necessitating a strong understanding of maps and LRU implementation.
Following the OA, I participated in a 45-minute coding interview with a Meta engineer, during which I was asked two specific problems. I successfully solved both, though the first problem was unfamiliar to me, causing me to spend a significant amount of time on it. I later received feedback from the recruiter that I had marginally passed the screening, primarily because my OA score wasn't perfect and my coding performance was considered 'OK' rather than a 'strong' signal.
Main Interview Rounds
The main interview consisted of four distinct rounds: one dedicated to coding, another to AI-assisted coding, a behavioral assessment, and a product design challenge. While initially scheduled over four separate days, it was consolidated into two rounds per day, approximately 14-15 days after I cleared the screening.
1. Coding (45 min)
This round was quite similar to my second screening interview. I was presented with two problems and had 45 minutes to solve them. I managed to complete the first question within just 10 minutes, which afforded me ample time to tackle the second problem and explore various approaches. I felt I delivered a strong positive signal in this round.
2. AI Assisted Coding (60 min)
This round mirrored the first screening OA, but with the added element of a 'weak AI' to provide assistance. The interviewer had a pronounced accent, making communication somewhat challenging, and after about 30 minutes, they ceased direct communication entirely, instructing me to direct any questions to the AI. The simplified problem involved being given 16 random cards and needing to select 3 that summed to 15 (with Ace=1, Jack=10, Queen=11, King=12). Once a set of 3 was chosen, those cards would be replaced from the deck. The ultimate goal was to successfully perform this 12 times until all cards were dealt. I was tasked with writing a program to achieve this. The interview started with debugging a failing unit test, which I successfully completed. However, I was unable to solve the primary problem. I perceived this round as a strong negative signal.
3. Behavior Round (45 min)
This round comprised standard behavioral questions, with a notable emphasis on scenarios involving challenges or negative outcomes at Meta. For instance, I was asked about resolving conflicts with managers, convincing team members to support my initiatives, my proudest project, dealing with difficult co-workers, instances of changing direction mid-execution, my biggest weakness, and a time I introduced a bug into production and what I learned from it. Overall, I felt this round went quite well and constituted a positive signal.
4. Product Design (45 min)
I was tasked with designing a food delivery website. I approached the problem using conventional methods often discussed in interview preparation videos. The discussion delved deeply into specific areas such as geospatial indexing for location-based restaurant searches, utilizing Elasticsearch for text-based search functionalities, and implementing cron jobs for managing real-time delivery notifications. While I personally felt the round progressed effectively, the interviewer did not appear entirely satisfied, though they did not explicitly articulate any specific concerns despite my attempts to engage them. I rated this round as an 'Ok to positive' signal.
Outcome
Three days following the interviews, I received notification that I had not been selected for the role. The only feedback provided by the recruiter was that one of my rounds had received a negative rating, which I strongly suspect was the AI-assisted coding round. Despite my repeated requests, no direct feedback was provided for the other rounds.
Interview Questions (14)
The online assessment problem was centered around building a cache for a database system. It required an understanding of how to use maps and implement the Least Recently Used (LRU) eviction policy efficiently.
Implement the next permutation algorithm, which rearranges numbers into the lexicographically next greater permutation of numbers. If such an arrangement is not possible, it must rearrange it to the lowest possible order (i.e., sorted in ascending order). The replacement must be in place and use only constant extra memory.
The second coding problem involved stream processing where operations needed to be performed based on the last 'k' elements. The most challenging operation was finding the median of these 'k' elements, similar to the well-known LeetCode problem 'Find Median from Data Stream' but with a sliding window constraint.
In the AI-assisted coding round, the simplified problem was as follows: I was given 16 random cards (Ace is 1, Jack is 10, Queen is 11, King is 12, other cards use their face value). I needed to pick 3 cards that sum to 15. Once these 3 cards were chosen, they would be removed from the deck and replaced. The objective was to successfully perform this selection 12 times, effectively dealing out all cards from the deck. I had to write a program to accomplish this.
How do you resolve conflict with your manager or higher-ups?
How do you convince others in your team to complete a task or initiative you are leading?
Tell me about a project you are proud of.
How do you deal with a difficult co-worker?
Tell me about an instance where you had to change direction mid-execution on a project.
What is your biggest weakness?
Tell me about a time you pushed a bug to production or something went wrong because of you. What did you learn from that experience?
I was asked to design a food delivery website. The discussion involved deep dives into geospatial indexing for location-based restaurant searches, utilizing Elasticsearch for word-based search functionalities, and implementing cron jobs for managing notifications related to deliveries.
Preparation Tips
My preparation involved general practice of data structures and algorithms, likely through platforms like LeetCode. For the product design round, I specifically adhered to the standard problem-solving approaches demonstrated in videos from 'Hello interview'.