Interview prep

What to Expect: The Facebook Data Engineer Interview

The ins and outs of the interview process and how you can come prepared.

If you're a data scientist, there aren’t many companies doing more than Facebook, the social networking site with over 2.7 billion active monthly users. They collect data on all of their users that data engineers help turn into valuable insights for the company. Big data is growing every year, and Facebook is one of the companies leading the charge. 

On a basic level, data engineer roles include managing, optimizing, and overseeing data retrieval systems, along with building data pipelines and algorithms. As a data engineer at Facebook, you have the opportunity to build tools, infrastructure, and frameworks, that influence a variety of cutting-edge products. Data scientists help in product decisions along with software engineering, design, product management, data science, research, and more.

Facebook offers competitive pay...

The average annual salary for data engineers at Facebook is $260,000 making the job highly sought after with some fierce competition. The salary range varies widely depending on your level, with IC4s making an average of $226,000, IC5s making $325,000, and IC6s making $464,000.

Facebook also has locations across both the US and the world, with global opportunities for its employees. Of course, salary varies widely by location as well.

We'll cover:

  1. 6 teams at Facebook to consider & what Facebook looks for in a candidate
  2. How to properly create your resume
  3. The layout of the interview process
  4. How to prepare for the interview, including a list of sample questions
  5. What the job is like & how promotions work

Do You Want to Be a Facebook Data Engineer?

Teams You Should Consider

Because Facebook is such a large and data-driven company, there are many data science-related roles and teams to fill. Here are just a few:

Facebook App Monetization (FAM) Team

Roles in this team will design and build data foundations, infrastructure, and architecture that help drive better business decisions for Facebook. 

Data Warehouse Team

Roles in this team will design, build, and launch new ETL processes and data modeling in production, manage data warehouse plans, and collaborate cross-functionally.

Novi Blockchain Data Engineering Team

Roles in this team will design and implement scalable data repositories to integrate research data, build and launch ETL processes in production, and transform user interaction data and server events data into scalable schema models.

Facebook Video Distribution

Roles in this team will develop data processing architecture and systems for new data and ETL pipelines, and recommend improvements to existing data and ETL pipelines.

Partnerships Central Systems, Data and Tools Team

Roles in this team will build and maintain data pipelines and build models that provide intuitive analytics. 

Family Ecosystems

Roles in this team will work with data infrastructure, product software engineering, and product management teams to develop architecture-driven, end-to-end analytics development products, tools, and infrastructure stacks.

What Facebook Looks For

Facebook is known for sticking to the job requirements 100%, so if you don't meet a criterion, you will probably not be considered.

If a data engineer role at Facebook sounds like a good fit for your skillset, then here are some of their basic requirements for interviewing:

  1. Facebook hires only qualified applicants with at least four years of work experience in data warehousing. This experience should include writing complex SQL, Dataframe APIs, developing custom ETL, implementation, and maintenance.
  2. A Bachelor’s degree in computer science, mathematics, physics, or another technical field.
  3. Industry experience with either a MapReduce or an MPP system.
  4. Understanding of data architecture, machine learning methods, Schema design, and dimensional data modeling.
  5. Experience with object-oriented programming languages, such as Java, Python, C++, Scala, Perl, or others.
  6. Experience with analyzing large datasets to identify deliverables, gaps, and inconsistencies.

Before Applying, You Need to Get Your Resume Right

If applying online, your resume is absolutely crucial in getting you an interview, and because your recruiter looks at so many resumes, you need to do it right to get noticed.

To give yourself the best chance at getting through the resume screening, you should limit your resume to 1 page long.

👉 To learn more about formatting, read: Which resume outline should you use?

What to include

There are typically 4 sections you should include:

  • Education: Include your school, degree, graduation year, and GPA. You'll need a degree in a technical field, like computer science or math. If you're entry-level and don't have as much experience, you can include your most relevant coursework.
  • Professional experience: This is one of the most important parts of your resume. You want to be specific and show how you've made a difference. For example, include statistics that quantify the impact you've made — maybe you've increased efficiency by 10% through a new data modeling technique. A good rule of thumb is to frame your experience in CAR (Context, Action, Result) format.
  • Projects: This section is a good place to show off your passions. You can include your most relevant projects to show what you've done outside of employment. This is an especially useful section if you're an entry-level applicant and don't have a ton of professional experience.
  • Skills: The specific technical skills you need depend on which data engineering role you're applying for, but you'll undoubtedly need to know SQL and likely Python and/or Java (or similar language).

👉 Use this to help you determine how far back your experience should go: How far back should your resume go? Strategies for every career stage

What Is the Interview Process Like?

