Meta E5 interview
Summary
I recently completed my phone screen and technical onsite rounds for a Software Engineer - ML position at Meta. I encountered several LeetCode-style coding problems and an ML system design question, and I'm currently awaiting my behavioral interview.
Full Experience
My interview process for the Software Engineer - ML role at Meta involved a phone screen and a virtual onsite, with a behavioral round still pending.
Phone Screen
In the phone screen, I was given two coding problems. The first was Subarray Sum Equals K, and the second was Palindrome Permutation.
Virtual Onsite
Coding Round 1
This round had two more coding challenges. I was asked to count the number of monotonic sequences in an array, and the second problem was K Closest Points to Origin, for which I implemented a heap-based solution.
Coding Round 2
The second coding round also consisted of two problems. The first was Valid Number, but specifically without the exponent use case. I initially missed the test case "05" which should return false, but the interviewer pointed it out, and I corrected my code. The second problem was a variation of Simplify Path. In this variation, I was given a current path and a relative path, and my task was to simplify the target path and then navigate from the current to that target. I solved this using a stack.
ML System Design
There was some initial miscommunication regarding this round, as my recruiter had mentioned it would be a general system design problem, but I received a core ML question instead. I was asked to design an ML pipeline for bot post detection. I went over all specifics including data preprocessing, feature engineering, training, testing, and evaluation strategies, considering both online and offline scenarios. I believe I had answers to most of the questions that came up, although the interviewer's reaction was neutral.
I'm now awaiting the behavioral interview. I'm a bit concerned if missing the "05" test case initially will negatively impact my coding round evaluation.
Interview Questions (7)
Subarray Sum Equals K
Given an array of integers nums and an integer k, return the total number of subarrays whose sum equals k.
Palindrome Permutation
Given a string, determine if a permutation of the string could form a palindrome.
Count Monotonic Sequences in Array
Count the number of monotonic sequences in a given array.
K Closest Points to Origin
Given an array of points where points[i] = [xi, yi] represents a point on the X-Y plane and an integer k, return the k closest points to the origin (0, 0).
Valid Number (without exponent)
Implement a function to determine if a string represents a valid number, specifically without the exponent use case (e.g., 'e', 'E'). I faced a specific challenge with the test case "05" which should return false, and after the interviewer's hint, I successfully corrected my code.
Simplify Path (Relative Path Variation)
A variation of the Simplify Path problem was asked. In this scenario, I was given a current path and a relative path. The task was to first simplify the target path (derived from the relative path) and then navigate from the current path to that simplified target path.
Bot Post Detection ML Pipeline Design
Design an end-to-end Machine Learning pipeline for bot post detection. This involved discussing various aspects such as data preprocessing, feature engineering, training methodologies, testing strategies, and evaluation metrics, considering both online and offline deployment scenarios. Despite some initial misunderstanding about the round's focus, I addressed all specific points raised.