Lesson 3 of 2
In Progress

Stage 1&2: What to Expect

STAGE 1: INITIAL TECHNICAL SCREEN

What to Expect:

The interviewer will first introduce herself/himself and explain what they do at Facebook

  • For the next 5-10 minutes, the interviewer will ask questions about your experience and your career aspirations.
  • The next 30-35 minutes will be spent on coding.
  • This takes place in an online collaborative editor shared between you and the interviewer (or on the whiteboard if you do the initial interview in person).
  • You are given one or more coding questions to complete in this editor. We ask questions that are short enough to explain in a few minutes and to solve in 10-30 minutes.
  • In this section we try to understand your approach to problem solving.
  • We typically don’t ask trick or estimation questions (we don’t care how many ping pong balls can be fit in Sea World).
  • You could be asked to solve a problem in any way you choose, and then the interviewer could add further constraints or requirements.
  •  
  • The last 5 minutes is for questions. This is a great opportunity to get an insider’s perspective directly from a Facebook engineer.

Stage 2: Onsite Interview

As an interviewee for an engineering position at Facebook, you’re going to have 4 or 5 interviews over the course of the day. These will be distributed across 3 different types of interviews:

  1. The coding interview – where you’ll solve some general coding questions.
  2. The design interview – where you’ll be asked to show off your design skills. The design question will be focused on either systems or product, depending on your background.
  3. The behavioral interview – where you’ll talk through your previous work experience, motivations, and a number of other behavioral questions.

Unless you’ve scheduled your interview for very early or very late in the day, someone from engineering or recruiting will take you to lunch. This will give you a chance to ask lots of questions of someone who isn’t interviewing you.

What to expect?

The coding interview is typically harder than the initial interview: we ask more difficult questions and have a more exacting evaluation. This interview is 45 minutes. Not all interviewers follow the exact same time breakdown, but the following is typical:

  • Introductions: The first five minutes will be an introduction and possibly brief questions about your background.
  • Coding: The next 30 minutes will be one or more coding problems.
  • Ask Us Anything: We try to reserve the final five minutes for your questions for the interviewer. This part gives you a chance to learn more about Facebook from someone in engineering and gives your interviewer a chance to learn more about your interests.

The design interview is 45 minutes. These almost never involve coding – you’ll spend the interview talking and drawing on the 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 the candidate’s 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.

There are two types of design interviews: systems design and product design. I’ve outlined the specifics of the systems design interview and Dan, a software engineer at Facebook in Menlo Park, describes the product design interview below.

We try to match candidates to engineers with related expertise. Candidates come from all sorts of backgrounds: some build complex user interfaces, others build network libraries, others build platform APIs for third parties. We expect every candidate to be familiar with basic design principles, but we’ll try to match you with an interviewer so that the conversation is as engaging as possible. We aim to have the conversation be based in an area slightly familiar to you, allowing you to demonstrate your design abilities on an unfamiliar problem, but in a space that is not completely foreign to you.

The behavioral interview is actually part behavioral interview and part coding interview. The behavioral part is about you and your history, your resumé, and your motivation. The purpose of the behavioral interview is to assess whether the candidate will thrive in Facebook’s peer-to-peer, minimal-process, unstructured engineering organization.

The coding part is a shorter version of the coding interviews above. We include a coding question in this interview to supplement the two coding interviews and get additional coding signals.