Facebook Interview Questions

People are at the heart of every connection we build. We design products and deliver services that bring the world closer together—one connection at a time.” — Facebook 

Considered one of the happiest places to work, Facebook is defined by its unique culture – one that rewards impact. The organization encourages its employees to solve the problems they care most about and be bold. The employees at Facebook work in small teams that move fast and iterate to develop new products. Together, they help others build stronger communities. 

Landing a job at this highly reputable organization is a dream for many engineers around the globe. However, the competition is fierce. The organization heavily focuses on cultural fit, ability to build within constraints, generalist knowledge, and expert coding skills.

To help you prepare for Facebook interviews, we will walk you through everything you need to crack the interview, including coding questions, and a step-by-step preparation guide.

Table of Contents

  1. The Facebook Interview Process 
  2. Facebook Interview Questions by Category 
  • Facebook Coding Interview Questions 
  • Facebook C++ Interview Questions
  • Facebook Java Interview Questions
  • Facebook Python Interview Questions
  • Facebook Ruby Interview Questions
  • Facebook Perl Interview Questions
  • Facebook SQL Interview Questions
  • Facebook Design Interview Questions
  • Facebook Behavioral Interview Questions
  1. Facebook Interview Questions Based on Job Profiles
  • Facebook Data Engineer Interview Questions
  • Facebook Product Manager Interview Questions
  • Facebook Technical Program Manager Interview Questions
  • Facebook Algorithm Engineer Interview Questions
  • Facebook Senior Software Engineer Interview Questions
  • Facebook Engineering Manager Interview Questions
  1. Facebook Interview FAQs
  2. Additional Resources to Prepare for Facebook Interviews

The Facebook Interview Process

The Facebook interview process can be summarized as follows:

Round 1: Technical Screening

This round starts with the interviewer or panelists introducing themselves and explaining their role at Facebook. After that, the focus shifts to you. You can expect a 5- to 10-minute conversation around your work experience and career aspirations. 

Then comes the tech bit — the test of your knowledge of data structures and algorithms. You will be given one or more coding questions, which you should solve and explain in 10 to 30 minutes. Here, the interviewer will gauge your problem-solving skills. As you’re answering, they may tweak the questions or add more questions to test the depth of your knowledge.

In the case of remote interviews, you will code on an online collaborative editor. In-person interviews are trickier, as you would need to write the code on a whiteboard. “Do you have any questions for us?” You can expect this question at the end of the round. Grab this opportunity to get more insights about the role, department, or company.

Round 2: On-site Interview

The on-site interview is about an hour-and-a-half long and has a couple of sub-rounds:

  • Coding interview (45 minutes): This coding interview will be tougher than the initial screening interview — the questions will be more challenging and the evaluation process more rigorous. You can expect one or more coding problems in this round.
  • Design interview (45 minutes): There are two types of design interviews:‍
  • System design interview: First, you will be asked details about systems you have designed in the past and your approach. Then, you will be asked to design a system from scratch. 
  • Product design interview: Here too, the products you’ve designed will be discussed first. After that, you will be asked to solve a product design problem. 

Each round ends with a Q&A session.

Round 3: Behavioral Interview

Here, the interviewer will assess whether you are a good fit for Facebook. The discussion will revolve around your previous work experience, with a focus on the behavioral aspects. For example, how you dealt with various challenges. 

There will also be questions about what motivates you to work at Facebook. 

If you think you’re done with coding questions, think again! Even the behavioral round features coding questions. However, it will be a quicker version of the initial coding interview.

Facebook Interview Questions by Category

We have divided the Facebook interview questions into 9 categories — coding, C++, Java, Python, Ruby, Perl, SQL, Design, and Behavioral.

Facebook Coding Interview Questions 

Here are the most common Facebook coding interview question types and their frequency.

Arrays/Strings 

