Open In App
Related Articles

Facebook(Meta) SDE Sheet: Interview Questions and Answers

Improve Article
Save Article
Like Article

Facebook(Meta) is an online social media and social networking service owned by the American company Meta Platforms. It employs around 72000 people across the globe and is ranked 27th in the fortune 500 rankings. This sheet will assist you to land a job at Facebook we have compiled all the interview questions and answers..

Facebook SDE Sheet

Many people aspire to be an employee at Meta because of the company’s unique culture which promotes both personal and cultural growth. The recruitment at Meta is broadly a 4 step process:

  • Resume Screenings: Recruiters will screen your resume for technical requirements, education, and experience, to check if you’re a potential fit.
  • Phone screenings: There are usually two rounds of phone screenings at meta:
    • Pre-Screen(20 mins): HR recruiter will contact you to ask a few behavioral questions on the phone to assess your background and qualities.
    • Technical Phone Screening: A Facebook engineer will ask some questions from your resume for 10-15 minutes, then you will be given one or two coding questions (e.g. data structures, algorithms, etc.) on a simple online code editor, to be solved within 30 minutes,
  • On-site Interviews: This involves 4-5 interviews with a team of recruiters, each interview lasts for about 45 mins. For Technical roles, there are two main types of interviews. 2 or more interviews for each type.  

    • Coding on-site interviews: whiteboarding solutions to slightly harder data structures and/or algorithmic problems.
    • System Design on-site interviews: You will be asked to come up with high-level design architectures for real-life products. 
  • Hiring Committee reviews: It is more like a candidate assessment meeting where team leaders/ managers will determine whether you’re a good fit for their respective teams.

Facebook SDE Roadmap


Why this sheet?

Landing a job at Facebook is challenging. Facebook as a recruiter has high standards which is justified as it is one of the most iconic tech companies and also the competition is tough. We have come up with this sheet to help you beat that competition and grab your dream job. This sheet covers all the important and popular technical questions asked in Facebook interviews so far. Questions and answers in this sheet are grouped topic-wise and cover all major DSA topics that have weightage in meta interviews with the practice link.

Resume Builder

The sole purpose of a resume is to make you land your dream job. It introduces your qualifications, skills, achievements, and everything regarding your expertise. It helps you land your career. When you have a perfect resume, nothing can be a hindrance to the best job.

We have our own resume Builder which can help you build a powerful resume to get through the resume screening round. You can check it out here- GFG resume builder

Phone screenings

  • Behavioral Skills

    Many people are very afraid of behavioral interview questions in technical interviews as they seem to be just something most programmers are not good at.

    Unlike technical questions, which are very standard and usually have clear answers, behavioral interview questions are much more flexible and sometimes may make candidates quite uncomfortable. We have tips for Prepare Behavioural Interview Questions

  • Technical Phone Screening

    Even though telephonic interviews have many benefits, including the flexibility to attend from anywhere and the ability to go back to notes, there are still some complexity and problems that are part of them, so you must be ready for them if you want to be approved for final selection.

    We have prepared tips to crack a telephonic Interview.

Coding on-site interview

Array: An array is a collection of items stored at contiguous memory locations. The idea is to store multiple items of the same type together.



Move all zeroes to the end of arraySolve
Subarray with given sumSolve
Find k numbers with most occurrences in the given arraySolve
Best meeting point in 2D binary arraySolve
Largest Sum Contiguous SubarraySolve
Matrix RotationSolve
Trapping Rain WaterSolve
Next PermutationSolve
Product of Array except itselfSolve
Search a Word in a 2D Grid of charactersSolve
Program for Conway’s Game Of LifeSolve
Pascal’s TriangleSolve
Number of square matrices with all 1sSolve
Minimum time required to produce m itemsSolve
Count of submatrix with sum X in a given MatrixSolve
Third largest element in an array of distinct elementsSolve
Count Smaller elementsSolve
Minimum number of jumps to reach endSolve
Largest Fibonacci SubsequenceSolve
Majority ElementSolve

String: Strings are defined as an array of characters. The difference between a character array and a string is the string is terminated with a special character ‘\0’.



Justify the given Text based on the given width of each lineSolve
Program to convert a given number to wordsSolve
Iterative Letter Combinations of a Phone NumberSolve
Find the smallest window in a string containing all characters of another stringSolve
Print all combinations of balanced parenthesesSolve
Given a sequence of words, print all anagramsSolve
Sum of two large numbersSolve
Converting Roman Numerals to Decimal lying between 1 to 3999Solve
Given a string, find its first non-repeating characterSolve
Program to validate an IP addressSolve
Simplify the directory pathSolve
Look-and-Say SequenceSolve
Generate all binary strings from given patternSolve
Multiply Large Numbers represented as StringsSolve
Find if a given string can be represented from a substring by iterating the substring “n” timesSolve
How to replace a substring of a stringSolve
Length of the smallest sub-string consisting of maximum distinct charactersSolve
Put spaces between words starting with capital letters loveSolve

