## Facebook Interview Questions

- 2of 2 votes

AnswersGiven two sorted linked lists of integers write an algorithm to merge the two linked lists such that the resulting linked list is in sorted order. You are expected to define the data structure for linked list as well. Analyze the time and space complexity of the merge algorithm.

- vkoolkatz April 28, 2016 in United States| Report Duplicate | Flag | PURGE

Facebook Software Engineer Data Structures - 0of 0 votes

AnswersThere are N coins with coordinates (x, y) where x >0 and y >0

- emb April 02, 2016 in United States

You start at (0, 0) and you can only do steps of form (dx, dy) where dx >0 and dy > 0

Print the maximum number of coins that you can collect.

Clarification: you can do as many moves as you wish, the point is to collect maximum number of coins. If you are located at position (a, b) you may jump to position (a+dx, b+dy) for all dx > 0 and dy > 0

@krbchd: Your algorithm may output incorrect values. Suppose there are points (5, 7), (5, 8), (5, 9) for y coordinates LIS will output 7, 8, 9, however since these points are on the same x axis, you can choose only one of them.| Report Duplicate | Flag | PURGE

Facebook Software Developer Algorithm - 2of 2 votes

AnswersGIven a string "str" and pair of "N" swapping indices, generate a lexicographically largest string. Swapping indices can be reused any number times.

- uvm March 15, 2016 in United States

Eg 1)

String = "abdc"

Indices:

(1,4)

(3,4)

Answer:

cdba, cbad, dbac,dbca

you should print only "dbca" which is lexicographically largest.| Report Duplicate | Flag | PURGE

Facebook SDE-2 Algorithm - 4of 4 votes

AnswersGiven the root of a binary tree containing integers, print the columns of the tree in order with the nodes in each column printed top-to-bottom.

- takepwn February 26, 2016 in United States`Input: 6 / \ 3 4 / \ \ 5 1 0 / \ / 9 2 8 \ 7 Output: 9 5 3 2 6 1 7 4 8 0 Input: 1 / \ 2 3 / \ / \ 4 5 6 7 When two nodes share the same position (e.g. 5 and 6), they may be printed in either order: Output: 4 2 1 5 6 3 7 or: 4 2 1 6 5 3 7`

| Report Duplicate | Flag | PURGE

Facebook Software Engineer Intern Trees and Graphs - 0of 0 votes

AnswersGiven an array and a number, add it in such a way where array is [0,0,1] and number is 4 output will be [0,0,5]

- Ipalibo February 25, 2016 in United Kingdom

Example 2 :

array is [1] and number is 9 output will be [1,0]| Report Duplicate | Flag | PURGE

Facebook Software Engineer Algorithm - 0of 0 votes

AnswersGiven a set of numbers {x1, x2, x3, x4, ..., xN} (N>=3) a set of its pairwise sums is {x1+x2, x1+x3, x1+x4, x2+x3,x2+x4,x3+x4, ...,}. (That is s_k = x_i + x_j where i != j)

Restore a set of numbers given a set of its pairwise sums.

Note: you don't know given some k, to which i and j it refers, (i.e. input is given in undefined order)

EDIT: couldn't comment, so here is clarification

Example:`S = {1, 5, 10, 100} (n elements) P = {6, 11, 101, 15, 105, 110} (n * (n - 1) / 2 elements)`

Given P you have to restore S.

Note here means that if you knew which element in P corresponded to which pair of indices in S, you could just solve a simple linear equation

- emb February 22, 2016 in United States`x1+x2=a{k1} x2+x3 = a{k2}, ...., x{n-1} + x{n} = a{k{n-1}, x{n} + x1 = a{k{n}}`

| Report Duplicate | Flag | PURGE

Facebook Intern - 1of 1 vote

AnswersGiven a string where in each word letters were randomly shuffled and after that words were written without spaces (lets call it X). Also you have a dictionary. The task is to return all possible strings S that can be transformed into the string X and all words in S are from dictionary.

- golyjivan February 19, 2016 in United States| Report Duplicate | Flag | PURGE

Facebook Software Engineer Algorithm - 2of 2 votes

AnswersGiven two arrays/Lists (choose whatever you want to) with sorted and non intersecting intervals. Merge them to get a new sorted non intersecting array/list.

- HumbleLearner February 12, 2016 in United States

Eg:

Given:

Arr1 = [3-11, 17-25, 58-73];

Arr2 = [6-18, 40-47];

Wanted:

Arr3 = [3-25, 40-47, 58-73];| Report Duplicate | Flag | PURGE

Facebook Software Engineer Intern Algorithm - 3of 3 votes

AnswersTask schedule: given a sequence of task like A B C(means 3 different tasks), and a coldtime, which means you need to wait for that much time to start next [same] task. Now----

- songty11 January 27, 2016 in United States

Input: string, n

Output: the best task-finishing sequence.

eg. input: AAABBB, 2

Output: AB_AB_AB

( "_" represents do nothing and wait)| Report Duplicate | Flag | PURGE