Facebook's interview process is predictable, so if you take the time to prepare you’ll increase your chances exponentially.

The Facebook data engineer interview follows a standard interview process, in line with other Facebook technical roles:

  1. It starts with an initial phone screen with a recruiter.
  2. Next, there is a one-hour-long technical phone interview where interviewees will be tested on SQL and Python/Java coding.
  3. After passing the technical round, there will be an onsite interview that includes three to four back-to-back interview rounds. 

Step 1: Initial Phone Screen

The first step in your data engineer interview at Facebook is a 30-minute long phone interview with either a recruiter or Facebook’s HR team. In this call, the recruiter explains what to expect from the rest of the interview process, along with specifics about the data engineer role at Facebook. 

Step 2: Technical Screen

This is the first technical interview that prospective employees have, and it is also a phone interview. It is time-limited to one hour, so be prepared to move quickly through questions.

The interview is conducted using Coderpad, with about eight to ten questions about SQL and Python/Java, depending on your programming language preference. The questions are divided equally between SQL and Python, and there is an algorithms question in each category. 

Step 3: Onsite Interview

If you make it through the first two stages, the final stage of the Facebook data engineering interview process is an onsite interview, with three full-stacked interviews (including two ETL rounds and one data modeling round), then one behavior round. A lunch break is also included.

  • ETL Round: During this round, you will be writing SQL and Python/Java code that resembles Facebook ETL codes. 
  • Modelling Round: During this round, you will have a mix of SQL and Python questions, along with data model questions, based on business scenarios.
  • Behavioral Round: During this round, you will be tested on your communication skills and if you can convey your thoughts and ideas well. 

Aside from the behavioral interview, the other interviews have a product sense element that tests a prospective employee’s product sense knowledge on key operational metrics. The questions are case-based and can require some coding.

The interview tends to be heavy on SQL, but Facebook is not necessarily examining your syntax. Your SQL will be assessed more so on DE fundamentals, for example. Your interviewer will likely be looking for you to display experience and judgment more so than asking you to solve a specific puzzle.

How Do You Prepare For the Interview?

Actionable Steps...

Facebook’s data engineer interview process assesses candidates’ abilities to utilize big data to provide actionable business insights. Their questions are standardized, especially during coding interviews.

Practice Makes Perfect

In order to prepare for your interview, practice SQL, Python/Java, modeling, and algorithm questions including lists, arrays, dot product, JOINS, SUBQUERY, AGGREGATE functions, and GROUP BY. 

Be sure to practice as if you were interviewing. After all, you will need to explain your thought process as you answer. You can practice coding on a whiteboard in order to prepare for the onsite interview.

There are websites where you can regularly practice your data science skills, including Leetcode and Interview Query. With 82 questions, Leetcode is a good place to get familiar with the types of questions you will be asked. Interview Query also gives advice on how to ace your job interview in the data science sphere. 

Learn From Others

If you are still looking to be prepared as possible, get in touch with others who have interviewed for the same position, or read about their experiences online. Glassdoor and Leetcode have discussion boards about the people’s interview experiences for Facebook’s data engineer position, as well as other data scientist positions and other positions at Facebook.

Questions to Be Aware Of...

The Facebook data engineer interview consists of eight different question topics: SQL, Python, Product Case, Takehome, Algorithms, Probability, Machine Learning, and Statistics / AB testing. Facebook puts a special emphasis on skills in SQL, Python, and Algorithms.

However, you can also be asked about wide-spanning questions across the data science world, including DB performance tuning, data pipeline design, metric and visualization solution design, statistics and modeling, previous project experience, big data solutions like Spark and EMR reporting rolls like Tableau and Excel, and building data platforms or architectures.

Here are some frequently asked interview questions:

Product Sense Questions:

1. What's the best feature of a competing social network? Why?

2. If you had to redesign the Facebook news feed, how would you do it?

3. Let's say you were in charge of birthdays at Facebook. How would you think about this space and what new features or products would you launch?

4. How would you design a system for finding a doctor? What would you say is the goal of your solution? What makes this better than what is out there today?

Python Questions:

  1. You will be given two sentences, and asked to construct an array that has the words that appear in one sentence and not the other.
  2. Find the average length of letters to words.
  3. Parse an IP address
  4. Find the alphabet with the highest neighbors.
  5. Use Python to update average step time as new values stream into a multi-step product feature. 
  6. Write code to implement metrics for designs you propose.

