Facebook Data Scientist (Analytics) Interview Guide

Leon Wei

Facebook Data Scientist (Analytics) Introduction

Facebook's data scientists are separated into 3 different tracks: analytics, engineer, and AI/ML research.

This guidance is for the analytics track.


1. First round: recruiter

You'll begin the process with a 30 minutes informational call with a recruiter, you will share your background and to make sure the team and role will be a good fit.

You will be expected to talk about your current work, education (if you are a fresh graduate), and other basic information such as your Visa status, whether you will need help with transferring your work H1-B visa, ideal work location, or if you okay to relocate to Menlo Park or other sites.

2. Technical rounds

i). Half analytical: product sense and half technical: SQL.

ii). (optional) either a Product sense round or a technical round to make sure you pass both analytical and technical. It will be based on the feedback from your previous round.

3. Final round: (4 rounds of interviewers) 

  1. Analysis case: Product. KPIs to evaluate a new feature/product
  2. Analysis case: Applied data. Engagement dropped 15 percent. What would you do?
  3. Quantitative analysis: probability, prior/post probability, a/b testing
  4. Technical analysis: SQL

4. Offer negotiation

Total around 4-6 weeks.

Facebook Data Scientist (Analytics) Salary Guide

Salary data sourced from our customers and the internet.

Location Seniority Level Base RSU Bonus Total Comp
Menlo Park, CA Mid E5 $190,000 $150,000 $50,000 $390,000
Every situation is different, e.g., the offer also depends on your interview performance, job location and the urgency of filling that role. Therefore, this data is for your reference only and may not apply to everyone.

Facebook Data Scientist (Analytics) Interview Sample Questions

Sample interview questions

SQL (More FACEBOOK SQL Interview Questions)

  • 1. Write a query to compute ROI for each advertiser.
    • Table 1: advertiser


        col_name       | col_type
      advertiser_id    | bigint     
      ad_id            | bigint        
      cost             | float  

      Table 2: ad_info

      User purchases after clicking on the ad

        col_name       | col_type
      ad_id            | bigint     
      user_id          | bigint 
      spend            | float 
  • 2. Write a query to recommend pages for a user id=1.
    • Table 1: friends

      Users and their friends, each row is a pair of friends.

        col_name   | col_type
       user_id     | BIGINT
       friend_id   | BIGINT

      Table 2: liked_page

      Pages a user liked.

        col_name   | col_type
       user_id     | BIGINT
       page_id     | BIGINT

Product: Analytics

  • Should we add a LOVE button to Facebook posts and why?
  • If revenue dropped in a given week, what metrics would you look at to understand and why?

  • How would you measure the health of our product search functionality?

Product: Data

  • Engagement dropped 15 percent. What would you do as a data scientist?

Quantitative analysis (Probability, prior/post probability, a/b testing)

  • What is Type I and Type II error, how do you explain p-value to a non-technical people? What are the assumptions for 2 sample t-test?
  • The engineering team just invented a new friend you-may-know widget. If it is implemented, a user will see their friends on the right-left corner of their homepage. How do you design an experiment to decide whether we should launch this feature or not?
  • For 2 fair dices with marks 1–6, how many times on average do we have to roll, so the sum of the two dices ends up greater than 10?

Facebook Data Scientist (Analytics) Interview Case Study

Facebook's data scientists are separated into 3 different tracks: analytics, engineer, and ML.

We recently had a chat with one of our members Jennie, who received a great job offer from Facebook as a product data scientist (analytics track). 

Even though she didn't accept the offer, she has a few other offers and decided to join a startup. 

She enjoyed the overall interviewing process. However, after the final round of interviews, she had to wait about two weeks before getting the final decision.

Jennie was grateful that the recruiter kept in touch at least every week and kept her in the loop.

The only thing she hoped they would've done better is the time it takes to get the final notice. She 

She shared her overall interview experience, and we hope it will be helpful for anyone interested in Facebook.

If you ever need any help preparing for a Facebook product data scientist interview, please feel free to check out our one-month job search coaching service.


Candidate: Jennie

How it gets started: recruiter contacted through LinkedIn.

Job level: E4

Year of Experience: 3-5

Degree: M.S. in Statistics

Offer: Yes

TC: ~200K USD

Location: Menlo Park, CA

Interview process: 2 months

Preparation: 4 months

Has a job: yes

Decide to join: No


First round: 30 minutes informational call with a recruiter, talked about current work, and asked to schedule a technical interview with a team member.


