Facebook Data Scientist Interview Process
Categories
The article aims to give you an insight into the Facebook data scientist interview process, the skill sets required, and most importantly, the kind of questions asked.
If you are looking up articles about data science and ended up here, we are pretty sure you already understand and appreciate the role of data scientists. But allow us to tell you more about it from a different perspective, and also add to your motivation to pursue your dreams to become a data scientist.
Back in 2018, IBM predicted there will be, by 2020, more than 3 million data scientists vacancies worldwide, surprisingly there is a shortage of data scientists!
Despite the fact that the “Data Scientist Job” is ranked #3 (2020 stats), the number of jobs is 3 times higher than the actual search for them, and the main reason for the shortage is finding the right skill set, and that’s the reason behind collecting the right amount of information to present to our readers a series of articles about acing DS interviews in world top FAANG companies.
Before starting this interview process, we suggest checking out what it means to be a data scientist at Facebook here.
Let us dig deep into the Facebook data scientist interview process!
Facebook Data Scientist Interview Phases:
Guide:
How to Get a Job at Facebook
Facebook Careers FAQ
Across their 8 Apps/Services, Facebook, as of today, has 1900+ open vacancies in the field of data science, globally!
Understand the Facebook Data Scientist Interview Process:
Initial Screening:
Be ready to answer questions about your experience, why you want to join Facebook, why do want to join as a data scientist, and that’s not all, for the Data Scientist role, additional technical questions will be asked, so be prepared to answer a couple of simple SQL questions.
Question Samples:
- What kind of joins to get only common rows?
- What is the difference between a left join vs. a union vs. a right join?
- Why do you want to proceed with the interview process?
Once you pass this initial phase, the HR recruiter will explain the rest of the process, may also give you some material to study for the next phase.
Technical Screening:
Virtual technical interview:
Takes up around 45-minutes, might undergo 2 (not one) of them, where you will be asked to solve SQL & Business Products questions
On-site technical interviews:
Takes up almost a whole day, you will meet several team members working in the same field. Be prepared to answer/solve a list of technical questions, related to data science, across multiple levels; Programming, Statistics, Product Related, and Behavioral levels.
Skills Needed from a Data Scientist at Facebook:
Before getting our hands dirty with the questions’ categories and examples of them, let’s have an overview of the skills needed from a data scientist.
- Fundamentals of Data Science
- Statistics & Probability
- Programming & Software Engineering
- Data Manipulation, Analysis & Visualization
- Big Data
- Artificial Intelligence:
- Machine Learning
- Deep Learning
- Model Building, Deployment & Re-Usage
- Soft Skills:
- Communication Skills
- Storytelling Skills
- Structured Thinking
- Curiosity
Understand the Facebook Data Scientist Interview Questions:
We will start by explaining the type of Facebook data scientist interview questions, then break them down by examples.
Side Note: You can find most of these questions & their solutions on our platform, come and
enjoy coding.
We collected our questions from various sites like Glassdoor, Indeed, TeamBlind where users report the questions they had received on their interviews. We were able to collect 146 questions across the last 2 years, and here is their breakdown by the category of interview question:
Programming Level:
Top 5 skills tested: Joins, aggregate functions, ranking techniques, date manipulation, reporting-like outputs (ex. histogram)
The most valuable asset for nowadays companies is data. And Facebook relies entirely on analyzing all of their users’ data to excel with their business, hence it is very important for their candidates to be able comfortably to work with and around data.
The most common data language is SQL, which this section will rely on, you will be asked to demonstrate your ability to extract, manipulate, and restructure pieces of data.
Moreover, as a data scientist, your ability to model, build/work with algorithms & different data structures is essential.
Here is a couple of examples:
SQL:
SQL questions will test your ability to understand given data, data extraction, and manipulation, to eventually provide an answer to a straightforward question, using aggregation functions, joins, ranking techniques.
1. “Facebook Messenger stores the number of messages between users in a table named 'fb_messages'. In this table 'user1' is the sender, 'user2' is the receiver, and 'msg_count' is the number of messages exchanged between them.”
Find the top 10 most active users on Facebook Messenger by counting their total number of messages sent and received.
Feel free to check the Solution & brainstorm with other people.
2. “Order the users in ascending order by their average session time. Consider the session time as the time difference between the page_load and page_exit events. Output the user id along with the corresponding average session time.”
Here's the solution for this Facebook data scientist interview question. Feel free to add your own!
3. “Find the ratio of successfully received messages to sent messages.”
Check out the solution from here, feel free to add your own!
Also, check out our post Facebook SQL Interview Questions to find more such SQL questions.
Data Structure & Algorithms:
Data Structure questions will test your ability to define, store & retrieve data in a structural & systematic way. (example. Q #1)
Algorithms in the meanwhile, by definition, are a set of instructions designed to perform a specific task, you will be either asked to assess an algorithm (example. Q #2) (hence think of how it is executed) or write a short one (example. Q #3)
1. “How do you revert a string?”
2. “Facebook has developed a search algorithm that will parse through user comments and present the results of the search to a user. To evaluate the performance of the algorithm, we are given a table that consists of the search result the user clicked on ('notes' column), the user's search query, and the resulting search position that was returned for the specific comment.
The higher the position, the better, since these comments were exactly what the user was searching for. Write a query that evaluates the performance of the search algorithm against each user query. Refer to the hint section for more specifics on how to write the query.”
Check out the solution from here, feel free to add your own!
3. “You're given a table that contains search results. If the 'position' column represents the position of the search results, write a query to calculate the percentage of search results that were in the top 3 positions.”
Check out the solution from here for this Facebook data scientist interview problem, and feel free to add your own!
Modeling Level:
Top 5 skills tested: Metrics evaluation, Critical thinking, Analytical skills, Creative thinking, Resilience
Question examples:
- “How would you prepare the data?”
- “How would you create a model to find bad sellers on the marketplace?”
- “How can you tell if your model is working?”
Could be worth doing a mock interview with one of the Prepfully Facebook Data Scientist experts - prepfully.com/practice-interviews. They've worked in the role so they clearly know how to get through the interview.
Product/Business Level:
Top 5 skills tested: Problem Solving, Transforming verbal description to a technical question, Product Management, building metrics, Estimation
As mentioned above, Facebook relies entirely on analyzing all of their users’ data to excel with their business, hence it is crucial to understand the flow of their business, and how to improve it.
For anyone to improve anything, they must be able to measure it first. Business Processes are measured through metrics, product usability/insights, and continuously optimizing KPIs.
Here's how Facebook is going to test you in a data scientist interview:
Metric/Business Case:
1. “How many high schools that people have listed on their Facebook profiles are real? How do we find out, and deploy at scale, a way of finding invalid schools?”
Join the discussion here, feel free to start your own!
2. “How do you map nicknames used in Facebook user’s names (Pete, Andy, Nick, Rob, etc) to real names?”
Join the discussion here, feel free to start your own!
3. “Facebook sees that likes are up 10% year over year, why could this be?”
Join the discussion here, feel free to start your own!
Product:
- “What is the impact of parents joining FB? How would you measure it?”
- “What functionalities would be helpful in the creation of reactions on Facebook?”
- “What's your favorite FB product and how we can improve it?”
KPIs:
- “How can you measure the success of your model?”
- “How can you tell if an idea is good?”
- “How to define meaningful social interaction?”
Design:
1. “Given data on Facebook members friending/defriending each other on Facebook, find out whether a given pair of members are currently friends.”
Join the discussion here, feel free to start your own!
2. “How would you compare the relative performance of two different backend engines for automated generation of Facebook "Friend" suggestions?”
Join the discussion here, feel free to start your own!
3. “Write a SQL query to compute a frequency table of a certain attribute involving two joins. What if you want to GROUP or ORDER BY some attribute? What changes would you need to make? How would you account for NULLs?”
Join the discussion here, be the FIRST to answer!
Statistics/Probability Level:
Top 5 skills tested: A/B testing, p-value meaning, regression, inference, probability distributions
Here is a summary of those concepts: Resource #1, Resource #2
Since you will be working with a vast amount of data, it is extremely useful to utilize statistical concepts, such as A/B testing, probability concepts, model evaluation, feature selection/engineering, inference, and more.
Here are some of the concepts you need to understand for your technical interview:
Statistics:
1. “Let's say the population on Facebook clicks ads with a click-through-rate of P. We select a sample of size N and examine the sample's conversion rate, denoted by hat{P}, what is the minimum sample size N such that Probability( ABS(hat{P} - P) < DELTA ) = 95%? In other words, find the minimum sample size N such that our sample estimate hat{P} is within DELTA of the true click-through rate P, with 95% confidence.”
Join the discussion here, feel free to start your own!
2. “We have a product that is getting used differently by two different groups. What is your hypothesis about why and how would you go about testing it?”
Join the discussion here, feel free to start your own!
3. “What is the expectation of the variance?”
Join the discussion here, feel free to start your own!
Probability:
1. “What is the probability of getting a pair by drawing 2 cards in a 52 card deck?”
Join the discussion here, feel free to start your own!
2. “You randomly draw a coin from 100 coins - 1 unfair coin (head-head), 99 fair coins (head-tail) and roll it 10 times. If the result is 10 heads, what's the probability that the coin is unfair?”
Join the discussion here for this Facebook data scientist interview question, feel free to start your own!
3. “Three ants are sitting at the three corners of an equilateral triangle. Each ant starts randomly picks a direction and starts to move along the edge of the triangle. What is the probability that none of the ants collide?”
Join the discussion here, feel free to start your own!
Behavioral Level:
Lastly, it is important to know your goals, and it is important for your future employers to know that you know them. The final part of this Facebook data scientist interview process we will cover here is this part, and we are sure you are somehow familiar with those questions, but the thing is, do you have the answer that will fit with Facebook’s culture, vision, and mission?
Sample of the expected questions:
- “Why Facebook?”
- “Why Data Science?”
- “What’s your biggest achievement?”
- “What are your interests?”
Prepare by gaining the right skills, and once you hear from Facebook recruiters, read about their culture, vision, and mission. Visit our coding section & practice solving technical questions, where you will be able to brainstorm with others and get instant feedback, stay calm, and luck will be yours.
Tips & Tricks to Ace Facebook Data Scientist Interview:
There is a change in Facebook’s data scientist hiring Process due to COVID-19, the entire hiring and onboarding process will be online, check out their advice from here.
Tips for the Coding Interview:
- Make sure you speak your mind: Everyone you meet in each phase will provide feedback, and they pay a lot of attention to how you solve the question at hand, they are interested in seeing your problem-solving skills in action, this gives them insights about your thinking methodology and enable them to help you with hints when needed. Make sure you show them that you are the right candidate for the job.
- Ensure Interview Stability: You should treat this phase with high importance, find a quiet place, be prepared; have your device charged, connected to a stable internet connection, and remember that you will use your hands to solve coding problems.
- Communication is the key: It is very important to speak clearly and ensure you understand what’s requested, if you have trouble hearing/understanding your interviewer, let them know, the interview must run smoothly for you and the interviewer.
- Be at the top of your game: Since this phase will include timed coding problems, code with a programming language you are best at and most comfortable using.
- Think then Act: If you are familiar with the question, start coding, but if you are not, think, plan, then execute, this will save you time rather than wasting it on brute-force solutions. If you got stuck, start writing a working solution, go over it again, enhance it as you iterate. It is important to have a working solution that needs optimization rather than just a concept.
- Debug your own Code: If your solution doesn’t work, don’t wait for the interviewer to help you, debug your code and fix it.
- Utilize given help: The interviewer will observe you and will provide the help he sees fit for you, make sure to take their hints into account and use them.
- Share your reasoning: Most probably you will be asked to explain your solution, it is important to share your reasoning, this is part of your problem-solving skill, you may be asked why you didn’t use a different approach, to check if you will be able to make tradeoffs and how.
Tips for the Design Interviews:
- Top-Down approach: Think of the problem at hand in a broad way, outline it, then break it down into subparts.
- Goal Identification: You will not be having the time to go through the outline you drew, along with all of its details, find & focus on the hard and most interesting parts.
- The Whole and the Parts: With the time given, be prepared to navigate across your goals to the high-level approach, your solution should take both into account, after all, it is one design. Define your solution’s components and how they work together, this means structure-wise: “team A will be doing x while team B will cover y”, and implementation-wise, explain pipeline or flow of processes.
- Have flexible engineering solutions: Most engineering problems have more than one solution, but with every solution comes a tradeoff, a good solution is the result of several comparisons, is balanced, and is based on intelligent and reasoned factors. Make sure you are prepared to reason your solution intelligently.
- Discuss and Ask: Ask questions when needed, but more importantly, ask the right questions that lead to an intelligent solution.
- Lead on: It is important for the interviewer to see if you have had the experience to build large systems, being able to work around work problems and work with different people, will be assessed and anticipated.
Tips for the Interview:
- Know your employer: Read about Facebook’s 5 core values (move fast, be bold, focus on impact, be open, and build social value). This is how they work, and this is what they expect from their candidates. They look for people who share the same beliefs.
- It is simple: Be yourself! You should be open and honest about your successes and failures. You should be humble and focus on teamwork, mentorship, and leadership qualities.