Meta E4 SDE London Onsite Interview Experience
Anonymous User
1776

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!

Comments (11)