Meta E4 SDE London Onsite Interview Experience

meta logo
meta
E4 SDELondon2 years
April 1, 2025 โ€ข 3 reads

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 &lt; right) {
        int mid = left + (right - left) / 2;
        if (nums[mid] &gt; 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)

Q1
Diameter of Binary Tree
Data Structures & Algorithms

I solved this problem using the optimal approach.

Q2
Vertical Order Traversal of a Binary Tree
Data Structures & Algorithms

I solved this problem using the optimal approach.

Q3
Design an Ad Click Aggregator
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.

Q4
Valid Palindrome II with K character removal
Data Structures & Algorithms

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.

Q5
Course Schedule II
Data Structures & Algorithms

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.

Q6
Find Local Minimum in Array
Data Structures & Algorithms

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.

Q7
Merge 3 Sorted Arrays and Remove Duplicates
Data Structures & Algorithms

Merge 3 sorted arrays and remove duplicates.

Q8
Find Strict Local Minimum in Array (Follow-Up)
Data Structures & Algorithms

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.

Q9
Conflict resolution
Behavioral

Discussed conflict resolution scenarios.

Q10
Proud project
Behavioral

Discussed a project I am proud of.

Q11
Areas of improvement
Behavioral

Discussed areas of improvement.

Q12
Adapting to changing requirements
Behavioral

Discussed adapting to changing requirements.

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!