Meta E4 SDE London Onsite Interview Experience
Summary
I completed my full loop onsite interview for the Meta E4 SDE role in London. Despite one round resulting in a 'Lean Hire', I received 'Hire' and 'Strong Hire' ratings in the other rounds including Phone Screen, System Design, DSA Round 1, and Behavioral, and I am hoping for a positive outcome.
Full Experience
Hey Everyone!
Yesterday, I completed my full loop onsite interview for the Meta E4 (London) role.
Years of Experience: 2.0 years
Phone Screen
Diameter of Binary Tree
Vertical Order Traversal of a Binary Tree
I solved both problems using the optimal approach. Within a couple of hours, I received an email confirming I had passed and was moving forward to the onsite interviews.
Rating: Hire
System Design
Problem: Design an Ad Click Aggregator
I followed the HelloInterview format and discussed topics like:
- Batch processing (using Spark)
- Horizontal scaling
- Handling peak load(API GATEWAY, LB,Rate Limiter)
I struggled a bit with the back-of-the-envelope estimation, especially around DAU, but I still provided a rough estimate.
Rating: Hire
DSA Round 1
Valid Palindrome II + follow-up: Removing k characters
Course Schedule II (solved using Topo Sort)
I completed both questions with the optimal approach and discussed:
- Time & Space Complexity
- Dry runs for given testcase
Rating: Strong Hire
DSA Round 2
This round where I feel something went wrong like interviewer didnโt give the problem statement instead of that he verbally explained the question in very vague manner,I struggled to understand the problem statement anyhow I understand and verify the problem with taking one input output with my own and he confirmed for that I got asked this question intially Input is an integer array, and it should return a local minimum element. Local minimum element is the element from the array that is less or equal to its neighbors
Here's the solution I wrote:
class Solution { public: int findLocalMin(vector<int>& nums) { int n = nums.size(); int left = 0, right = n - 1;while (left < right) { int mid = left + (right - left) / 2; if (nums[mid] > nums[mid + 1]) { left = mid + 1; } else { right = mid; } } return nums[left]; }
};
Dry run the code with my own testcase but interviwer ask do you need any other testcase to check I said it seems fine for me and we moved to second question Merge 3 sorted arrays and remove duplicates.I used a 3 pointer approach and dry run completely and still we have some time left so he asked the follow up for first question
Follow-Up:
the local minimum must be strictly less than its neighbors. I suggested modifying the final condition like this:
if ((left == 0 || nums[left] < nums[left - 1]) &&
(left == n - 1 || nums[left] < nums[left + 1])) {
return nums[left];
}
But the interviewer pointed out this condition wasnโt part of my original solution, and I admitted I had missed this edge case earlier. I was asked to integrate this logic into the binary search loop, but unfortunately, I froze at that point, and time ran out.
Rating: Lean Hire
Behavioral Round
- Conflict resolution
- Proud project
- Areas of improvement
- Adapting to changing requirements
Rating: Hire
What are my chances for an offer?
Despite the โLean Hireโ in one round, the rest of the interviews went well with Hire and Strong Hire ratings, including System Design. I'm hoping for a positive outcome!
Any thoughts or insights from those whoโve been through the process would be appreciated!
Interview Questions (12)
I solved this problem using the optimal approach.
I solved this problem using the optimal approach.
Problem: Design an Ad Click Aggregator.
I followed the HelloInterview format and discussed topics like:
- Batch processing (using Spark)
- Horizontal scaling
- Handling peak load(API GATEWAY, LB,Rate Limiter)
I struggled a bit with the back-of-the-envelope estimation, especially around DAU, but I still provided a rough estimate.
Valid Palindrome II + follow-up: Removing k characters. I completed both questions with the optimal approach and discussed Time & Space Complexity and Dry runs for given testcase.
Course Schedule II (solved using Topo Sort). I completed both questions with the optimal approach and discussed Time & Space Complexity and Dry runs for given testcase.
Input is an integer array, and it should return a local minimum element. A local minimum element is the element from the array that is less or equal to its neighbors.
Merge 3 sorted arrays and remove duplicates.
Follow-Up for the local minimum problem: the local minimum must be strictly less than its neighbors. I was asked to integrate this logic into the binary search loop, but unfortunately, I froze at that point, and time ran out.
Discussed conflict resolution scenarios.
Discussed a project I am proud of.
Discussed areas of improvement.
Discussed adapting to changing requirements.