Facebook Data Engineer

DifficultyhardRounds6-7 interviews across 3 rounds

The role of a Facebook Data Engineer

Data engineering plays a very important role in Facebook’s product development philosophy - Facebook is super data-driven and therefore every feature, iteration, launch, etc is proven with Data. Data Engineers play a crucial role in enabling this.

Data Engineers are usually embedded within cross-functional teams of product managers, software engineers, designers, researchers, data scientists, etc, and operate within the analytics organization (along with Data Scientists). In a nutshell, data engineers ensure accurate, reliable data - while data scientists then use that data to extract insight and knowledge. 

Some Facebook Data Engineer Skill Requirements are - `

  • Strong awareness of the products they work on. A deep understanding of the goals and possibilities of the product looks like so that the data systems they build will be robust to use cases that will crop up in the future. 
  • Good prioritization skills - Data engineers work in a partnership mode as opposed to as a service, and therefore need to strike a careful balance between working on the longer-horizon projects and immediate or short-term needs.
  • Excellent data competence - they will be responsible for logging, complex integrations, bridging and enriching data across various sources, and aggregating it into tables and dashboards for easy access and insight. You’ll also put together data sets used for enabling decision making through A/B tests, or for training machine learning models

Interview Guide

The Facebook Data Engineering Interview Process can be split into 3 rounds.

The first is the Recruiter Phone screen, which is a short conversation with your recruiter. The second is a Technical Phone Interview with a Data Engineer, where you’re tested on your SQL and coding skills. The third and final round is the Onsite round, which typically has 4 interviews covering Product Sense, SQL/ETL, Data Modelling, and Behavioral topics.

We've got the same guide also available to watch as a short video if you prefer consuming content that way.

Recruiter screen

Overview

This is a telephonic phone screening round with your Facebook recruiter from HR. It’s typically a short call (about 25 min long).

What the interviewer will assess

Your recruiter will assess your experience as a Data Engineer, and evaluate the relevance of this Data Engineering experience, to Facebook. They will also test you at a high level for your cultural fit for Facebook.

Tips

  • Be ready for the “Tell me about yourself” starter.
  • Make sure you have a relevant past project to discuss, which helps demonstrate your Data Engineering competencies.
  • Keep answers short and crisp.

Interview Questions

Some Facebook Data Engineer Interview Questions for the Recruiter screen round are - 

  1. Tell me about yourself.
  2. Tell me about your most recent Data Engineering project? How did you decide what to do? Who was involved?
  3. What do you think your biggest Data Engineering challenge has been in your past role?
  4. Tell me about a time when you dealt with a conflict at work.

Technical Phone screen

Overview

In this interview, you’ll be talking to a Data Engineer at Facebook. The interview typically takes 60 minutes and follows the following format:

  • 5-min: Introduction
  • 25-min: SQL screen
  • 25-min: Coding screen
  • 5-min: Closing and questions

Each technical section will involve answering as many as five questions. The coding screen round will be conducted on CoderPad. You might be invited for a follow-up phone round if the interviewer was “unsure” about whether to progress you to the next round. 

What the interviewer will assess

  • Understanding of fundamental SQL concepts (joins, subqueries, aggregations, filters, case statements, etc); you’ll be asked to write SQL to answer various business questions. Additionally, they will also test how you handle errors and NULL values.
  • Your proficiency in Python - the basics of loops, lists, strings, dictionaries, etc will be tested.
  • Your speed and efficiency in solving coding problems.
  • Your approach towards the problem and how you use the given information to design a solution for the question. 

Tips

Some tips for tackling the Facebook Data Engineer Interview’s Technical round are -

  1. Go big picture and clarify stuff upfront, don’t dive straight into the coding.
  2. Think out loud so your interviewer knows which direction you’re heading in, and can “course correct you” where necessary. Watch out for hints - for instance, if your interviewer asks “are you sure you’d use an OUTER JOIN there” then it’s an opportunity to either rethink or demonstrate why you went a certain way.
  3. Don’t sweat the small stuff - it’s OK to forget syntax and check in with your interviewer, for instance.
  4. Have some questions ready and don’t get caught off guard at the end when it’s your turn to ask some.
  5. Practice questions under time constraints. This way, you’ll be able to solve the questions within the given time frame during the interview. 

Interview Questions

Some Facebook Data Engineer Interview Questions for the SQL Screen Round are -

  1. What is the difference between UNION and UNION ALL? Which is faster?
  2. Given an order table, write the queries to generate the required output.
  3. Write a query to sort a particular column in a given table.
  4. Find the top 5 sales products from the order table. 
  5. For a given Sales table, compare the percentage of total sales on the first and last working day of the month. 

Some Facebook Data Engineer Interview Questions for the Coding Screen Round are -

  1. Given a list, replace the NULL values with the previous value in the list.
  2. Write a code to display the occurrence of a particular character in a given string.
  3. Given a list of integers, work out a solution to find whether the list is monotonic (increasing or decreasing) or not.
  4. Given several lists, give the average list length. 
  5. Find a given number in a list by performing Binary Search. What is its complexity?
  6. Write a code to input two strings and find the mismatched words (case-sensitive). 

Onsite Round

Overview

This is the hardest of the three rounds since there are several back-to-back interviews, which you have to get through usually in a single day. The following format will be followed:

  • 3 Technical interviews; 60-min each
  • Ownership interview; 30-min
  • Lunch: 1 hour

For the technical interviews, there will usually be 2 SQL/ETL interviews and 1 Data Modelling interview. They will follow the whiteboard interview format.

What the interviewer will assess

The following skills will be tested in the technical interviews - 

1. Product sense and analysis: 

In this, the interviewer will assess how well you can think about the needs of the product, and translate them into data and form technical solutions.

Tips -

  • All technical interviews will involve thinking about genuine product challenges where problems are solved using data. It’s important to be able to demonstrate what metrics you’d use to determine impact or progress for the product or business scenario you’re looking at.

2. Data Modeling:

You will be required to think about what the product’s underlying data needs are, design a data mart to support analytics use-cases, and write SQL queries to produce the required results. 

Tips - 

  • Make sure you’re solving the business scenario you might have been given when designing your data model.

3. SQL:

The goal of this round is to see how well you can load the dataset you’ve gathered into your target tables that will be used by end-users using SQL.

Tips - 

  • Make sure you focus on prepping SQL constructs. Practice joins, aggregate functions, analytical functions, subqueries, etc. 

4. Coding:

In this round, you will be tested for your familiarity with basic data structures and your ability to manipulate them. 

Tips -

  • Make sure you’re familiar with strings, sets operations, etc, and have a deep understanding of how lists, loops, dictionaries, etc work.

5. Behavioural Skills:

This interview tests your “initiative” - how well you can influence your peers, partners, and stakeholders in their cross-functional roles, and experience where you’ve demonstrated this.

Tips - 

  • These questions will often take the form of “Tell me about a time when something happened” or “How would you deal with a scenario where” - so both hypothetical and experiential questions come up. 
  • This can be a particularly tricky interview if you haven’t practiced your storytelling skills, and this is super common in engineers, so we’d recommend carving out some time explicitly to practice for this one.

Tips

The following skills will be tested in the technical interviews - 

1. Product sense and analysis: 

In this, the interviewer will assess how well you can think about the needs of the product, and translate them into data and form technical solutions.

Tips -

  • All technical interviews will involve thinking about genuine product challenges where problems are solved using data. It’s important to be able to demonstrate what metrics you’d use to determine impact or progress for the product or business scenario you’re looking at.

2. Data Modeling:

You will be required to think about what the product’s underlying data needs are, design a data mart to support analytics use-cases, and write SQL queries to produce the required results. 

Tips - 

  • Make sure you’re solving the business scenario you might have been given when designing your data model.

3. SQL:

The goal of this round is to see how well you can load the dataset you’ve gathered into your target tables that will be used by end-users using SQL.

Tips - 

  • Make sure you focus on prepping SQL constructs. Practice joins, aggregate functions, analytical functions, subqueries, etc. 

4. Coding:

In this round, you will be tested for your familiarity with basic data structures and your ability to manipulate them. 

Tips -

  • Make sure you’re familiar with strings, sets operations, etc, and have a deep understanding of how lists, loops, dictionaries, etc work.

5. Behavioural Skills:

This interview tests your “initiative” - how well you can influence your peers, partners, and stakeholders in their cross-functional roles, and experience where you’ve demonstrated this.

Tips - 

  • These questions will often take the form of “Tell me about a time when something happened” or “How would you deal with a scenario where” - so both hypothetical and experiential questions come up. 
  • This can be a particularly tricky interview if you haven’t practiced your storytelling skills, and this is super common in engineers, so we’d recommend carving out some time explicitly to practice for this one.Think out loud so that the interviewer gets to know your approach. This will also open the opportunity for the recruiter to engage in a conversation, and they may ask questions and drop in a few hints too.
  • Show the recruiter that you’re interested in working for the company. Your passion for the role should reflect in your answers.

Interview Questions

Sample Questions for Onsite Round of the Facebook Data Engineering interview -

  • Prepare a design model for a gaming company such as Epic Games.
  • Design ETL pipelines for the above model.
  • Write SQL queries for the above design model.
  • Design a database for an app such as Google Classroom.
  • Design a relational database for Uber.

Note: For the coding round, you can program in the language of your choice. It is recommended that you confirm your preference with the recruiter before your interview.

Guides