

Updated by Meta candidates

Machine Learning Engineer Interview Experience
I got feedback that I performed well on the coding interviews even when I did not feel like I performed up to a requisite level, so I think the bar has more flexibility than we may give ourselves credit for.
Interview process
I interviewed for Software Engineer, Machine Learning at the L5 level. My process was a recruiter screen, an online coding assessment, one live coding round, a second recruiter debrief call, and then a final virtual onsite with three coding interviews, one behavioral, and one system design round. The coding rounds were mostly classic algorithm questions, while the system design was a recommendation system for ranking locations in a feed for someone visiting a new city. I actually felt better about the process than I expected because the interviewers seemed more lenient in how they graded me than I would have graded myself.
- Recruiter screen
- Online assessment
- Phone interview
- Final round
Interview rounds
16 questions across 5 roundsRecruiter screen (1)
1 questionOverview
I started with a recruiter screen that was mostly about verifying my background and whether I really lined up for L5. He had me walk through my previous experience, projects I worked on, and things I studied in grad school, and he was pretty focused on whether I had around six years of experience.
Question types asked
Specific questions asked
Can you walk me through your previous experience, including projects you've worked on and what you studied?
Do you have about six years of experience that would qualify you for L5?
I walked through my previous experience, the projects I had worked on, and things I studied in grad school. The main point of the call was really to verify that my background matched what they wanted and that I had enough experience to be considered at the L5 level.
Online assessment
1 questionOverview
The online assessment felt a little unusual because I got the sense it was not actually graded and might have been something they were still ironing out. It was a multi-part coding exercise where each part built on the previous one and forced me to extend and refactor what I had already written.
Question types asked
Specific questions asked
Build functions to navigate a file directory structure.
Extend the initial implementation with harder use cases.
Add new functionality and refactor your existing code to support it.
Phone interview
2 questionsOverview
My first live coding round was in a shared editor and was very LeetCode-style. I got two straightforward algorithm questions, and from what I remember they did not really add extra variations after I finished the initial implementations.
Question types asked
Recruiter screen (2)
1 questionOverview
After the first coding rounds, I had another recruiter call that was half debrief and half prep session for the onsite. They actually told me the dimensions they were evaluating, which was useful because it made the coding bar feel more concrete than just 'get the answer right.'
Question types asked
Specific questions asked
Here is how you were evaluated in the first coding rounds and what to expect in the onsite.
They mentioned clarity of presentation, traceability of the code, being able to step through how it worked, runtime and space complexity, and coding cleanly.
The recruiter told me they were looking at how clearly I presented, whether my code was traceable and easy to step through, whether I could explain exactly how it worked, and whether I could identify runtime and space complexity. They also emphasized coding cleanly and presenting the code well to the interviewer, then used that debrief to prep me for the onsite format.
Final round
11 questionsOverview
The final virtual onsite was five rounds for me: three coding interviews, one behavioral, and one system design. The coding rounds were pretty standard Meta-style algorithm interviews, and only one of them had a real follow-up constraint. The system design was ML-flavored and centered on ranking locations in a feed. I enjoyed the overall process, but the communication after the onsite was pretty lacking.
Question types asked
Specific questions asked
Given a string containing round, square, and curly parentheses, how many of them are mismatched?
Can you identify the first shared parent without needing to traverse all the way to the root?
Keep track of the k largest elements of a running list.
In a binary tree, keep track of all nodes that exist within the same vertical column.
Output the index of the largest number in a list, and if multiple indices correspond to that value, can you return one at random?
Using string parsing to navigate a file directory, given tokens like '.', '..', and '~', determine the current directory and what operations can be performed on it.
How would you featurize the data that tells you which locations should rank highly in the feed?
I was given the use case of a user arriving in a new city and wanting recommendations for places to visit. The framing was really about what locations should show up in the feed and how I would featurize the data so the right places rank highly. In hindsight, this is the round I would have studied more carefully for.
Interview tips
I would study more carefully for the system design interview and make sure I am really sharp on the common algorithm patterns, because I made a small mistake on the top-k question by forgetting to use a heap to keep track of the running top k values. Also, I would not assume the bar is as unforgiving as it feels in the moment. I got feedback that I performed well on coding interviews even when I did not feel like I had performed up to the requisite level.
Company culture
My impression was that the interviewers were more flexible in their grading than candidates probably assume, at least on the coding side. The recruiter also made the rubric pretty explicit by talking about clarity, traceability, complexity analysis, and clean presentation, so it did not feel like they were only judging raw correctness. At the same time, the process felt slow on communication. It took a couple of weeks for follow-up after the onsite, I did not get concrete feedback on whether I passed, and even with a competing offer they did not seem to push my application through faster.
Get full access with a membership, or share your experience to try it free.
More Meta interview experiences

“What caught me off guard was that one of the coding rounds was not generic LeetCode at all. It was AI coding, with things like sparse matrix times vector multiplication and k-nearest neighbor search, and they still wanted multiple questions under pressure.”

“The AI enabled round was actually pretty unique. I used bit mask first, then hit a collision because the input had letters and numbers, and the LLM started hallucinating new functions, so I had to debug both the codebase and the AI.”
See all 13 Meta Machine Learning Engineer interview experiences →