Arrays/Strings constitute about 38% of Facebook coding interview questions. They are the most frequent question type. Some common arrays/strings questions asked at Facebook are:

  • Given: An array “nums” of n integers, where n > 1
    Task: Return an array output such that output[i] = product of all the elements of nums except nums[i]
  • Given: A non-empty string S. You may delete one character at most.
    Task: Check whether you can make it a palindrome.
  • Implement “next permutation,” which rearranges numbers into the lexicographically next greater permutation of numbers.
  • Given: A string S and a string T
    Task: Find the minimum window in S that will contain all the characters in T in complexity O(n).
  • Given: An array of strings (strs)
    Task: Group the anagrams together
  • Given: A string S, containing just the characters '(', ')', '{', '}', '[' and ']'
    Task: Determine if the input string is valid
  • Given: An array of n integers
    Task: Find if the array contains elements a, b, and c such that a + b + c = 0; return all unique triplets in the array where the sum of elements is zero

Graphs/Trees

Graphs/Trees constitute about  29% of Facebook coding interview questions. Some common questions are: 

  • Given: The root node of a binary search tree
    Task: Return the sum of values of all nodes with value between L and R (inclusive)
  • Given: A binary tree
    Task: Convert the binary tree into a circular doubly linked list (in-place)
  • Implement an iterator over a binary search tree (BST)
    Note: Your iterator will be initialized with the root node of a BST
  • Given: A binary tree
    Task: Compute the diameter of the tree
  • Serialize and deserialize a binary tree
  • Given: A binary tree
    Task: Find the maximum path sum
  • Given: A sorted dictionary (array of words) of an alien language
    Task: Find the order of characters in the language
  • Check whether a given graph is bipartite or not

Dynamic Programming 

Dynamic programming constitutes about 18% of Facebook coding interview questions. Some common questions are: 

  • Given: A list of non-negative numbers and a target integer k
    Task: Write a function to check if the array has a continuous subarray of size at least 2 that sums up to the multiple of k, that is, sums up to n*k, where n is also an integer
  • Given: An array for which the ith element is the price of a given stock on day i
    Task: If you were only permitted to complete at most one transaction (i.e., buy one and sell one share of the stock), design an algorithm to find the maximum profit
  • Given: An input string (s) and a pattern (p)
    Task: Implement a regular expression matching with support for '.' and '*'
  • Given: A list of non-negative integers, a1, a2, ..., an, and a target, S
    Task: You have 2 symbols: + and -. For each integer, you should choose either + or - as its new symbol. Find out how many ways to assign symbols to make the sum of integers equal to target S.

Search/Sort 

About 9% of Facebook coding interview questions consist of search/sort. Some common questions are: 

  • Given: A list of points on the plane
    Task: Find the K closest points to the origin (0, 0)
  • Given: Two arrays
    Task: Write a function to compute their intersection.
  • Given: An array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...]
    Task: Find the minimum number of conference rooms required

Linked Lists 

Linked lists constitute about 4% of Facebook coding interview questions. Some common questions are:

  • Given: A linked list where each node contains an additional random pointer, which could point to any node in the list or null
    Task: Return a deep copy of the list
  • Given: A singly linked list L: L0?L1?…?Ln-1?Ln
    Task: Reorder it to L0?Ln?L1?Ln-1?L2?Ln-2?…

Facebook C++ Interview Questions 

An all-purpose programming tool, C++ is an extension of C and it is popular because of its compatibility and high speed. Some common Facebook C++ interview questions are: 

  • What are the different data types present in C++?
  • Tell me the difference between C and C++.
  • What are class and object in C++?
  • Tell me the difference between struct and class?
  • What is operator overloading?
  • What is polymorphism in C++?
  • Explain constructor in C++.
  • Explain virtual function.
  • Compare compile time polymorphism and runtime polymorphism.
  • Explain friend class and friend function.
  • C++ supports multiple inheritance. What is the “diamond problem” that can occur with multiple inheritance? Give an example.
  • Explain volatile and mutable keywords.
  • Are you allowed to have a static const member function? Explain your answer.

Facebook Java Interview Questions 

Java is used by millions of developers across the globe to develop applications for several devices supporting Java. Java is used everywhere and is one of the most in-demand certifications in the programming domain. Here are a list of the most common Facebook Java interview questions: 

  • What are multiple inheritances? Can you do that in Java? Give a reason for your answer.
  • Where do you declare Wait and Notify? Give a reason for your answer.
  • What do you mean by string immutable?
  • How are passwords stored in Java? Is there any specific reason for it?
  • What do you mean by operator overloading? How does the Java environment react to it?
  • What do you mean by Maps in Java? Please list all of them.
  • List the number of ways you can handle exceptions in Java.