Second round: half SQL, half product sense. 

    SQL question: friend acceptance rate (similar to sqlpad question #91

    Product sense: should we add a LOVE button on Facebook? Why?


Third round: Product sense (based on the feedback from the last round)

How to decide if two friends are the 'BEST' friends?


Final round: (4 interviewers) 

  1. Analysis: Product. KPIs to evaluate a new feature/product
  2. Analysis: Applied data. Engagement dropped 15 percent. What would you do?
  3. Quantitative analysis: probability, prior/post probability, a/b testing
  4. Technical analysis: SQL


Received the offer two weeks after the final round.

Get mentored and become 100% job interview ready for your data scientist interview, learn directly from former FAANG hiring managers,  BOOK YOUR SESSION TODAY.

Facebook Data Scientist (Analytics) Interview Preparation

1. SQL

SQL is a must-know programming language for any data analytics professionals.

The SQL interview at Facebook is usually referred to as Technical Analysis, where you are asked to write a series of SQL queries to extract or aggregate data, and answer follow-up questions in the same business context.

Note: you might be able to choose to use a non-SQL tool such as Pandas/Python or R to answer those questions, but since everyone at Facebook's data science team are really good at SQL, proving that your SQL capabilities are also going to play a very important role in their decision process.

a. If you are an absolute beginner:

Consider taking an online SQL course to understand SQL and then jump into coding practices.

For example: Cracking the SQL Interview for Data Scientists to learn SQL basic SELECT statements to advanced WINDOW functions step by step, with many coding assignments to reinforce your learning.

b. If you are an experienced SQL user:

There is no better way to prepare for a SQL interview than practicing coding exercises.

A resource to consider is SQLPad where you can practice online FACEBOOK SQL Interview Questions.

The 80 questions range from basic SELECT statements to advanced window functions, which will get you ready to answer a wide range of SQL interview topics.

(Full disclaimer: I am the author of both the Cracking the SQL interview for Data Scientists course and sqlpad.io.)

c. Pay special attention to WINDOW functions.

WINDOW functions are a family of SQL utilities that are often asked during a data scientist job interview.

Writing a bug-free WINDOW function query could be quite challenging for any candidate, especially those who just get started with SQL. It takes time and practice to master those functions.

2. Product Sense

One of the data scientists’ main responsibilities is to extract insights from data and work with product managers and engineering teams to deliver actionable plans to improve the product. Think about how you would measure the success of different parts of the product. Why do you think the placement of the text box is at that specific location? What can you do to improve it?

The interviewer will try to evaluate your ability to apply data to the real product problem, how you systematically approach and structure the problem, form a hypothesis with reasonable assumptions, design, and test hypotheses through A/B testing, and use data and facts to convince others to adopt your recommended approaches.

How to prepare

  1. I highly recommend going through this book Lean Analytics: Use Data to Build a Better Startup Faster (Lean Series), which gives you a perfect sense of how startup companies use analytics to drive their product decisions. Top technology companies, especially those in Silicon Valley, regardless of their sizes, tend to think of themselves as still a startup, at least with a startup mindset in growing the company.
  2. If you still have time, consider reading this book: Cracking the PM interview. If you are short on time, I will go through those 3 chapters: productcase studiesbehavior questions.

3. Data processing with Python/R

The interviewer will evaluate your skills in basic operations in Python/R, 2 of the most popular programming languages, in most data science teams in Silicon Valley.

The bad news is that you will most likely not even get a chance for a phone interview if you are not familiar with neither of the two languages.

The good news is that you don’t actually need to know both of them. Pick either one and become very good at it. Build a project using either R or Python.

A side note: from my observation, it is highly likely Python will become the dominant player because of its great ecosystem. It’s a general programming language and much easier to productionize and serve a python model on the internet, compared to R.

If you are brand new to either R or Python and choose a language to start with, I would pick Python.

I used to be a heavy R user and have presented at useR!, but I completely switched to Python 5 years ago and never regretted it.

In addition to basic data processing, you will very likely be asked to perform a series of analytics, visualization, or modeling with the data sets to make sure you will be hands-on with the tool and get a sense of your experience level.

a. For Python people

  1. For people new to Python: datacamp has classes that cover pandasmatplotlibseaborn and good enough for you to get started;
  2. After you familiarized yourself with basic data processing, you can jump onto sci-kit learn libraries which have some excellent tutorials including data processing, feature selection, and modeling with real data: https://scikit-learn.org/stable/tutorial/index.html

b. For R people

  1. Coursera’s R programming class can help you brush up your skills in a couple of weeks. https://www.coursera.org/learn/r-programming

In the end, if you still have time, I also highly recommend creating a Kaggle account, join a couple of competitions there, and read other top competitor’s R/Python code, which will significantly help you understand how to solve a real-world problem (e.g., normalize data, handle missing data, create ensemble learning to boost models performance), and become a better data scientist.

4. A/B testing

A/B testing is a statistical framework that helps validate an idea or a theory through data.

For example, a product manager wants to know if changing the color of a buy button from green to blue can encourage more purchases. As a data scientist, it is your job to work with the product manager and, quite often, the engineering team(can help implement the testing settings) to develop a testing plan.

You need to decide at least how many people will see the different colors of the button (sample size), and how many days will the testing run (usually multiples of a week, 7 days), and where should it be running (the US only, or some other small countries just in case testing group is a failure, you don’t want to have a very negative impact to the revenue).

The key assumption of A/B testing is that the control group and the testing group have to be independent. You will probably be asked several questions around this assumption.

You will also need to understand key concepts such as novelty effectlearning effectA/A testing, Simpson’s paradox, etc.

How to prepare

Udacity has a free introduction class taught by practitioners from Google, which I highly recommend. As long as you get yourself through this class and feel comfortable with key concepts, and finished the home assignments, you should handle most of the A/B testing-related questions. https://www.udacity.com/course/ab-testing--ud257

A side note: very often, you will be asked to make recommendations based on different scenarios, e.g., if the results are significant, what should the product marketing team do, and vice versa.

To answer this question, always use a framework, for example: if it is confirmed significantly positive, double down on this approach, expand this success story to other markets and repeat the test.

If it turns out the results are not significant or significant but negative, come up with new theories and start testing new ideas.

It’s a never ending new ideas/proposals => A/B testing => recommendation cycle 😃.

5. Statistics/Statistical Inference

A data scientist is a statistician who lives in San Francisco.

Jokes aside, as a data scientist, you will most likely encounter many situations happening in the real world, for example,  missing data, unbalanced samples, how to decide sample size, perform hypothesis testing, form reasonable assumptions, explain to your business leaders what significance interval means. Therefore statistics skills are necessary to ace a data scientist interview.

How to prepare

You can practice statistics questions on brilliant.org, which I found it quite easy to brush up my skills in preparing statistics interview questions quickly:


5. Probability

Side note: probability questions are not the same as statistics questions. You can think of probability questions are more about math, while statistics questions are more about dealing with real data.

How to prepare

brilliant.org is a good resource.



Facebook Data Scientist (Analytics) Mock Interviews

Mentored by FAANG experts and become 100% job interview ready.

instamentor | A/B Testing

A/B Testing $199+

A/B testing is a statistical framework that helps validate an idea or a theory through data. For example, a product manager wants to know if changing the color of a buy button from green to blue c…
instamentor | Behavioral Questions | Leadership

Behavioral Questions | Leadership $149+

Behavioral questions or leadership interview questions are probably the most frequently asked questions during a job interview. However, I've interviewed so many talented data scient…
instamentor | Product Sense

Product Sense $149+

One of the data scientists’ main responsibilities is to extract insights from data and work with product managers and engineering teams to deliver actionable plans to improve the product. Think…
instamentor | SQL

SQL $199+

SQL is a must-have skill for any data related roles. Including data scientists, data analysts, data engineers, or even software developers, very often your future employee will verify your …
instamentor | Virtual Onsite

Virtual Onsite $1499+

Virtual Onsite interview or Final Round interview is usually a 4-6 hours long process, not only mentally challenging but also physically demanding. To help our users best prepare for their dr…

Facebook Data Scientist (Analytics) Featured Mentors

  • Was Group PM @ Faire, $7B startup; promoted every year; led team of PMs for growth, search, discovery
  • Now Founder of productlessons.xyz, product-toolkit.com, topstartups.io
  • I worked at a start-up called Graphiq for 4 years which was acquired by Amazon Alexa. I then worked on Alexa for 3.5 years as a Technical Product Manager. Now, I'm starting my own company at Unwrap.ai.
  • Mike is an experienced data engineer, designing and maintaining systems consisting of hundreds of terabytes of data.
  • I am an analytics veteran with over twenty years of experience in driving business value from data.
  • Prior to launching my own practice Intellego Consulting, I built and lead many high-performing data analytics teams at marquee global technology companies. As a player-coach, I have hands-on knowledge of how things work while at the same time being adept at driving outcome and impact. I am passionate about helping motivated early-career technology workers achieve their potential.
  • I'm a veteran software architect with 15 years of engineering experience in the area of computational advertising, big data analytics, and distributed ML training, currently working on a next-generation platform for distributed training pipelines at Facebook
  • Alex is a Principal Product Manager at Sambanova Systems. Previously, Alex has held product management roles at C3.ai building out their ML Platform and deep learning offering to enterprise customers. He was also an ML practitioner as the first data science hire at Uber’s Advanced Technologies Group working on building large-scale computer vision and sensor fusion algorithms for self-driving cars. Alex is motivated to help raise the next generation of data scientists and product leaders