

Updated by Meta candidates

Machine Learning Engineer Interview Experience
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.
Interview process
This was my second time going through the same Meta MLE process, and compared to the prior year the big changes were a written portal pre-screen and the new AI-enabled coding round. A sourcer reached out by email, I filled out the questionnaire, then I did a 45-minute coding screen with two LeetCode-style questions before getting the full loop. I split the loop across four days, one round per day: coding, AI-enabled debugging/coding, behavioral, and an ML design round on a TikTok-style recommendation system. The coding felt very standard Meta to me, but the AI round was the distinctive one because I had to debug an unfamiliar codebase, run tests intelligently, and use an LLM without blindly trusting it.
- Recruiter screen
- Technical interview
- Final round
Interview rounds
11 questions across 6 roundsRecruiter screen
1 questionOverview
I didn't have a normal recruiter phone screen at the start. A sourcer emailed me, I said I was interested, and then they pushed me to an official Meta portal pre-screen questionnaire before anything technical.
Question types asked
Specific questions asked
Describe your current role, team, project work, tools, AI usage, preferred language, and coding versus leadership split.
I wrote up general background on my current role, the size of my team, the kind of ML project I work on, what tools I use, whether I use AI and which AI tools, what language I'm most comfortable with, and roughly what percentage of my work is coding versus leadership. It felt more like a written recruiter screen than a test.
Technical interview
2 questionsOverview
The first live technical screen was a pretty standard 45-minute Meta coding round with two LeetCode-style questions. It felt very similar to what I had prepped from the common Meta question pool.
Question types asked
Specific questions asked
Simplify a path string and return the valid path.
I treated it like the standard Simplify Path problem. I had practiced a lot of the top Meta-tagged questions already, so this one felt familiar and straightforward.
What stood out was that both interval lists were already sorted, so I didn't treat it like the usual unsorted merge-intervals version. I approached it more like merging two sorted arrays and then collapsing overlaps linearly.
Final round (1)
2 questionsOverview
My onsite coding round was basically the same style and difficulty as the first coding screen, just with a different interviewer. It still felt like they were pulling from the usual Meta-style bank of medium questions.
Question types asked
Specific questions asked
I solved a common-ancestor style problem on a tree where nodes had parent references. It was one of those questions where the pattern matters more than anything exotic, and it felt in line with the kind of questions I had already seen while prepping.
I used the fact that the array was sorted and looked for the next element strictly greater than k. The round didn't feel harder than the earlier coding screen. To me it was just another standard Meta coding round done by a different person.
Final round (2)
1 questionOverview
The AI-enabled round was the only really new piece compared to the prior year. They gave me a small multi-file codebase with tests and bugs, let me choose Python, and watched how I debugged, implemented the missing function, and used the LLM.
Question types asked
Specific questions asked
Run the tests, debug the codebase, implement the missing core function, and use the LLM if helpful.
Why is this test failing?
What changes if the input contains numbers instead of only letters?
What if letters and numbers are combined?
I started by running tests file by file instead of all at once because the console gets noisy fast. The problem was similar to checking word relationships, and I first implemented it assuming alphabet characters only. That passed the alphabet test file, but it broke on the numbers-only file. I had used a bitmask idea, and once numbers were allowed I ran into collisions. I explained that, then adjusted my approach. I also used the LLM for unfamiliar Python syntax, but I had to ignore hallucinated helper functions it invented that weren't in the codebase.
Final round (3)
4 questionsOverview
The behavioral round was a standard 45-minute set of conflict and impact questions. The interviewer spent the most time on the project I was most proud of and pushed on why it mattered and how I measured the impact.
Question types asked
Specific questions asked
Why is that the project you're most proud of?
What was the impact?
How did you measure that impact?
Final round (4)
1 questionOverview
The ML design round was open-ended and moved pretty fast. The interviewer wanted the recommendation-system framing, model direction, and evaluation more than a huge feature-engineering deep dive.
Question types asked
Specific questions asked
What algorithm would you use?
How would you evaluate it offline and online?
I framed it around defining the recommendation problem, setting metrics, aligning the business objective with the ML objective, then talking through data, high-level features, model choice, and evaluation. The interviewer mostly focused on the algorithm side and on online versus offline evaluation. They moved me along quickly, so in hindsight I would stay high level on feature engineering and not burn time there.
Interview tips
Do the classic Meta coding prep first because the coding bar still felt like the usual pool of common tagged questions. For the AI round, don't just smash run on every test at once. Run them file by file so you can debug one thing at a time. Also, don't overtrust the LLM because it can hallucinate functions that don't exist in the codebase. For the ML design round, stay structured: define the problem, set metrics, align business and ML objectives, cover data and model choice, and make sure you talk about both online and offline evaluation. Don't get lost in feature-engineering rabbit holes unless they specifically pull you there.
Company culture
What I noticed is Meta has definitely changed this loop. I didn't have a normal recruiter phone screen at the start. They pushed me through an official portal pre-screen first, then coding, then full loop, and you could actually see the stages in the candidate flow. The AI-enabled coding round was new, which told me they're now explicitly testing how you debug unfamiliar code and how you use LLMs in practice, not just whether you can solve clean LeetCode prompts. The coding itself still felt very classic Meta, like if you study the common Meta-tagged questions you're studying the right pool. It was also a general pool process, not tied to one team, and the recruiter communication was better this time than in my earlier attempt.
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.”

“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.”
See all 13 Meta Machine Learning Engineer interview experiences →