Meta E5 interview

meta logo
meta
Software Engineer - MLOngoing
November 24, 20240 reads

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)

Q1
Subarray Sum Equals K
Data Structures & Algorithms

Given an array of integers nums and an integer k, return the total number of subarrays whose sum equals k.

Q2
Palindrome Permutation
Data Structures & Algorithms

Given a string, determine if a permutation of the string could form a palindrome.

Q3
Count Monotonic Sequences in Array
Data Structures & Algorithms

Count the number of monotonic sequences in a given array.

Q4
K Closest Points to Origin
Data Structures & Algorithms

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).

Q5
Valid Number (without exponent)
Data Structures & Algorithms

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.

Q6
Simplify Path (Relative Path Variation)
Data Structures & Algorithms

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.

Q7
Bot Post Detection ML Pipeline Design
System 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.

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!