Meta E6 ML-SWE / Downlevel
Summary
I interviewed for an E6 ML-SWE role at Meta, encompassing multiple coding, system design, and behavioral rounds. Although I received a downleveled offer for E5, I ultimately declined it due to other compelling opportunities.
Full Experience
Coding Round 1
This round focused on algorithmic problem-solving. I was asked:
- The "K Closest Points to Origin" problem. I had to find the K points closest to the origin (0,0) from a given set of points.
- A variant of the "Subarray Sum Equals K" problem. Beyond just finding if a sum exists, I also had to return the length of the largest sub-sequence that sums to K.
Coding Round 2
The second coding round also tested my data structure and algorithm skills:
- The "Kth Largest Element in an Array" problem, with a variant where I needed to return the index of the element instead of the element's value itself.
- A unique, non-LeetCode problem. I was tasked with designing a system to issue tokens from a 16-bit integer space. The core constraint was that once a token is returned, the smallest available token should be re-issued next. I also needed to consider and handle various edge cases.
System Design Round
This round involved two significant system design challenges:
- Designing the entire end-to-end system for Instagram's video feed.
- Designing the feed ranking system for Facebook, with a specific emphasis on the second-stage ranker component.
Behavioral Round
The behavioral interview covered common topics such as conflict resolution, handling situations requiring pivoting, and other leadership principles.
Outcome
After completing all rounds, I received feedback that I was downleveled to an E5 offer. However, as I had other strong opportunities in both tech and finance, I decided to pass on the offer from Meta.
Interview Questions (6)
K Closest Points to Origin
Given an array of points and an integer K, return the K closest points to the origin (0, 0).
Subarray Sum Equals K Variants
Given an array of integers and an integer K, I was asked to determine if a subarray exists whose sum equals K. Additionally, I needed to find the length of the largest subsequence that sums to K.
Kth Largest Element in an Array (Index Variant)
Given an integer array nums and an integer k, return the index of the k-th largest element in the array.
Token Issuance System
Given a 16-bit integer, I had to design a system to issue a token. The constraint was that once a token is returned, the smallest available token should be issued the next time. I also had to handle various edge cases.
Design Instagram Video Feed
Design an end-to-end system for Instagram's video feed.
Design Facebook Feed Ranking (Second Stage)
Design the feed ranking system for Facebook, with a specific focus on the second-stage ranker.