Love it or hate it, you likely have some view on Facebook. The company has billions of users and receives millions of job applications each year, making it one of the hottest companies to work for in the world. In this article, we’ll be shedding light on different Facebook practice areas. Specifically, we dig into Facebook data engineer interview questions and Facebook behavioral interview questions – those employed across virtual interviews and those used for Facebook onsite interview questions. These questions will give you insight into some of what you should expect heading into a Facebook interview.

## The Different Types of Facebook Interview Questions

Facebook tests engineering candidates on various types of skills, including the following:

• Coding Interviews
• Behavioral Interview

Software engineers, pay the most attention here.

### 1. The Coding Interview

The coding interview focuses on problem solving, data structures, and algorithmic problems. Facebook usually holds around 2 coding phone screens and 2-3 on-site coding interviews. As expected, the latter involves a more exacting evaluation. Whether you’re looking for Facebook data engineer interview questions or Facebook interview questions for a software engineer, here’s what you can expect.

### Coding Interview Questions

• #### Coding Question 1:

• Find the longest increasing subsequence of a given sequence / array.
• #### Coding Question 2:

• Given a grid of size m * n, let’s assume you are starting at (1,1) and your goal is to reach (m,n). At any instance, if you are on (x,y), you can either go to (x, y + 1) or (x + 1, y). Now consider if some obstacles are added to the grids. How many unique paths would there be?
• #### Coding Question 3:

• A message containing letters from A-Z is being encoded to numbers using the following mapping:
‘A’ -> 1
‘B’ -> 2

‘Z’ -> 26
Given an encoded message containing digits, determine the total number of ways to decode it.
• #### Coding Question 4:

• Say you have an array for which the ith element is the price of a given stock on day i. Design an algorithm to find the maximum profit. You may complete as many transactions as you like (ie, buy one and sell one share of the stock multiple times). However, you may not engage in multiple transactions at the same time (ie, you must sell the stock before you buy again).
• #### Coding Question 5:

• Find all duplicates in an array in linear time – write a program to find all duplicates in an array where the numbers in the array are in the range of 0 to n-1 where n is the size of the array. For example: [1, 2, 3, 3] is okay but [1, 2, 6, 3] is not.
• #### Coding Question 6:

• Dutch national flag sorting problem – your goal is to sort an array of 0, 1 and 2’s but you must do this in place, in linear time and without any extra space (such as creating an extra array).
• #### Coding Question 7:

• You are given two non-empty linked lists representing two non-negative integers. The most significant digit comes first and each of their nodes contain a single digit. Add the two numbers and return it as a linked list.
• #### Coding Question 8:

• Given many coins of 3 different face values, print the combination sums of the coins up to 1000. Must be printed in order.

The design interview is 45 minutes and usually doesn’t involve any coding. Instead, candidates spend the interview talking and drawing on a whiteboard. 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. Again, whether you’re looking for Facebook data engineer interview questions or Facebook interview questions for a software engineer, you should be aware of the following potential questions.

There are two types of design interviews: systems design and product design.

• #### Systems Design Question 1:

• Improving upon a design: Think about and review the complex systems you’ve already designed. What would you change about your approach if you did it all over again? What worked well?
• #### Systems Design Question 2:

• Designing from the ground up: Think about how you’d design a system that Facebook (Or Twitter, Google, Uber, Dropbox, etc) already has. It’s a good thought exercise to think through the complicated, high-scale systems that you already use every day. How would design it from the ground up?
• #### Systems Design Question 3:

• Your interviewer might ask: “How would you architect the backend for a messaging system?” Obviously this question is extremely vague. Where do you even start? You could start with some requirements:
• How many users are we talking about here?
• What is the projected number of messages to be sent?
• What are the latency requirements for sender->receiver message delivery?
• How are you going to store messages?
• Which operations does this data store need to support?
• Which operations is it optimized for?
• How do you push new messages to clients? Do you push at all, or rely on a pull based model?

• #### Product Design Question 1:

• Reflect on your projects: Think about the projects you’ve built. What was easy, and what was difficult?
• #### Product Design Question 1:

• Your interviewer might ask: “Tell me how you’d design an email server.” Some questions you might want to think about:
• How do you store mail, especially as the system gets large enough that it won’t fit on one machine?
• What do you recommend to handle mailing lists with large numbers of recipients?
• How do you handle people abusing the system for spam?
• How do you guarantee the reliability of the system in the face of potential system failures?
• #### Product Design Question 2:

• A different interviewer might ask: “Tell me how you’d design a client-server API to build a rich document editor.” Some questions you might want to think about:
• How does the client request data on the document from the server, especially as the document gets large enough that we wouldn’t want to download it in a single request?
• Can we clearly represent the rich document aspects like bold and italics in our API response?
• How do we design the system so that new features can be added on the server without breaking older clients.

## 3. The Behavioral Interview

Facebook behavioral interview questions are similar to most other firms’ questions and interviews, except that the behavioral interview is usually one of the last steps of the recruiting process. These Facebook behavioral interview questions are meant to assess whether the candidate will thrive in Facebook’s culture and peer-to-peer, minimal-process, unstructured engineering organization.

• Why do you want to work at Facebook?
• What were some of the best things you’ve built?
• Tell me about a time when you advocated for and pushed your own ideas forward despite opposition?
• What are you proud of?
• How do you deal with conflict?
• What could you have done better?
• What were some excellent collaborations you’ve had?
• How do you like to give and receive feedback?
• What kinds of technologies are you most excited about?
• What do you do to stay motivated?
• How do you build relationships?
• What would you do if an interviewer didn’t show up?
• What is the biggest compliment you have received for your current role?
• What are Facebook’s challenges in the coming years?
• What would an old co-worker say about you?