Facebook Python Interview Questions

The interview questions will help you get acquainted with the nature of Python-related questions you may encounter during your interview at Facebook:

  • Explain pickling and unpickling. 
  • What is a dynamically typed language?
  • What is PEP8? Why is it important?
  • What are decorators in Python?
  • Write a code to copy an object in Python.
  • What is _init_ in Python?
  • Print max element of a given list.
  • Print median of a given list.
  • Print the first nonrecurring element in a list.
  • Print the most recurring element in a list.
  • Find the greatest common factor. 
  • Reverse a string in Python.
  • Check if a Python string contains another string.
  • Implement breadth first search (BFS) in Python.
  • Implement depth first search (DFS) in Python.
  • Implement wildcards in Python.

Facebook Ruby Interview Questions 

A general-purpose, reflective and dynamic programming language, Ruby is an amalgamation of Perl, small talk, Eiffel, Ada, and Lisp. The reason why Ruby is popular is because it allows the author to alter the programming elements. Some common Facebook Ruby interview questions are:

  • Walk me through the request/response cycle for accessing a list of articles in a blogging application?
  • Almost everything is an object in Ruby. Please explain.
  • Is Ruby typed statically or dynamically?
  • Explain setters and getters in Ruby.
  • What happens when you call a method in Ruby?
  • Walk us through the process of listing all routes in an app?
  • Explain a Gemfile.
  • Explain a Gemfile.lock.
  • What are some Rails design patterns you’ve used?
  • How does Rails manage database state?

Facebook Perl Interview Questions 

Practical Extraction and Reporting Language or PERL is a free open source language that supports object-oriented languages, such as C++. It is highly dynamic and easy-to-use. Some common Facebook Perl interview questions are: 

  • Explain the meaning of Perl one-liner.
  • Explain Lists and iValue.
  • Explain the execution of a program in Perl.
  • What are the various flags/arguments that can be used while executing a Perl program?
  • Discuss data types and variables in Perl.
  • What are Scalars in Perl?
  • Discuss the scope of variables in Perl.
  • Differentiate between Arrays and List in Perl.
  • Explain the various functions/directives in Perl that allow you to include/import a module. Also, state the differences between them.

Facebook SQL Interview Questions 

Structured Query Language or SQL is a domain specific programming language for managing data in Database Management Systems. It is highly desirable as Database Management Systems are used in almost every software application. Following is a curated list of Facebook SQL interview questions: 

  • Construct an SQL query to find the second highest age of students.
  • What do you mean by joins in SQL?
  • Write an SQL query to find the maximum and minimum salary of employees in a company.
  • What is the full form of ACID?
  • Write an SQL query to find the count of employees working under project T2.
  • Write an SQL query to delete the duplicate rows in a database. 
  • Write an SQL query to find the current time and date.

Facebook Design Interview Questions 

System design interview questions are an important part of Facebook interviews. Hence, you must prepare well for this topic:

  • If asked, how will you redesign the Instagram Feed? Share your ideas about the kind of algorithm you will use. 
  • How will you design a universal file sharing and storage app similar to Dropbox or Google Drive?
  • If you were to design a web crawler, what will you list in the requirements and prerequisites? 
  • Can you design an API rate limiter?
  • What types of documentation have you worked upon in system design? What is the right stage for preparing documentation? Is there any thumb rule?
  • Suppose we have a large URL for a given page; how will you shorten it?
  • What are the main concerns in designing social media platforms like Facebook or Instagram?
  • What are the major challenges in designing apps like Quora that are both a social media platform and a message board service?
  • Can you design a proximity server?

Facebook Behavioral Interview Questions

Behavioral interviews are a crucial part of the Facebook interview process. Developers applying to positions across the board - from junior to managerial - go through a mandatory behavioral round where hiring managers seek to evaluate their mental balance, specific behavioral traits, interests, and characteristics of their personality in general. Some common Facebook behavioral interview questions are:

  • How will you rate teamwork on a scale of 1 to 10, with 10 being the highest and 1 the lowest?
  • Are you more of a team player or an individual contributor? 
  • Tell me about a time when you faced a challenging situation at work. What did you do to resolve it?
  • How do you motivate your team? 
  • How can you check the effectiveness of measures you take as a team lead?
  • What will be your contribution to our team culture if we hire you?
  • How good are you at accepting failure?
  • Have you ever dealt with a team member who eats up everyone's credit? What did you do about it?
  • How good are your relations with your previous project team members?
  • Did you ever leave a job because of a tough boss? 
  • How well do you take criticism?