LinkedList: Linked List is the data structure that can overcome all the limitations of an array. A Linked list is a linear data structure, in which the elements are not stored at contiguous memory locations, it allocates memory dynamically.



Reverse a linked listSolve
Merge K sorted linked listsSolve
Add two numbers represented by linked listsSolve
Clone a linked list with next and randomSolve
Function to check if a singly linked list is palindromeSolve
Reverse a Linked List in groups of given sizeSolve
Write a function to get the intersection point of two Linked ListsSolve
Detect loop in a linked listSolve
Delete a Linked List node at a given positionSolve
Remove duplicates from a sorted linked listSolve

Tree: A tree is non-linear and a hierarchical data structure consisting of a collection of nodes such that each node of the tree stores a value, a list of references to nodes (the “children”).



Binary Tree to DLLSolve
Serialize and Deserialize a Binary TreeSolve
Level Order Binary Tree TraversalSolve
Convert a Binary Tree to a Circular Doubly Link ListSolve
Lowest Common Ancestor in a Binary TreeSolve
A program to check if a binary tree is BST or notSolve
Diameter of a Binary TreeSolve
Check if a binary tree is subtree of another binary treeSolve
Given a binary tree, print all root-to-leaf pathsSolve
Minimum number of cameras required to monitor all nodes of a Binary TreeSolve
Inorder Successor in Binary Search TreeSolve
Connect nodes at same level using constant extra spaceSolve

Graph: A Graph is a non-linear data structure consisting of nodes and edges. The nodes are sometimes also referred to as vertices and the edges are lines or arcs that connect any two nodes in the graph.



Clone an Undirected GraphSolve
Check whether a given graph is Bipartite or notSolve
Topological SortingSolve
Find the number of islandsSolve
Detect Cycle in a Directed GraphSolve
Detect Cycle in a directed graph using colorsSolve
Articulation Points (or Cut Vertices) in a GraphSolve
Implementing Dijkstra AlgorithmSolve
Strongly Connected Components (Kosaraju’s Algo)Solve
Prerequisite TasksSolve
Distance from the Source (Bellman-Ford Algorithm)Solve
Word Boggle – IISolve

Sorting and Searching:

  • Sorting: The sorting Algorithm is used to rearrange a given array or list of elements according to a comparison operator on the elements.
  • Searching: Searching Algorithms are designed to check for an element or retrieve an element from any data structure where it is stored.



Key PairSolve
Find all triplets with zero sumSolve
Median of two sorted arrays of different sizesSolve
Merge Overlapping IntervalsSolve
Square root of an integerSolve
Search in a Rotated ArraySolve
Sort an array of 0s, 1s and 2sSolve
Insert in sorted and non-overlapping interval arraySolve
Find H-Index for sorted citations using Binary SearchSolve
Number of subarrays having sum in a given rangeSolve

Stack and Queue:

  • Stack: A stack is a linear data structure in which elements can be inserted and deleted only from one side of the list, called the top. A stack follows the LIFO (Last In First Out) principle.
  • Queue: A queue is a linear data structure in which elements can be inserted only from one side of the list called the rear, and the elements can be deleted only from the other side called the front. The queue data structure follows the FIFO (First In First Out) principle.



Check for Balanced Brackets in an expression (well-formedness) using StackSolve
Remove Invalid ParenthesesSolve
Largest Rectangular Area in a HistogramSolve
The Celebrity ProblemSolve
Sort a stackSolve
Circular tourSolve

Dynamic Programming: Dynamic Programming is mainly an optimization over plain recursion. Wherever we see a recursive solution that has repeated calls for the same inputs, we can optimize it using Dynamic Programming.



Count Possible Decoding’s of a given Digit SequenceSolve
Maximum size square sub-matrix with all 1sSolve
Stock Buy Sell to Maximize ProfitSolve
Word BreakSolve
Wildcard Pattern MatchingSolve
Maximum size rectangle binary sub-matrix with all 1sSolve
Max sum of M non-overlapping subarrays of size KSolve
Maximum average sum partition of an arraySolve
Painting Fence AlgorithmSolve
Longest Increasing SubsequenceSolve
Find size of the largest ‘+’ formed by all ones in a binary matrixSolve
Count All Palindrome Sub-Strings in a StringSolve
Count ways to reach the n’th stairSolve
Burst Balloon to maximize coinsSolve
Largest divisible subset in arraySolve
Target SumSolve
Construct all possible BSTs for keys 1 to NSolve

System Design

System Design is the process of designing the architecture, components, and interfaces for a system so that it meets the end-user requirements. System Design for tech interviews is something that can’t be ignored!

Almost every IT giant whether it be Facebook, Amazon, Google, or any other asks various questions based on System Design concepts such as scalability, load-balancing, caching, etc. in the interview. This specifically designed System Design Tutorial & System Design Course will help you to learn and master System Design concepts in the most efficient way from basics to advanced level.

Last Updated : 17 Jul, 2023
Like Article
Save Article
Similar Reads
Related Tutorials