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)
4. Offer negotiation
Total around 4-6 weeks.
Salary data sourced from our customers and the internet.
|Menlo Park, CA||Mid||E5||$190,000||$150,000||$50,000||$390,000|
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
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
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?
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.
How it gets started: recruiter contacted through LinkedIn.
Job level: E4
Year of Experience: 3-5
Degree: M.S. in Statistics
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)
Received the offer two weeks after the final round.
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.
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.
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
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
b. For R people
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.
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 effect, learning effect, A/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 😃.
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:
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.
Mentored by FAANG experts and become 100% job interview ready.