top of page

# most common facebook coding interview questions Arrays

### Arrays

Move zeros to the left

#### ​

Problem statement

Given an integer array, move all elements that are equal to 0 to the left while maintaining the order of other elements in the array.

Merge overlapping intervals

#### ​

Problem statement

Given a list of intervals, merge all the overlapping intervals to produce a list that has only mutually exclusive intervals.

#### ​

Problem statement

Given the head pointers of two linked lists where each linked list represents an integer number (each node is a digit), add them and return the resulting linked list.

#### ​

Problem statement

Given two sorted linked lists, merge them so that the resulting linked list is also sorted.

Trees

### trees

Convert binary tree to doubly linked list

#### ​

Problem statement

Convert a binary tree to a doubly linked list so that the order of the doubly linked list is the same as an in-order traversal of the binary tree. After conversion, the left pointer of the node should be pointing to the previous node in the doubly linked list, and the right pointer should be pointing to the next node in the doubly linked list.

Level order traversal of binary tree

#### ​

Problem statement

Given a binary tree and a number ‘S’, find all paths from root-to-leaf such that the sum of all the node values of each path equals ‘S’.

Strings

### strings

Reverse words in a sentence

#### ​

Problem statement

Reverse the order of words in a given sentence (an array of characters).

String segmentation

#### ​

Problem statement

Given a dictionary of words and an input string tell whether the input string can be completely segmented into dictionary words.

Dynamic Programming

### dynamic programming

Find maximum single sell profit

#### ​

Problem statement

Given a list of daily stock prices (integers for simplicity), return the buy and sell prices for making the maximum profit. We need to maximize the single buy/sell profit. If we can't make any profit, we'll try to minimize the loss.

Math and Stats

### Math and stats

Calculate the power of a number

#### ​

Problem statement

Given a double, 'x', and an integer, 'n', write a function to calculate 'x' raised to the power 'n'.

Backtracking

### backtracking

Find all possible subsets

#### ​

Problem statement

You are given a set of integers and you have to find all the possible subsets of this set of integers.

Graphs

Design

### design

Serialize / deserialize binary tree

#### ​

Problem statement

Serialize a binary tree to a file and then deserialize it back to a tree so that the original and the deserialized trees are identical.

Sorting and Searching

### sorting and searching

Find the high and low index

#### ​

Problem statement

Given a sorted array of integers, return the low and high index of the given key. Return -1 if not found. The array length can be in the millions with many duplicates.

Search rotated array

#### ​

Problem statement

Search for a given number in a sorted array that has been rotated by some arbitrary number.