Most common Dropbox coding Interview questions

Arrays

Determine if the sum of three integers is equal to the given value

Problem Statement

Given an array of integers and a value, determine if there are any three integers in the array whose sum equals the given value.

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.

Linked Lists

Add two integers

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.

Merge two sorted linked lists

Problem Statement

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

Trees

Determine if two binary trees are identical

Problem Statement

Given the roots of two binary trees, determine if these trees are identical or not. Identical trees have the same layout and data at each node.

Mirror binary tree nodes

Problem Statement

Given the root node of a binary tree, swap the ‘left’ and ‘right’ children for each node.

Strings

Find all palindrome substrings

Problem Statement

Given a string find all non-single letter substrings that are palindromes.

Reverse words in a sentence

Problem Statement

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

Dynamic Programming

Find the maximum sum of a subarray

Problem Statement

Given an array of positive numbers and a positive number ‘k’, find the maximum sum of any contiguous subarray of size ‘k’.

Math and Stats

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

Find all sum combinations

Problem Statement

Given a positive integer, target, print all possible combinations of positive integers that sum up to the target number.

Graphs

Clone a directed graph

Problem Statement

Given the root node of a directed graph, clone this graph by creating its deep copy so that the cloned graph has the same vertices and edges as the original graph.

Design

Implement a LRU cache

Problem Statement

Least Recently Used (LRU) is a common caching strategy. It defines the policy to evict elements from the cache to make room for new elements when the cache is full, meaning it discards the least recently used items first.

Sorting and Searching

Search in rotated array

Problem Statement

Search for a given number in a sorted array that has been rotated by some arbitrary number. Return -1 if the number does not exist. Assume that the array does not contain duplicates.

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.