Facebook Machine Learning Interview

Ebrahim Alareqi
3 min readFeb 24, 2021


I personally took this image while visiting Facebook Campus in 2019

Getting the first recruiter call is the most time-consuming part of a job hunt. Whether you submitted your resume to a job posting, or Facebook recruiting team reached out to you on Linkedin, I don’t discuss the pre-interview steps here. I only discuss the interview steps. Most of the interview steps are similar at FAANG companies. Check this website to compare job levels and salaries.

First Step (~30 mins):

A technical recruiter will reach out to you to learn about your background. He/She will ask you about your educational background and ML/DS projects you have been involved in. The technical recruiter will send you the materials needed to prepare for the interview.

Second Step (45 mins):

Technical screening. It’s composed of three components:

a. First 3 mins: introduction to the problem.

b. Next 35 mins: Coding question (Data Structure, Arrays, Hash tables, etc.) No dynamic programming. The best thing to do is to prepare using LeetCode premium. If you finish ~40 problems from different topics, you should be good to go. The goal is to see your ability to quickly whiteboard solutions to questions that involve describing an algorithm and translating that description into working code. Doing well on this is a strong signal that you’re able to understand how to write efficient algorithms, effectively problem-solve, and communicate your thoughts in code clearly. You need to prepare by practicing the actual writing of the code, simulating a timed interview environment. You should prepare by practicing writing code by hand, without a computer.

c. Follow-up question/wrap-up: depends if there is a follow-up question to what you have produced. Usually, it’s for higher levels (seniors, etc)

Try to interview with other companies at the same time. This gives you the leverage to pick and choose.

Third Step (3–5 hours):

Onsite interview. It’s usually 5 rounds. There is also a possibility for a 6th interview if more signals are needed from the candidate.

These interviews are as follows:

a. Two/Three coding problem interviews (related to ML and DS)

They care about 4 things:
1. Coding

2. Communication

3. Results -> best model

4. Verification

b. Two design ML interviews (NLP, Vision, etc), Check this and this resource, and this if you are interested in a whole course from Stanford.

C. One behavior interview (focus on STAR method)

If you get hired, they will put you on a Bootcamp for 4–6 weeks (you can opt-out if you want). During the Bootcamp, you can choose your team.

For salary negotiation, I highly recommend you check this amazing interview made by the CEO of levels.fyi.


Coding Prep Info:

To get a better sense of what to expect during your Technical Phone Interview, watch this video: https://vimeo.com/357608978 (PW: fbprep)

Detailed Tech Screen prep Material: https://www.facebook.com/careers/ML-prep-initial

ML Onsite: https://www.facebook.com/careers/ML-prep-onsite

Webinar for Tech Screen prep: https://attendee.gotowebinar.com/rt/1018294412616693520

All the best!