SQL Questions:

  1. You will be given a database schema and asked to calculate particular ratios. 
  2. Find a percentage increase in revenue compared to promoted and unprompted products.
  3. Product classes with the highest transactions
  4. Count of customers who bought 2 items type
  5. You will be given a multi-step product feature and asked to write SQL to see how well the feature is doing.
  6. Perform a merge-sort with SQL only.
  7. Write SQL to perform the ETL to get raw data into the desired format.
  8. How would you go about building an ETL pipeline to provide data for a dashboard? 
  9. Can you scale a solution?
  10. Can you identify bottlenecks? Explain the pros and cons of using 2 different methods. 

It is common practice for NDAs to be signed during the onsite interview. However, the onsite interviews are based on real-world case studies, and it is important to know key operating metrics.

Things Your Interviewer Is Looking For

  1. Business metrics and analytical skill proficiency: You will need to decide which metrics should be tracked and how to do so.
  2. Testing DW, SQL, and coding proficiency (listed in order of importance): These should be fast and accurate.
  3. Communication skills: How would you present the metrics/dashboard to stakeholders? What graphs/charts would you use? How do you talk through problems?
  4. For SQL interviews, the goal is to determine whether the candidate can build data structures for DWH & perform data retrieval and manipulation in SQL
  5. For data modeling interviews, the goal is to determine if the candidate can think through end to end solutions for data extraction, transformation, storage & retrieval while keeping consumer needs in mind
  6. For coding interviews, the goal is to assess the ability to analyze corner cases and offer a production-ready solution

So, What's the Job Really Like?

People generally seem to have mixed opinions about the data engineer role at Facebook, with many claiming your work will entirely revolve around SQL and you'll have a poor work-life balance.

And if moving up the ladder is your goal, many data engineers claim that you'll be working long days, making comments like "be prepared to work 80hrs a week" and be willing to "stop sleeping" if you want a promotion. This review on Blind, however, has a more positive view on the role:

"I would say that DE does have reasonable WLB. I worked at FB as a DS which did not. DEs are paid the same but have much less meetings and responsibilities on their plate. They can just do their work and go home. It’s a pretty good role."

As with most positions at Facebook, it seems as though work-life balance really depends on the team you join, as does the impact of your work. On Glassdoor, one reviewer claims:

"If you join the wrong team, your work could be boring and meaningless."

In terms of salary, data engineers and data scientists are paid comparably. Both roles have similar base pay to that of SWE, but equity tends to be 60% of SWE.

Promotions

You may already be aware that Facebook tends to have a quick promotion trajectory. Part of this is because the company holds 2 performance reviews per year that hold equal weight. Starting in 2022, Facebook will move to only 1 performance review per year, so the promotion timeline could slow down a bit. This may also lend itself well to fostering a better work-life balance.

One reviewer on Blind explains the idea behind promotions at Facebook:

"Facebook managers need to promote their directs or they get a bad rating for being bad at their job. There's a ~2.5y clock ticking to the next promo. It's the manager's job to find promo-worthy projects for you"

The general consensus among Facebook employees echoes the above review. Facebook managers help to promote you as soon as you're ready. At many other companies, such as Google, you have to self-promote and build a case for yourself, which ends up being a longer process.

You should know that Facebook has a time limit on how long you can remain at the same level before being fired. This typically applies to IC3 and IC4 where you have 2.5-3 years to get promoted. Once you reach IC5, the time limit no longer exists — it's generally difficult to be promoted above IC5 and many Facebook employees remain at this level for their entire time with the company.

So, what is Facebook looking for?

When asked how to get promoted as a data engineer on Blind, one user answered:

"Depending on level, they’re generally looking at a combo of impact across multiple teams, ability to identify a need and solve it, and a business case that merits a person of that level to do the work. Core skills are assumed to be table stakes, and you have to already be doing the job at the next level (backwards-looking promotion)."

On Glassdoor, a user responded:

"[You] have to create 'impact' and then market your impact in a political way to be promoted."

Promotions at Facebook typically happen through performance reviews. To prepare yourself for this process, read: Behind Performance Reviews + Bonuses at Facebook

The information provided herein is for general informational purposes only and is not intended to provide tax, legal, or investment advice and should not be construed as an offer to sell, a solicitation of an offer to buy, or a recommendation of any security by Candor, its employees and affiliates, or any third-party. Any expressions of opinion or assumptions are for illustrative purposes only and are subject to change without notice. Past performance is not a guarantee of future results and the opinions presented herein should not be viewed as an indicator of future performance. Investing in securities involves risk. Loss of principal is possible.

Third-party data has been obtained from sources we believe to be reliable; however, its accuracy, completeness, or reliability cannot be guaranteed. Candor does not receive compensation to promote or discuss any particular Company; however, Candor, its employees and affiliates, and/or its clients may hold positions in securities of the Companies discussed.