Facebook

  www.facebook.com
Work in HR? Unlock Free Profile

Facebook Software Engineer Interview Questions & Reviews

Updated Aug 17, 2014
All Interviews Received Offers

Getting an Interview  

25%
21%
18%

Interview Experience  

60%
25%
14%

Interview Difficulty  

Average Difficulty
338 candidate interviews Back to all interview questions
Relevance Date Difficulty
in

Accepted Offer

Positive Experience

Difficult Interview

Software Engineer Interview

Software Engineer
Menlo Park, CA

I applied through an employee referral and the process took 4+ weeks - interviewed at Facebook in December 2013.

Interview Details – Internal Referral -> Phone Interview -> Onsite Loop -> Offer
The process was quick, however I interviewed before the holidays and had to wait until afterwards to hear the results. Everyone is really friendly and helpful. HR always keeps you updated on the process.

Interview Questions

Negotiation Details – Had a competing offer from another giant so I was able to negotiate.


No Offer

Neutral Experience

Average Interview

Software Engineer Interview

Software Engineer

I applied through a recruiter and the process took 1 week - interviewed at Facebook in June 2014.

Interview Details – One/two phone interviews and one onsite. Contacted by recruiter, setup the time for a phone screen. Fairly well managed setup. Interview called on time, and was very nice to work with.

Interview Question – Add two binary numbers (Input as a string)   View Answers (3)


No Offer

Positive Experience

Difficult Interview

Software Engineer Interview

Software Engineer
Menlo Park, CA

I applied through a recruiter and the process took 3 days - interviewed at Facebook in June 2014.

Interview Details – I was contacted by the recruiter through linkedin. I had an initial call with the recruiter where I was asked about my interests and what I might be looking for. Recruiter explained me the entire process on how the interview goes. Usually they have an initial phone interview, where you have to write code through collabedit. After that in person interview.

Phone interview was all about data structures. First the interviewer asked me what interests me about facebook, what is one thing about facebook I like. After that interviewer asked me to print a binary tree in level order. I did that. And then I was asked to print the tree in level order but using DFS. Interviewer was nice, was giving a lot of hints whenever I was stuck. Overall, a good experience.

Interview Question – Nothing difficult for someone who would be clear on data structures I guess.   Answer Question


No Offer

Neutral Experience

Software Engineering Interview

Software Engineering

Interviewed at Facebook

Interview Details – Sent my resumé, had a first round phone interview. 30 minutes, worked through one algorithm. Didn't hear back about another phone interview for 3 weeks, at which point I had already accepted another offer.

Interview Question – I was asked a relatively standard question about BSTs.   Answer Question


1 person found this helpful

Accepted Offer

Positive Experience

Difficult Interview

Software Engineer Interview

Software Engineer
Menlo Park, CA

I applied through an employee referral and the process took 2 weeks - interviewed at Facebook in July 2014.

Interview Details – Introduced into the whole process via a referral, so I was able to move quickly to an onsite interview. This was easily the best interview experience I've had in a long time - recruiter was friendly and extremely responsive, and each of the interviews was engaged during the interview.

Everything moved very quickly once I indicated that I felt prepared to interview.

Interview Question – Nothing terribly surprising - be prepared to talk through CS fundamentals, large scale design, and code code code.   Answer Question


No Offer

Negative Experience

Average Interview

Software Engineer Interview

Software Engineer

I applied through college or university - interviewed at Facebook in February 2014.

Interview Details – campus recruiting and campus interview. I submit my resume in career fair and get notification of interview on the next day. The interviewer first asked me some questions on my resume and then asked me a technical question

Interview Question – something related to my resume. like how this project works   Answer Question


No Offer

Neutral Experience

Average Interview

Software Engineer Interview

Software Engineer

I applied online and the process took 5 days - interviewed at Facebook in May 2014.

Interview Details – The recruiter was excellent and quickly scheduled the first interview, but the manager seemed too busy and unprepared for the interview. When asked about development processes, make sure you show how flexible you are. They aren't looking for candidates who follow a strict SDLC; they want someone who can deal with less structure.

Interview Question – Tell me about the N-1 problem with ORMs.   Answer Question


3 people found this helpful

No Offer

Neutral Experience

Difficult Interview

Software Engineering Interview

Software Engineering

I applied through a recruiter and the process took 5 days - interviewed at Facebook in May 2014.

Interview Details – Got contacted for a Embedded Software Engineer position. I am a low level developer. The interviewer was a research scientist. Our backgrounds were poles apart. He did not have a clue about the position I was interviewing for. At the end both were wondering why he was asked to conduct the interview.

Interview Question – Sink Zero in Binary Tree.   View Answer


6 people found this helpful

No Offer

Positive Experience

Average Interview

Software Engineer Interview

Software Engineer
Palo Alto, CA

I applied through an employee referral and the process took 2+ weeks - interviewed at Facebook in May 2014.

