How to Get a Job at Facebook
About this guide
These pages are meant to provide helpful information about how to get a software engineering, product manager, data science, and designer job at Facebook. Being prepared and knowledgeable is a key to every step of the hiring process. You can tab through each part of the guide to see information that can be helpful to your stage from office location for those trying to figure out if a company has a presence in your city of choice to real world interview questions. These guides contain much of the same information we have Pathrise fellows review before they apply or interview for a job with Facebook for roles including Software Developer, Mobile Developer, Software Engineer, Web Developer, Software Architect, Computer Programmer, Machine Learning Engineer, Data Scientist, Data Analyst, Data Engineer, Product Designer, UI Designer, UX Designer, Experience Designer, Web Designer, Product Manager, and Technical Product Manager and other tech, data, and product related roles. We hope you find these helpful and if you have content that you think we should add or think we got anything wrong, please email us at [email protected] and let us know.
- Facebook is known for their fun, nurturing, and caring culture, but there have also been reports that there is pressure to conform with the culture and that it has gotten more competitive as the company has continued to grow.
- The compensation for these roles is at the very high end of the spectrum compared to similar companies.
- They are continuing to grow rapidly and have faced some roadblocks along the way. This has caused some growing pains that have impacted the employees, although the company seems to really try to create a good work-life balance.
- The management is generally described in a positive manner.
The usual interview process takes 2-4 weeks
Stage 1: Phone screen with recruiter
Stage 2: Technical phone interview with hiring manager, includes code test via collabedit
Stage 3: Onsite interview
The onsite consists of 4 additional interviews: 2 coding, 1 system design, and 1 culture fit, plus lunch.
The interview process can last from 1-3 months.
Stage 1: Phone screen with recruiter, with basic logic questions (checking if the candidate knows basic probability, dependant and independant stats concepts).
Stage 2: 3 interviews with data scientists using collabedit
2 technical coding interviews and 1 technical statistical interview. In some cases, the 3 sections were slightly different: product/business sense section where you discuss FB products, how you would improve them, and what type of metrics you would use to gauge success; SQL coding to show basic competency in coding; and a section on statistics.
Stage 3: Performance review
Stage 4: Onsite interview
The onsite includes a meet and greet with a recruiter, 5 interviews with data scientists, and lunch with a data scientist. 3 of the interviews are technical interview and 2 are business cases.
The usual interview process can take 1-2 months.
Stage 1: Phone screen with recruiter
Stage 2: 2 interviews with designers (45 min each)
The interview with the first designer is an in-depth walk through of the candidate's portfolio and the second is app critique. The candidate is asked to choose a non-Facebook app and make a critique/analysis of it.
Stage 3: Performance review from recruiter
Stage 4: Onsite interview
The onsite begins with a 20-25 minute presentation by the candidate of his past work/portfolio for 6-8 designers. It's followed by problem solving on a whiteboard, another app critique, lunch with a designer, discussion of background, and Q&A with a product design manager.
The interview process can take 1 month.
Stage 1: Phone screen with recruiter
Stage 2: 2 interviews with PMs
The first is about product sense and the second is about product execution. The questions are open-ended and probe into how one thinks about understanding users, features, technologies, and their vision for building things.
Stage 3: Onsite interview
The onsite interview has 3 main interviewers and 3 shadow interviewers. The specific interviews onsite are covering (1) analytics, (2) usability and design, and (3) vision (or Product Design (PD), Product Sense (PS), and Leadership & Drive (LD))
- Print a binary tree by vertical level order, like: 1 2 4 3 5 print : 3 2 1 5 4.
- Simple heap search algorithm implementation.
- How would you find out the number of cars passing on a busy bridge?
- Standard rotated binary search question. You have a sorted array that has been shifted/cycled, perform a search on it
- Retrieve words from a dictionary that are made up of a subsequence of characters in an input string (i.e. given input "ABAT," matching words may include "BAT" and "TAB" while non-matching words may be "BART" or "BAR").
- Add 2 binary numbers (input as a string).
- What is a memory-efficient way to store a vector of integers? Follow-up question: using your proposed data structure, find an algorithm with constant memory usage to calculate the dot product of two vectors.
- Print a binary tree in level order. Then print the tree in level order, but using DFS
- Obj-C: 5 multiple choice questions.
- Be familiar with NSSet and NSOrderedSet. These data structures are more performant than NSArrays for some operations.
- Display the sorted output of a merge of any number of sorted arrays. Then do it again, but more efficiently.
- Get the n-th Fibonacci number
- Find the depth of a binary tree
- Merge two arrays
- Reverse a doubly linked list.
- 3 sum and pow().
- Reverse string pair words that are anagrams of each other.
- Given an array of integers, find three that sum to a given value. Alternately, find all triplets that sum to the given value.
- Implement an asked simple function on an empty paper. Each type of variable (ex. int, double) and conditional/iterative statement has to be chosen carefully
- Implement a square root function.
- Find all possible permutations for a string and find an element's position in a slightly sorted array in the most efficient way (you have something like [5,6,7,1,2,3] and you want the position for "2" -> you use a binary search algorithm).
- Shortest route between airports.
- Design a system to detect homework copying, which means input two strings and a integer K, if there is a common substring of them having a length larger than K, return true, otherwise return false.
- Build a dictionary trie and implement search functions, mainly focusing on the OO designing pattern.
- Implement strstr(), and a follow up question is how to speed it up.
- If you could change something about Facebook, what would it be?
- Find the minimum in a rotated sorted array and find the minimum element. Assume no duplicate exists in the array.
- Move all non-zero elements into the front of the array.
- Regex matching.
- 1--a 2--b … 26--z given a digit, return the count of the possible output eg. '1313' --- 4 acac mac mm acm '101' --1 ja cannot discard any digit.
- Given a matrix, calculate the sum of a sub matrix given the start and end indices of the submatrix.
- In Mexico, if you take the mean and the median age, which one will be higher and why?
- If you draw 2 cards from a shuffled 52 card deck, what is the probability that you'll have a pair?
- Given a table that each day shows who was active in the system and a table that tracks ongoing user status, write a procedure that will take each day's active table and pass it into the ongoing daily tracking table. Possible states are: * user stayed (yesterday yes, today yes) * user churned (yesterday yes, today no) * user revived (yesterday no, today yes) * user new (yesterday null, today yes) Note: you'll want to spot and account for the undefined state.
- How can Facebook figure out when users falsify their attended schools?
- SQL queries with basic group by self joins and inner queries. The problem could be solved by analytical queries.
- SQL and why is the number of likes increasing?
- There's a game where you are given two fair six-sided dice and asked to roll. If the sum of the values on the dice equals seven, then you win $21. However, you must pay $5 to play each time you roll both dice. Do you play this game? And in follow-up: What is the probability of making money from this game?
- We at Facebook would like to develop a way to estimate the month and day of people's birthdays, regardless of whether people give us that information directly. What methods would you propose, and what data would you use, to help with that task?
- Imagine we see a lot of users filling up a form but not submitting it, why would this be the case and how would you use data to figure it out?
- Given a list A of objects and another list B which is identical to A except that one element is removed, find that removed element.
- How would you measure the health of Mentions, Facebook's app for celebrities? How can FB determine if it's worth it to keep using it? If a celebrity starts to use Mentions and begins interacting with their fans more, what part of the increase can be attributed to a celebrity using Mentions, and what part is just a celebrity wanting to get more involved in fan engagement?
- There is a table that tracks every time a user turns a feature on or off, with columns for user_id, action ("on" or "off), date, and time. How many users turned the feature on today? How many users have ever turned the feature on? In a table that tracks the status of every user every day, how would you add today's data to it?
- If 70% of Facebook users on iOS use Instagram, but only 35% of Facebook users on Android use Instagram, how would you investigate the discrepancy?
- How do you measure newsfeed health?
- If a PM says that they want to double the number of ads in Newsfeed, how would you figure out if this is a good idea or not?
- We have two options for serving ads within Newsfeed: 1) out of every 25 stories, 1 will be an ad, or 2) every story has a 4% chance of being an ad. For each option, what is the expected number of ads shown in 100 news stories? If we go with option 2, what is the chance a user will be shown only a single ad in 100 stories? What about no ads at all?
- How do you map nicknames (Pete, Andy, Nick, Rob, etc) to real names?
- Facebook sees that likes are up 10% year after year, why could this be?
- How many high schools that people have listed on their profiles are real? How do we find out, and deploy at scale, a way of finding invalid schools?
- How would you choose emotions in like/dislike systems and any problems in the A/B test?
- What experiment would you run to implement new features on Facebook?
- Given a series of tables; write the SQL code you would need to count subpopulations through joins.
- What is the expectation of the variance?
- How do you determine a product's success and scenarios that involve you to code/query using SQL/R/Python and analyze data sets.
- The success ratio of sending messages given sent and receive tables.
- Make a histogram of 2 variables.
- 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?
- Given a specific product, come up with some potential improvements and design a series of experiments for testing/implementing these changes.
- Walk me through Google Maps. What works, what doesn't?
- Tell me the high-level thinking behind your application.
- Which Facebook product do you want to work for?
- Tell me about [project from your portfolio]. What was the goal, what were the challenges, what was your specific role, etc. (The intent is to get a better understanding of your design work/process, intentionality, and overall awareness.)
- How did you achieve this goal with your design decision?
- How would you make an app that helps you decide which gift to buy?
- What does Airbnb do? Why do you think they decided to change the search bar?
- Do you use data for design decisions?
- Redesign the ATM
- Choose an app that you like and use a lot, describe how you can redesign it and why.
- Choose an app and find UX issues that you might have solved differently
- If you need to add a "social-based" feature to an app, how would you do that?
- Present on past UX experiences.
- Should Facebook continue to add features or rely on 3rd party apps?
- What does the Back button do when you open the search bar?
- What would you fix if you got to lead the design team for X company?
- Redesign a TV remote.
- How would you use groups to promote an event?
- What's a project you're proud of?
- What feature do you like about Facebook? How would you improve it?
- How would you build Facebook for blind people?
- [Product] is in trouble and numbers are down. How would you improve it?
- How do you prioritize competing features?
- Give a scenario where a project didn't go according to the initial plan and tell us what you did to overcome that change/roadblock.
- Concerning product operations: What are the costs involved in maintaining feature X?
- For data: What metrics would you use? How would you interpret this graph?
- For design: Let's redesign Facebook pages for small businesses.
- For strategy: Why do you think Facebook bought Parse?
- Concerning big vision ideas: What big idea/areas do you think Facebook should invest in?
- Design features and prioritize them.
- What would you do if you were the editor-in-chief of a magazine?
- Build a birthday app for Facebook.
- Product Sense - As a PM on the Facebook Birthdays team, how would you make it better?
- What do you dislike about a Facebook feature of your choice?
- Product Execution - Tested for understanding of product metrics.
- Compare the pros/cons of a product decision (big picture question).
- Describe a Facebook Product that you use and explain how you would make it better.
- How would you bootstrap a product that helps people find apartments and how would you differentiate it from existing competitors?
- Choose a technology you are particularly excited about and explain why.
- You are the PM of the Facebook timeline, how would you measure retention?
- Where do you see the future of Facebook?
- If you were able to work on any product at Facebook (new or existing), what would it be and why?
- Case study of a problem with the FB app: how would you solve a specific issue with the app?
- Design a product to help people find apartments and investigate a metric anomaly.
- How would you determine how to rank posts in the news feed?
- How would you determine the negative value of an abusive posting?
- How would you calculate the number of daily registrations that Facebook has?
- Pick an industry that will be different in 10 years and how can Facebook be a part of that?
- What is the future of XYZ industry in 5 years? 15 years? How will Facebook factor into that?
- What would you do if Mark Zuckerberg asked you to investigate whether we should switch from low-res images to hi-res images for the whole app?
- Let's say you wanted to build the world's most popular mobile messaging product, and you needed to estimate how much network bandwidth would be used in a year. How would you go about doing this?
To give people the power to build community and bring the world closer together.
People use Facebook to stay connected with friends and family, to discover what's going on in the world, and to share and express what matters to them.
Focus on impact
If we want to have the biggest impact, the best way to do this is to make sure we always focus on solving the most important problems.
We have a saying: 'Move fast and break things.' The idea is that if you never break anything, you're probably not moving fast enough.
We encourage everyone to make bold decisions, even if that means being wrong some of the time.
We believe that a more open world is a better world because people with more information can make better decisions and have a greater impact.
Build social value
We expect everyone at Facebook to focus every day on how to build real value for the world in everything that they do.
- Menlo Park: MPK 15 1 Hacker Way
- Detroit: 2727 2nd Ave
- null: Level 23 & 60, One Island East, 18 Westlands Road, Quarry Bay
- Madrid: Calle de Cronos, 63
- Tōkyō: ３０階 Ark Hills Sengokuyama Mori Tower
- Tel Aviv-Yafo: 22 Rothschild Blvd
- Sydney: 77 King St
- Stockholm: Sveavägen 13 111 57
- Singapore: 38 Beach Rd
- Seoul: 736-1 Yeoksam-dong
- São Paulo: 700 R. Leopoldo Couto de Magalhães Júnior
- Paris: 6 Rue Ménars
- and more..