Facebook Software Engineer Intern Algorithm - 1of 1 vote

AnswersGiven a decimal number, write a function that returns its negabinary (i.e. negative 2-base) representation as a string.

- JP Ventura January 09, 2016 in United States`#!/usr/bin/env python3 assert solution(-15) == '110001' assert solution(2) == '110' assert solution(13) == '11101'`

| Report Duplicate | Flag | PURGE

Facebook Software Engineer / Developer Algorithm - 3of 3 votes

AnswersGiven a forest of balanced binary trees and two nodes, n1 and n2, find the closest common parent of n1 and n2. Nodes have parameters "parent", "left" and "right", and you cannot access the values of the nodes. If n1 and n2 are not on the same tree, return NULL.

- Matt Cooper December 26, 2015 in United States for Software Engineering

Try to do this in O(log(n)) time and O(1) space.| Report Duplicate | Flag | PURGE

Facebook Intern Trees and Graphs - 2of 2 votes

AnswersGiven an undirected graph and a node, modify the graph into a directed graph such that, any path leads to one particular node.

- neer.1304 December 25, 2015 in United States| Report Duplicate | Flag | PURGE

Facebook Software Engineer Algorithm - 1of 1 vote

AnswersGiven integer k and a subset S of set {0, 1, 2, ..., 2^k - 1}

- emb December 13, 2015 in United States

Return the count of pairs (a, b) where a and b are from S and (a < b) and (a & b == a)

& here is bit-wise and.

Do it faster than O((2^k)^2), assume k <= 16

Example:

0b111

0b101

0b010

Answer: 2

0b110

0b011

0b101

Answer: 0| Report Duplicate | Flag | PURGE

Facebook Software Engineer Algorithm - 1of 3 votes

AnswersGiven a random string S and another string T with unique elements, find the minimum consecutive sub-string of S such that it contains all the elements in T.

- Saghar H November 05, 2015 in United States

example:

S='adobecodebanc'

T='abc'

answer='banc'| Report Duplicate | Flag | PURGE

Facebook Software Developer Algorithm - 0of 0 votes

AnswersGiven a set of ranges:

- effy November 02, 2015 in United States