Facebook Interview Questions by Job Profiles

In this section, we have broken down Facebook interview questions based on the job you’re applying to — Data Engineer, Product Manager, Technical Program Manager, Algorithm Engineer, Senior Software Engineer, and Engineering Manager.

Facebook Data Engineer Interview Questions 

Data Engineers at Facebook manage, optimize, and oversee data retrieval systems. They build robust and complex data pipelines and algorithms. They are part of core technical functions that support every product team at Facebook. Some common Facebook Data Engineer interview questions are:

  • Design a dashboard to highlight a specific aspect of the user behavior.
  • Does the database view occupy the disk space?
  • What is a loop that goes on forever?
  • What is the term used to select non-duplicates in SQL?
  • Find the maximum number from the given set of elements in an array (without using the maximum function).
  • Find the absolute minimum difference between the set of elements of an array.
  • Perform a merge sort with SQL only.
  • Given a number and an array, find the sum of any two numbers in a list that is equal to a given number.
  • Design an experiment to test whether a feature spurs conversation.
  • How do you rate the popularity of a posted video online?

Facebook Product Manager Interview Questions

The Product Manager at Facebook is responsible for the product planning and execution throughout the product life cycle, including: gathering and prioritizing product and customer requirements, defining the product vision, and working closely with engineering, sales, marketing and support to ensure revenue and customer satisfaction. Some common Facebook Product Manager interview questions are: 

  • How would you tackle the decision of whether or not to accept payments via Messenger?
  • How would you go about prioritizing/allocating resources?
  • How would you go about designing a referral feature?
  • Design a feature for book recommendations.
  • How would you measure the success of Facebook Lite?
  • How would you measure the success of the marketplace?
  • How would you improve the Facebook Newsfeed?
  • What metrics would you use to measure the success of Facebook Ads?
  • Describe a recent experience you had managing/leading a team.
  • Describe a time when you failed.

Facebook Technical Program Manager Interview Questions

Technical program managers (TPMs) at Facebook are in charge of handling all aspects of technical projects of the organization. They are responsible for initiating programs, following their progress, and serving as support providers in case issues arise. Some common Facebook Technical Program Manager interview questions include:

  • Tell me about a time when you had to manage a project end-to-end.
  • Tell me about how you worked technical dependencies and tradeoffs for that project.
  • How would you design Facebook Live?
  • How would you design a system that handles a significant volume (say millions) of card transactions per hour?
  • How would you design Instagram?
  • How would you design a travel booking system for Facebook users?
  • How would you design WhatsApp?
  • How would you design a distributed botnet?
  • What is your step-by-step approach to managing programs?
  • How do you make tradeoffs between time, resources, scope, and risks?
  • How do you define roadmap milestones and execute your projects?
  • How do you manage risks for your projects?
  • How do you define KPIs for your projects?
  • How do you manage cross-team dependencies and deliverables?
  • How would you handle performance decline in a program?
  • Tell me about the most challenging situation you've been in as a TPM.
  • Tell me about a time you were late on an early milestone.
  • Tell me about a time you changed a process to make it better.
  • Tell me about a time you were on an extremely tight deadline.

Facebook Algorithm Engineer Interview Questions

Algorithm engineering focuses on the design, analysis, implementation, optimization, profiling and experimental evaluation of computer algorithms, bridging the gap between algorithm theory and practical applications of algorithms in software engineering. Some common Facebook Algorithm Engineer interview questions are:

  • What are “divide and conquer” algorithms? Describe how they work. Can you give any common examples of the types of problems where this approach is used?
  • How would you optimally calculate p^k, where k is a non-negative integer? What is the complexity of the solution?
  • How do insertion sort, heapsort, quicksort, and merge sort work?
  • What are the key advantages of insertion sort, quicksort, heapsort, and mergesort? Discuss best-, average-, and worst-case time and memory complexity.
  • What is a Hash Table, and what are the average and worst-case times for each of its operations? How can we use this structure to find all anagrams in a dictionary?
  • Given a numeric array of length N, design a function that finds all positive numbers in the array which have their opposites in it as well. Describe approaches for solving the optimal worst-case and optimal average-case performance, respectively.
  • How would you, in general terms, describe dynamic programming? As an example, how would you find the length of the longest common subsequence of elements in two arrays by using this method?
  • Design an algorithm that finds the number of ways to traverse N meters by doing jumps of 1, 2, 3, 4, or 5 meter lengths. Assume that N can be a very large number. What is the resulting complexity?
  • What are Red-Black Trees and B-Trees? What is the best use case for each of them?
  • What is the Bellman-Ford algorithm for finding single-source shortest paths? What are its main advantages over Dijkstra?
  • What is A*, what are its implementation details, and its advantages and drawbacks in traversing graphs toward a target?

