Facebook(Meta) SDE Sheet: Interview Questions and Answers (original) (raw)

Facebook (Meta) is a global social networking platform owned by Meta Platforms, ranked 27th on the Fortune 500 with around 72,000 employees worldwide. This sheet helps you prepare for Facebook interviews with curated questions and answers.

The recruitment at Meta is broadly a 4 step process:

**Technical Phone Screening

**Topic-Wise DSA Questions

**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.

**String

**String 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’.

**Linked List

**LinkedList 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.

**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”).

**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.

**Sorting

**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.

**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 that follows the FIFO principle, where elements are inserted at the rear and removed from the front.

**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.

**System Design

**Behavioral Skills