(e.g. S = {(1, 4), (30, 40), (20, 91) ,(8, 10), (6, 7), (3, 9), (9, 12), (11, 14)}.

And given a target range R (e.g. R = (3, 13) - meaning the range going from 3 to 13). Write an algorithm to find the smallest set of ranges that covers your target range. All of the ranges in the set must overlap in order to be considered as spanning the entire target range. (In this example, the answer would be {(3, 9), (9, 12), (11, 14)}.| Report Duplicate | Flag | PURGE

Facebook - 1of 1 vote

AnswersGiven an array of positive integers (excluding zero) and a target number. Detect whether there is a set of consecutive elements in the array that add up to the target.

- m.mirzamo October 28, 2015 in United States

Example: a = {1, 3, 5, 7, 9}

target = 8

output = true ({3, 5})

or target = 15

output = true : {3, 5, 8}

but if target = 6, output would be false. since 1 and 5 are not next to each other.| Report Duplicate | Flag | PURGE

Facebook Intern Algorithm - 0of 0 votes

AnswersGiven an array of integers. Modify the array by moving all the zeros to the end (right side). The order of the other elements doesn't matter.

- m.mirzamo October 28, 2015 in United States| Report Duplicate | Flag | PURGE

Facebook Intern Algorithm Data Structures - 2of 2 votes

AnswersGiven a dictionary containing a list of words, a starting word, and an ending word, return the minimum number of steps to transform the starting word into the ending word.

- ixnay October 28, 2015 in United States

A step involves changing one letter at a time to a valid word that is present in the dictionary.

Return null if it is impossible to transform the starting word into the ending word using the dictionary.

Example:

Starting word: cat

Ending word: dog

cat -> cot -> cog -> dog ('cot' and 'cog' are in the dictionary)

return 3| Report Duplicate | Flag | PURGE

Facebook Software Engineer Algorithm - 2of 2 votes

AnswersGiven predicted stock prices for next n days for a stock e.g : 10, 30, 42, 15, 20, 50, 10, 25 find the maximum profit that can be made with a single buy-sell transaction. If no profit can be made return 0. In the example buying at 15 and selling at 50 gives maximum profit. Note that the two prices are neither minimum nor maximum in the array.

- Kiara October 27, 2015 in United States| Report Duplicate | Flag | PURGE

Facebook Software Engineer / Developer - 4of 4 votes

AnswersWe have an array of objects A and an array of indexes B. Reorder objects in array A with given indexes in array B. Do not change array A's length.

example:

- u-11i24223 October 26, 2015 in United States`var A = [C, D, E, F, G]; var B = [3, 0, 4, 1, 2]; sort(A, B); // A is now [D, F, G, C, E];`

| Report Duplicate | Flag | PURGE

Facebook Front-end Software Engineer Front End Web Development - 2of 2 votes

AnswersYou are given a set of points on x axis (consumers)

- emb October 22, 2015 in United States

Also you are given a set of points on a plane (producer)

For every consumer print the nearest producer.

Wanted something better than O(n^2) time.

Example:

consumers: 1 5 7

producers: (0, 3), (1,1), (3, 2), (8, 10), (9, 100)

Answer:

for 1 nearest producer is (1, 1), for 5 nearest is (3, 2), for 7 nearest is (3, 2)

Follow-up question: now both sets are sorted by x coordinate. Could you come up with a linear algorithm?| Report Duplicate | Flag | PURGE

Facebook Software Engineer Algorithm - 0of 0 votes

AnswersGiven n, return 1 ^ 2 ^ 3 ^ ... ^ n

Where ^ is binary xor.

Note: n is a 64-bit number, and 1<<63 is a valid n for this problem.

Examples:

- emb October 07, 2015 in United States`>>> reduce(lambda a,b:a^b, [1,2,3]) 0 >>> reduce(lambda a,b:a^b, [1,2,3,4]) 4 >>> reduce(lambda a,b:a^b, [1,2,3,4,5,6,7]) 0 >>> reduce(lambda a,b:a^b, [1,2,3,4,5,6,7,8,9]) 1`

| Report Duplicate | Flag | PURGE

Facebook Software Engineer Intern - 0of 0 votes

AnswersGiven an array of positive, unique, increasingly sorted numbers A, e.g. A = [1, 2, 3, 5, 6, 8, 9, 11, 12, 13]. Given a positive value K, e.g. K = 3. Output all pairs in A that differ exactly by K.

- simplysou October 06, 2015 in United States

e.g. 2, 5

3, 6

5, 8

6, 9

8, 11

9, 12

what is the runtime for your code?| Report Duplicate | Flag | PURGE

Facebook Software Developer - 2of 2 votes

AnswersYou are given a permutation arr[N]. E.g. arr[3] = {2, 1, 0} or arr[5] = {0,1,2,4,3};

- emb October 05, 2015 in United States

Then you can prepare somehow and then start serving requests: request(a, b, k) = sorted(arr[a:b])[k], that is, k-th order statistic on slice [a:b] of arr.

E.g. if arr is [3,4,5,0,1,2] and a = 2 and b = 5, then arr[a:b] = [5,0,1] and let k = 2, so we sort it - get [0,1,5] and take k-th element, that is - 5.

Implement request(a, b, k) function. You can preprocess input data, that is, assume there will be only one array and many request() calls.| Report Duplicate | Flag | PURGE

Facebook Software Engineer Algorithm - 3of 3 votes

AnswersDesign Live comments. If your facebook.com homepage is open with bunch of feeds and if someone comments on those feeds, the comments should automatically show up in facebook.com home page without refreshing the page. Feeds could be a simple status update by a friend, post in a group, post by a person you're following, post in a page you've liked etc.

- Rejected September 29, 2015 in United States

Few things what they are looking for -

1. How do you solve it initially and how do you scale it?

2. How do you scale push model in-case if you choose PUSH model to solve it?

3. If push cannot scale how do you solve it?

4. How pull model solves it?

5. When will you use push vs pull?| Report Duplicate | Flag | PURGE

Facebook Software Developer Software Design - 0of 0 votes

AnswersWrite Program for String Permutations using most efficient algorithm. Can you solve problem in O(n) time ?

- dev123 September 23, 2015 in United States| Report Duplicate | Flag | PURGE

Facebook Software Engineer - 0of 0 votes

AnswersConflict resolution in Multi Master systems.

- Kiara September 23, 2015 in United States| Report Duplicate | Flag | PURGE

Facebook Software Engineer / Developer - 2of 2 votes

Answersdesign a URL shortener service

- Kiara September 23, 2015 in United States| Report Duplicate | Flag | PURGE

Facebook Software Engineer / Developer - 1of 1 vote

Answerscheck a binary tree is a binary search tree

- Kiara September 23, 2015 in United States| Report Duplicate | Flag | PURGE

Facebook Software Engineer / Developer - 1of 3 votes

AnswersWrite a function to check if a string matches a regex patter. Note that you only have to deal with patterns containing "*". Also, note that the pattern can't start with "*".

- diwash.timilsina August 04, 2015 in United States

Some examples:

isMatch(“aa”,”a”) → false

isMatch(“aa”,”aa”) → true

isMatch(“aaa”,”aa”) → false

isMatch(“aa”, “a*”) → true

isMatch(“aa”, “*”) → true

isMatch(“ab”, “*”) → true

isMatch(“ab”, “*”) → true

isMatch(“b*a”, “a”) → true

isMatch(“a*a”, “a”) → true

isMatch(“aab”, “c*a*b”) → true| Report Duplicate | Flag | PURGE

Facebook Software Engineer

**CareerCup**is the world's biggest and best source for software engineering interview preparation. See all our resources.

Open Chat in New Window