THE FACEBOOK INTERVIEW
Looking to land a job at Facebook but don’t know what the process looks like?
Well, you’ve come to the right place. Detailed in this post is a look at the timeline of the interview process, preparation guidelines, and what's different or unique about Facebook's interview process as opposed to other tech companies.
(keep scrolling FOR A FULL WRITEUP with DETAILS)
THE FACEBOOK INTERVIEW explained
Facebook continues to show signs of growth, so if you’re looking to join Facebook, it’s a good time. Facebook has been expanding, and in 2018, they hired 10,000 people worldwide. For software engineers, Facebook is doing quite a bit of hiring in Seattle, WA, with growth in Redmond and Bellevue, WA as well.
As with most companies, Facebook will first conduct a series of phone interviews and then if you make it through, you’ll be brought on-site. There are a few things that separate the interview process at Facebook from other large tech companies, and that’s to do with their on-site process.
With so many people wanting to work for Facebook, it starts to beg the question, “what does the interview process look like and how can I increase my chances of being accepted?” Keep reading and you’ll find out.
BEFORE THE INTERVIEW
updating your RESUME
The first thing you should do is update your resume to be metrics/deliverables driven. Be succinct, show how what you’ve done relates to the position, and tailor it to the job description as it will better demonstrate how you’re a fit for the role. It’s also a good idea to show how the work you’ve done can translate into their five core values: Move fast, Be bold, Focus on impact, Be open, and Build social value.
Here is our guide on how to prepare for the coding interview with a 12-week plan.
CHOOSING YOUR LANGUAGE
Facebook, like most of the other tech giants, doesn’t require that you know any one particular language, but you do need to be proficient in at least one. Acceptable languages include: C/C++, Python, Java, and a few other mainstream languages. It’s best to pick the language you’re most comfortable with and stick to it.
Prescreen with recruiter
If the recruiter takes a liking to your resume, they’ll either reach out to you via LinkedIn or email. At this point they’ll ask you when you’re available for a phone call. Judging that you’re brushed up on your coding and technical knowledge, it’s best to schedule this right away.
This will be a light 20 minute call, where the recruiter wants to get a better idea of what’s on your resume, how your skills align with the position, and your passion for the company. If all goes well and no red flags are raised, you’ll have the opportunity to go through the technical phone interview.
Technical phone interview
Once you’ve had your prescreen with the recruiter she/he will set you up with another phone call, which will be with a Facebook software engineer.
This phone call will be around 45-60 minutes long and will consist of four parts: introductions, career aspirations, coding, and questions at the end. You can expect to spend around 10-15 minutes on introductions and career aspirations.
After that, you’ll move to the coding portion of the interview where you’ll have around 30-35 minutes to complete 1-2 questions inside of an online collaborative editor, like CoderPad. Be prepared for questions that are vague; the interviewer will want to see your approach, what questions you ask, and how you deal with constraints or requirements.
The interview will deal mostly with data structures, algorithms, and time complexity.
Data structures you should know
Lists, Arrays, Hash tables, Hash maps, Stacks, Queues, Graphs, Trees, Heaps
Algorithms you should know
Breadth first search, Depth first search, Mergesort, Quicksort, Binary search, Dynamic programming, Divide and conquer
Tips for your technical phone interview
Manage your time effectively
Don’t jump right into developing a solution. Spend some time thinking of how you can develop the most optimal solution in the allotted time.
Articulate your thought process
This is arguably just as important as getting the right answer to the given question
Use hints when they’re given
If you get stuck, they may give you a hint.
After your first two interviews you’ll come in for another 4-5 interviews lasting 45 minutes each. Typically, you’ll have two coding interviews, two system design, and one cultural. Facebook lays out their interview questions into three categories:
Ninja — Coding interview
Pirate — System design interview
Jedi — Behavioral interview
Ninja interview AKA Coding interview
You should expect this coding interview to be harder than what you experienced in the phone portion. You’ll have around 45 minutes in this section; the first five minutes or so will be introductions, then you’ll have around 35 minutes to solve one or two coding challenges on a whiteboard, and the end is reserved for any questions that you may have.
As mentioned above, you should study up and be comfortable with varying data structures and algorithms (when to use them, how to use them, the advantages of using one over the other). For specific guidance, here's a list of 40 top Facebook coding interview questions.
Pirate interview AKA System design interview
The design interview is 45 minutes. These almost never involve coding - you'll spend the interview talking and drawing on a whiteboard. As with all interviews, the interviewer will typically save the last five minutes for your questions. The purpose of the interview is to assess your ability to solve a non-trivial engineering design problem. To that end, your interviewer will ask you a very broad design problem and evaluate your solution.
How would you design a video streaming platform like YouTube, Twitch, or Netflix?
Jedi interview AKA Behavioral / Coding interview
The main focus here is on behavioral questions, but if the interviewers feel as though they didn’t get a good understanding of your coding skills then they may toss one shortened version of a coding question into the mix to supplement the coding interviews.
In this portion of the interview, it's important to have examples that show how you led a team, how you made an impact, etc. As you answer behavioral questions, keep in mind their 5 core values: Move fast, Be bold, Focus on impact, Be open, and Build social value.
THE OFFER / NO offer
In the event that you don’t receive an offer, you’ll most likely have to wait six months to a year to re-apply. To avoid waiting another 6-12 months, you can check out our 12-week preparation guide for coding interviews.
If you do receive a job offer, you’ll discuss things like salary, start date, etc.
Facebook software engineers that are hired directly out of college enter in at E3 which is their entry level software engineering role. The levels range from E3 to E9, where E5 is considered an entry-level manager role.
System design interview
At many of the big tech companies, system design questions are usually asked to those who have 3-5 years of experience in a software engineering role. At Facebook though, you can expect these questions no matter what level you are interviewing for.
One nice thing about Facebook’s interviewing process is that they will pair you with interviewers who have either held the position you’re interviewing for or with individuals who work directly with the position you’re interviewing for. This way you can get the most out of your conversations because they have the same domain experience that you have.
Core values and your behavioral interview
Keep in mind that even in the coding challenges that your interviewer will be also evaluating your ability to embody their five core values which are: Move fast, Be bold, Focus on impact, Be open, and Build social value.
HOW TO BEST PREPARE FOR YOUR INTERVIEW
In our experience, it’s best not to try to memorize specific questions. There are no silver bullets.
The questions that companies ask are always changing, because companies of this size are always trying to stay ahead of the curve and try new things. The questions you face will also depend on the team and the hiring manager.
Instead, it’s best to work your way through the fundamentals so you understand the underlying concepts and can answer even new types of interview questions with confidence.
Need help preparing for the interview?
Check out the Definitive Interview Prep Roadmap,
written and reviewed by real hiring managers.