Facebook Senior Software Engineer Interview Questions

As a Senior Software Engineer at Facebook, you should be able to work independently with little to no supervision. You should have excellent problem-solving skills and hands-on experience in software development and agile methodologies. Some common Facebook Senior Software Engineer interview questions are:

  • Describe a time you made a mistake at work. What steps did you take to fix it, and how do you prevent this mistake from happening going forward?
  • State the differences between functional and object-oriented programming.
  • How would you refactor this class for easier unit testing? For parallel and concurrent processing?
  • How would you design this system for scale?
  • To ensure the high performance of the given architecture, what kind of graphs and instrumentation would you need?
  • What data tables are needed for an inventory management system?
  • What are some sharding strategies for Postgres or MariaDB/MySQL time series? For geographical databases?
  • When would you use a NoSQL solution instead of SQL?

Facebook Engineering Manager Interview Questions

Facebook Engineering Managers build high-performing engineering teams. They direct and support engineers at Facebook in their career growth and ensure that engineering teams have inspiring visions for the future. Some common Facebook Engineering Manager interview questions are: 

  • Talk about your work experience in the last year.
  • How do you manage the career growth of your team?
  • How do you upgrade the skills of your team?
  • What qualities do you look for in a team manager?
  • Have you ever fired anyone for low performance?
  • Talk about the high-level system design of a specific project.
  • What testing strategies do you use to test features?
  • You're running behind on your project. How would you communicate this to other teams? 
  • How do you support your team as they work on various projects?
  • How do you ensure timely deliverables?

Facebook Interviews - FAQs

Below are a few frequently asked Facebook interview questions: 

  • Can I apply for multiple jobs at Facebook?

Job applications at Facebook are limited to 3 in total. Hence, ensure that you apply for roles that match your work experience and specific skills.

  • How can I prepare for my interview at Facebook?

Interviews vary across roles and regions, so it's best to reach out to your recruiter for help with interview preparation. You could also sign up for a technical interview preparation course where experts will guide you through the technical interview process at Facebook. 

  • I interviewed/applied last year at Facebook and wasn’t selected. When can I reapply?

Facebook asks candidates to wait for one year before applying for another role. The idea is to allow candidates to develop new skills and gain experience to be successful in the interview process in the future.

  • What should I focus on while applying for a job at Facebook?

Focus on your strengths. Facebook likes to ask, "What were you doing on your very best day at work?" Recruiters and hiring managers want you to do that not just on your best day but every day. Show them something you've built. Builders see things that are good, but could be better, and figure out how to make it so. Facebook looks for candidates who've got that same building mindset, whether they're applying for executive roles or internships. Share when you've failed and learned. Don't hesitate to talk about the mistakes you've made in the pursuit of big ideas— they want to hear about your failures as much as your wins.

Note: This information is correct as of May 2021 as per Facebook’s website.

Additional Resources to Prepare for Facebook Interviews

The resources below will help you prepare and build confidence for Facebook interviews.

Ready to Nail that Facebook Interview?

Facebook has some incredibly stringent rules about applying for a job there, and you want to make the most of every opportunity.

For example, you're limited to three job applications. Additionally, if you aren't selected, Facebook wants you to wait one year before you try again. That's a pretty long time.

But don't panic. You can prepare for many Facebook questions using this guide, increasing the odds that you'll shine.

All the best!

Attend our Free Webinar on How to Nail Your Next Technical Interview

About usWhy usInstructorsReviewsCostFAQContactBlogRegister for Webinar