Meta E5 || London
Summary
I recently interviewed for an E5 role at Meta in London, which consisted of a comprehensive loop including a screening round, two data structures and algorithms rounds, a behavioral round, and a system design round. I encountered a variety of challenging problems ranging from merging sorted arrays to designing a messaging service like WhatsApp.
Full Experience
Screening Round
My interview process began with a screening round, which featured two questions that I would classify as easy to medium difficulty.
Full Loop Interviews
Following the screening, I moved on to the full loop, which was structured as follows:
1. Behavioral Round
This round focused on my past experiences and how I handled various situations, typical of a behavioral interview.
2. DSA Round 1
In the first data structures and algorithms round, I was presented with two problems:
- One involved determining if a matrix represented as an array was a Toeplitz matrix.
- The other was a problem similar to finding the maximum consecutive ones with some allowed flips.
3. DSA Round 2
The second DSA round also had two questions:
- The first asked me to remove extra parentheses to make a string valid.
- The second was about finding the shortest path in a 1-0 matrix from the top-left to the bottom-right corner.
4. Design Round
The final round was a system design interview where I was asked to design WhatsApp, specifically emphasizing the use of API calls instead of websockets for communication.
Interview Questions (6)
Random Pick with Weight
You are given an array of positive integers w, where w[i] describes the weight of the ith index. Implement the function pickIndex() which randomly picks an index in proportion to its weight.
Toeplitz Matrix Check (Array Form)
Given an array, determine if it represents a Toeplitz matrix. A matrix is Toeplitz if every diagonal from top-left to bottom-right has the same elements.
Max Consecutive Ones with Flips (Similar)
A problem similar to finding the maximum number of consecutive ones in a binary array, potentially allowing a certain number of zero flips.
Minimum Remove to Make Valid Parentheses
Given a string s of '(' , ')' and lowercase English characters, remove the minimum number of parentheses ( '(' or ')') so that the resulting parentheses string is valid. Return any valid string.
Shortest Path in Binary Matrix
Given an n x n binary matrix grid, return the length of the shortest clear path in the matrix. A clear path is a path from the top-left cell (0, 0) to the bottom-right cell (n - 1, n - 1) such that all visited cells are 0 and all adjacent cells in the path are 8-directionally connected.
Design WhatsApp (API calls only)
Design a system similar to WhatsApp, focusing on using API calls for communication rather than websockets.