Engaged Employer

# Facebook Software Engineer Interview Questions

Updated Jul 3, 2015
109 Interview Reviews

86%
9%
4%

39%
22%
14%

3.3
Average

Hard

Average

Easy

## Software Engineer Interview

Declined Offer
Neutral Experience
Difficult Interview

Application

I applied through an employee referral. The process took 2 weeksinterviewed at Facebook (Palo Alto, CA) in October 2009.

Interview

Multiple interviews. Very heavy CS/discrete math based questions. They are definitely hiring only the smartest people! Also, long waits between interviews. Other than that, they were very professional and employees were open in sharing their experience while working at Facebook (lots of energy and enthusiasm in general, mostly because its a lot of young/college kids)

Interview Questions

• Given two events, each with a start and end time, implement a boolean check to see if they overlap.   4 Answers
• Reverse a string in-place using C.   2 Answers

## Software Engineer Interview

Accepted Offer
Positive Experience
Difficult Interview

Application

I applied through an employee referral. The process took 3 daysinterviewed at Facebook (Menlo Park, CA) in April 2012.

Interview

The recruiter called up and asked me if I was interested in the job opportunity. The process began with solving a programming problem on InterviewStreet for which I was given 90 minutes to solve. This was followed by a 60 minute telephonic interview. After clearing these two rounds, I was invited onsite and I had to go through 3 face-to-face interviews. The problems were hard algorithmic problems and you are expected to write clean code in the first go. The interviewers were really friendly and helpful. My advice would be that you have confidence in yourself and be as honest in an interview as possible. For practice, you should be well versed with standard algorithmic techniques like dynamic programming, greedy algorithms, solving linear recurrences in logarithmic time, recursion, tree traversals, etc.

Interview Questions

• You are given an integer N and an integer M. You are supposed to write a method void findBestCoinsThatMinimizeAverage(int N, int M) that prints the best collection of N coins that minimize the average number of minimum coins needed to generate values from 1 to M. So, if M = 100, and N = 4, then if we use the set {1, 5, 10, 25} to generate each value from 1 to 100, so that for each value the number of coins are minimized, i.e. 1 = 1 (1 coin), 2 = 1 + 1 (2 coins),..., 6 = 1 + 5 (2 coins), ..., 24 = 5 + 5 + 5 + 5 + 1 + 1 + 1 + 1 (8 coins), and we take the average of these coins, we would see that the average comes out to ~5.7. But if we instead use {1, 5, 18, 25}, the average would come out to be 3.7. We are to find that set of N coins, and print them, that produce the minimum average.   7 Answers

Negotiation

I was able to negotiate. If you have an offer, you can always negotiate. All the rules are meant to be broken but some are hard to break. It would be easy to ask for a higher relocation bonus but difficult to ask for 8 more paid leaves.

## Software Engineer Interview

Accepted Offer
Positive Experience
Difficult Interview

Application

I applied through an employee referral. The process took 4+ weeksinterviewed at Facebook (Menlo Park, CA) in May 2012.

Interview

I was contacted by recruiter via employee referral. Chose to go on site for initial interview. This was followed by onsite day of interviews a few weeks afterwards (I asked for some time to prepare for coding tests). The second set of interviews comprised of 2 coding tests, one design, one behavioral, lunch with hiring manager and one interview related to my technical specialization. Received offer within a week of final set of interviews.

Interview Questions

• Coding tests were the hardest part for me since I have been out of school for a long time now :) Prepare for questions related to trees, graphs, strings, dynamic programming and practice writing code on paper.   Answer Question
3.

## Software Engineer Interview

Accepted Offer
Positive Experience
Difficult Interview

Application

I applied through an employee referral. The process took 2 weeksinterviewed at Facebook (Palo Alto, CA) in January 2011.

Interview

Sourced through a friend who works there, really good communication and speed.

I totally bombed an initial on-site but then was able to get another one. Studied up for it, did a lot better and then went on-site for a full day.