Interview Details – FB is very efficient in hiring. The HR first sent some regular questions for me to answer, including the time to start working and so on, and then arranged the phone interview directly. On the same day of my phone interview, she arranged for onsite interviews. I was impressed with how efficient they are.

Interview Question – The interview questions were not extremely difficult, but I can tell they want people who understand the most basic concepts really well and can code clean and bug-free at once or after a little bit hints. The design questions were challenging though. Be prepared for that.
The interview questions include two sum, reverse integer, edit distance, clone graph, etc.
  Answer Question


65 people found this helpful

No Offer

Positive Experience

Difficult Interview

Software Engineer Interview

Software Engineer
Menlo Park, CA

I applied through a recruiter and the process took 3 months - interviewed at Facebook in November 2013.

Interview Details – This was for a position in their Infrastructure team in Cambridge MA.

Recruiter contacted me in September and was very interested in my background and experience with highly scalable systems - both in Finance and Mobile phone payments.
I attended some small intimate presentations they did as they were initially opening a new Boston office and wanted to grow it out. The meetings were great and I learned a lot about how they solve some of their biggest problems.

I then did a screening interview on-site (because I don't do technical screens well on the phone). The question was "Given a binary tree, write code to print the tree out line by line". I did OK and got the Breadth First Search down fine, but couldn't figure out the - line-by-line part. (Turns out this is Facebook's #1 question to ask in interviews).

Although my performance wasn't great they gave me a break on that and asked me back for another screening interview. This time I prepared well for another coding interview but it turned out to be a Design interview. The problem was

"Imagine you have 10,000 servers and need to monitor the performance of each one, how would you do it" - naturally you need to be able to NOT take too much of the bandwidth and so you'll have to do sampling, have some history to watch for trends etc.

I passed that and was very excited to be flown out to Menlo Park for the final round.
I studied like CRAZY based on questions on this site and CareerCup. I took 4 weeks and studied about 15 hours per week.

Turns out I focused on the wrong questions - I studied Tree, String, Array and List algorithms based on the distribution of Q&A but I was asked Binary math and heap algorithms. Here are the questions I was asked.

1) How would you implement division without +, - or multiplication (a "classic" question, but not one of the ones I would focus on). I bombed on this as I was not expecting and could not recall my binary math. I figured out the high level outline but that was all. That I was asked this in the "culture fit" interview made this doubly unexpected.

2) Given 10,000 servers containing a Billion integers each how would you find how to find the median? I knew the answer to this question (use two heaps) - not because I had focused on it, but I had found it an interesting question while studying. However he then asked "How much memory do you need?" and I didn't know how big the heaps would need to be. The real answer I was trying to get is - what is the minimum heap you need. I had a guess but I think I got this wrong.

3) Given a List structure where each node contains a Next node and optionally a pointer to another list, flatten that list
e.g.

L1 --> L2 --> L3 --> L7 --> L8
                      |
                      v
                     L4 --> L5-->L6

WIll be flattened to
L1 --> L2 --> L3 -->L4 -->L5-->L6-->L7-->L8

I did OK on this - getting the answer - but it appeared I took too long. The interviewer also interrupted me a lot while I was writing an initial solution and that threw me off - I like to be more iterative in my problem solving but I think he expected 100% immediate correctness.
He had an observer there too and that guy looked bored out of his mind and that bugged me a little too as it wasn't clear who would be doing the judging.

4) I was also handed some hard to read Python code (I don't know Python) and asked to figure out what it does. I did OK on this - but again surprised to be handed hard-to-read code in a language I didn't know.

5) One final question "How would you implement the "ls" Unix function in your language of choice. It should take the input:
>ls a/b/c/*/e/*/f/*/*/g
and the output should be similar the the output given by unix."

I used a tree structure to represent the file directory structure and wrote a solution from there. I did OK on this.

Overall: Everyone seemed very nice - I had a nice lunch and the campus is interesting but it was clear that what I studied was not what I needed to (so lesson learned: don't just trust the distribution of questions on Glassdoor or CareerCup). I even got to walk past Zuckerberg's office (more of a conference room) and saw Sheryl Sandberg in there.

One interesting thing I learned is a lot of Google people are leaving for Facebook. Also I'd say if you are over 30 (I am 41) you are a rare bird at Facebook :-)

I knew based on the reactions of the interviewers that it was very probably a bust, but overall a good experience and something I will learn from. Very disappointing as I really wanted to be one of the first few Facebook engineers in the Boston area - and to work on their super high scalability issues but such is Life.

Interview Question – How would you implement division without +, - or multiplication   View Answers (6)

Worked for Facebook? Contribute to the Community!

The difficulty rating is the average interview difficulty rating across all interview candidates.

The interview experience is the percentage of all interview candidates that said their interview experience was positive, neutral, or negative.

Your response will be removed from the review – this cannot be undone.