Got to meet a lot of awesome engineers, guess I did okay since I got an offer and it was the best day of my life!

Interview Questions

Negotiation

None

4. Is this helpful? The community relies on everyone sharing – Add Anonymous Interview Review

5.

## Software Engineer Interview

Accepted Offer
Positive Experience
Difficult Interview

Application

I applied online. The process took 2+ monthsinterviewed at Facebook (Seattle, WA) in November 2011.

Interview

Sent in my resume and got a recruiter e-mail 2 days later.
Had 2 initial on-site intervies in Seattle, then a full loop (4 interviews) in California, and 1 final interview.
On my full loop one interviewer felt like I didn't do as well on the coding question and they asked me to do 1 more interview.
Overall the recruiter kept in touch with me throughout the process.

Interview Questions

6.

## Software Engineer Interview

Accepted Offer
Positive Experience
Difficult Interview

Application

I applied online. The process took 2+ monthsinterviewed at Facebook (Palo Alto, CA) in July 2011.

Interview

Phone screen, Excel test, phone interview, skype interviews, 30 page assignment, flew out for on-site interviews, more phone interviews, flew out again for on-site interviews.

They put me through the ringer before they hired me. But the questions were relevant and the people I met were great. This was back in their Palo Alto offices though.

Interview Questions

• Pre-IPO, they asked me to write a paper on the valuation of Facebook. They also asked me what I thought the greatest technological advancement was in the past 20 years.   Answer Question

Negotiation

They sold me on the equity. I didn't negotiate.

## Software Engineer Interview

Accepted Offer
Positive Experience
Difficult Interview

Application

I applied online. The process took 2 weeksinterviewed at Facebook (Menlo Park, CA) in September 2013.

Interview

Telephone chat with recruiter followed by an onsite interview. Onsite interview had five 45 minute interview sessions, and all of them were very technical (writing code on the whiteboard or talking about system design).

Interview Questions

• Questions about data structures, graphs, and tree traversal.   Answer Question

Negotiation

The offer was very good so little negotiating was necessary.

8.

## Software Engineer Interview

Declined Offer
Positive Experience
Difficult Interview

Application

I applied through an employee referral. The process took 7+ weeksinterviewed at Facebook (London, England (UK)).

Interview

They were as friendly as you can imagine and gave me a T-Shirt. I met a kind of famous security guru.

Interview Questions

• How do you print all elements of a linked list.   5 Answers

Reasons for Declining

I'm still in the loop.

9.

## Software Engineer Interview

Accepted Offer
Positive Experience
Difficult Interview

Application

I applied through an employee referral. The process took 1+ weekinterviewed at Facebook (Menlo Park, CA) in April 2011.

Interview

A phone screen followed by 4 onsite interviews.
The interviews were mostly about coding which I liked, the interviewers were very open about their likes and dislikes in facebook and helped sell the place.
The recruiters were great in keeping me in the loop and giving me the status and eventually the offer.

Interview Questions

• find 3 elements in an array that sum to 0.   6 Answers

## Software Engineer Interview

Accepted Offer
Positive Experience
Difficult Interview

Application

I applied through college or university – interviewed at Facebook.

Interview

I had interviewed for a number of positions (full time and intern) before, and was never successful until this, my final chance. Luckily, things went in my favor and I was offered a full-time position.

My recruiter was quick and very responsive over email. I already had an offer with another company at the time, and thus, my recruiter was able to expedite me through the already quick interview process. I had one coding challenge to be turned in whenever it was completed, a non-technical interview over the phone, and two on-site interviews. My first on-site interview was an interview with my recruiter plus a technical interview. My second on-site was a series of four technical interviews.

All in all, I was very pleased with the sincerity and speed my recruiter put in and of course, being given an offer made was the cherry on top :).

Interview Questions

• Expect typical software engineering coding questions on the more difficult side of the spectrum. Nothing easy like "reverse this array", but don't be afraid to ask questions during the interview and thinking out loud is encouraged.   Answer Question