Facebook
4.6 of 5 640 reviews
www.facebook.com Menlo Park, CA 5000+ Employees

Facebook Interview Questions & Reviews

Updated Apr 17, 2014
All Interviews Received Offers

Getting the Interview 

26%
24%
22%

Interview Experience 

57%
24%
17%

Interview Difficulty 

1,006 candidate interviews
Relevance Date Difficulty
in
41 people found this helpful

No Offer

Positive Experience

Difficult Interview

Software Engineer Interview

Anonymous Interview Candidate
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 (4)

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

1 person found this helpful

Accepted Offer

Positive Experience

Average Interview

Software Engineering Intern Interview

Anonymous Employee

I applied through a recruiter and the process took 2 months - interviewed at Facebook in March 2014.

Interview Details – I originally had applied to Facebook through their online portal. After a few weeks of no response I reached out to a recruiter at a Facebook event and she saw my resume. After I convinced her I was ready for the interviews, she set up my first phone interview of three total.
After the interviewer gave a fairly long intro of his bg I was asked several behavioral questions. I was asked why I picked Facebook, what is my field of interest, and had to discuss a project of mine.
At this point we reached the technical portion. He asked me the following question.
Q: Given a number n, return a number formed from the same digits of n that is the number right before n. Example: Given 1342, you must return the number 1324.
After this we spent a fairly lengthy period of time talking about coding habits, facebook, push cycles, and other production related questions I asked.
At the end of this interview I felt terrible, I thought I'd completely failed it because I only answered one question. I couldn't sleep all night, but then the next day itself I received an e-mail saying I'd passed to the second round. They asked if I wanted some time to brush up before going in for my final interview. I asked for a week and prepared.
My second interviewer called from a conference room due to which the sound quality was a bit off. We talked and she asked me a few similar questions to the first interviewer delving into my background, projects, and my schoolwork. Eventually we began the coding questions.
The first question was the LCA problem with no parent pointers. I immediately started analyzing the problem's base cases for recursion, determined an optimum algorithm that covered all cases, and wrote the solution before coding. After explaining it and running through test examples I began coding the solution. After coding it, I spent a fair amount of time proving my code works with the interviewer before she accepted it worked. We had approximately 15 minutes left at this point so he said we can begin another problem before ending five minutes early, a statement I was confused by.
The second question was to design a method to store really large numbers that exceed 64 bits, and then to write a method that can add two of these numbers. I began coding and had just finished the code when he said we ran out of time. He asked me about any questions I had and seemed to be in a hurry so I asked a few questions then the interview ended.
At this point I waited for approximately 2 weeks after I sent two emails to my recruiter asking about the feedback from the interview. I was asked to do a third phone interview with a product team member as the engineers had noted I was interested in product development. I was a bit confused but happy overall to still be in the running. We scheduled it for a few days later and I went in relaxed.
In the interview, I was asked why Facebook, a project of mine, which field I'm interested in and why, followed by a technical question. I coded in Java although she mentioned she hadn't used Java in a while so she didn't care as much about the syntax.
The first question was the classic anagram question. I described two solutions, one using a HashTable and one relying on bucketsort. I coded both methods and did a complexity analysis before she expanded the problem. Now rather than checking if two strings were anagrams, I had to group a list of strings by anagram grouping. I described how we could use a Hashtable to store the sorted string as a key, and have the original string be contained in the value as a linked lists. After writing the algorithm out in pseudocode she said I didn't have to implement it in Java and that she believed it would work. After a complexity analysis she then asked me this mix of behavioral technical questions.
What would you do if Mark Zuckerberg came to your desk and told you Facebook was slow and he wanted you to fix it.
She then asked me to describe a product I'd design if I worked at Facebook. I mentioned several related to data analytical tools for Facebook users on their own data. I mentioned the benefit to users before naming another idea involving querying newsfeed for posts related to the topics described in the query.
After this she asked me if I had any questions for her before she told me that my recruiter would get back to me within a week. I waited three days before I received an e-mail from my recruiter that she wanted to talk for a few minutes if I had time. I immediately responded I was free and she called me shortly after.
She then gave me my offer for an internship in Menlo Park, described the components of the compensation, and explained briefly the process involved with the internship. Afterwards she asked me if I had any questions. I was too blown away so I just said I'd email her once I think of questions before we ended the call. I accepted that night.

Interview Questions

  • Given a number n, find the largest number just smaller than n that can be formed using the same digits as n.   View Answer
  • Design a system to store large numbers and a function to add them.   View Answer
  • How would you make Facebook faster?   View Answers (2)
  • 1. Given two strings, determine whether they are anagrams.
    2. Given a list of strings, return a list of lists of strings, which represents the list grouping strings by whether they are anagrams of one another.
      Answer Question
  • LCA problem with no parent pointers. Given the root of a tree and pointers to two nodes contained in that tree, return the lowest common ancestor of the two nodes. IE, the common ancestor furthest from the root.   Answer Question

Negotiation Details – There was no negotiation for me as I had no other offers. I have heard that if you have a competitive offer from a rival company then they are willing to negotiate a little bit.

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

No Offer

Positive Experience

Difficult Interview

Software Engineer Interview

Anonymous Interview Candidate
Menlo Park, CA

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

Interview Details – I was contacted by a recruiter in early 2014. I was set up with an engineer for a phone interview. The first few questions were about my resume, simple stuff about projects I've worked on and prior experience. Then I was asked two technical questions, one about recursion and one about trees. I fully solved and optimized the tree problem but struggled a bit with the recursive problem. Overall it wasn't too difficult but make sure you prepare well before going in!

Interview Question – A recursive problem involving how many combinations you can make out of a set of numbers. Know your data structures, the problem used both hash tables and lists.   Answer Question

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

No Offer

Positive Experience

Difficult Interview

Software Engineer Interview

Anonymous Interview Candidate

I applied through college or university and the process took 2 weeks - interviewed at Facebook in February 2013.

Interview Details – Quick hiring process - first interview is all technical. It will be all on algorithms and memory complexity.

Interview Question – I don't recall, was a while ago.   Answer Question

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

No Offer

Positive Experience

Very Difficult Interview

Front-end Software Engineer Interview

Anonymous Interview Candidate
Menlo Park, CA

I applied online and the process took 4 days - interviewed at Facebook in March 2014.

Interview Details – Recruiter asked specific javascript trivia questions on first phone call, which I was not prepared for.

Interview Question – Difference between == and === javascript   View Answer

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

No Offer

Neutral Experience

Software Engineer Interview

Anonymous Interview Candidate

Interviewed at Facebook

Interview Details – Recruiter contacted me from LinkedIn profile and got me first round of interviews in NYC office

Interview Question – How do you find the kth smallest number in a binary search tree.   Answer Question

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

No Offer

Neutral Experience

Difficult Interview

Internet Marketing Analyst Interview

Anonymous Interview Candidate

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

Interview Details – 1 interview with recruiter, 1 interview with hiring manager

Interview Question – Tell me one thing you'd want to improve about Facebook's online marketing capabilities   Answer Question

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

No Offer

Positive Experience

Difficult Interview

Data Scientist Interview

Anonymous Interview Candidate
Menlo Park, CA

I applied through a recruiter and the process took 2 months - interviewed at Facebook in February 2014.

Interview Details – Facebook reached out to me via... a facebook message. I wasn't actively looking, but decided to go through the interview process because why not? Maybe they could offer me something my current employer couldn't. The interview process started with two phone interviews. The first was just information and some fact checking. The second was a bit more technical and I had to show the ability to code and answer statistical questions online as one (or more) people watched me type. Then they flew me out for a day/night and I went through 5 interviews in a row (30 minutes each). Facebook has a beautiful Menlo Park campus. Throughout the interviews, only one simple bayesian stats question was asked. Everything else was business questions and computer science questions. I think my training is much more stats/machine learning oriented, so I struggled with a few questions. I signed a NDA, so I can't disclose the exact questions. They asked me on optimal algorithms, standard SQL coding, and business problems. It was very interesting and they did a good job letting me work through things on my own. I think they were looking for someone with more computer science/programming experience than I had.

Interview Question – Again, I can't talk about the specific question, but after I wrote up a simple algorithm, the interviewer asked me for a more efficient solution. I really struggled with that.   Answer Question

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

No Offer

Positive Experience

Difficult Interview

Product Designer Interview

Anonymous Interview Candidate
Baltimore, MD

I applied through college or university and the process took 3 weeks - interviewed at Facebook in November 2013.

Interview Details – Applied through requiters visiting my college. Met with an alumna who was currently an employee. We had a very relaxed and productive conversation about design as a whole, working at Facebook, and my work. I was contacted a few days later about a follow up interview. The requiter was always helpful and kind. Spoke to a woman on the marketing team in an hour long phone interview. She seemed cold, but possibly was trying to show no inflection in her voice to keep the interview neutral. She asked about a few specific projects in my portfolio, and asked follow up questions on how I would adjust the design based on different hypothetical criteria.

Was contacted around a week later from my requiter notifying me that I would not be moving forward with the process. I asked for a follow up conversation to get feedback, which was granted. During that conversation, I was told my main reason for being passed on was that I did not have enough experience. This struck a chord with me because the whole time they were pitching at my college, they said they were only looking for people with potential.

Interview Question – Analyze the iPhone 'folder' mechanism for grouping apps and suggest ways it could be improved.   Answer Question

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

No Offer

Neutral Experience

Difficult Interview

IOS Developer Interview

Anonymous Interview Candidate

I applied through a recruiter and the process took 2 weeks - interviewed at Facebook.

Interview Details – Multiple phone reviews. 1). Initial HR with 3 simple ObjC questions. 2). Slightly more in depth discussion of experience. 3). Shared screen coding challenge.

Interview Question – Question wasn't difficult but there was a communication breakdown between what was being asked by the interviewer and myself. Once I understood what he was asking me to do it wasn't a problem, but by then it was too late.   View Answer

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response
RSS Feed Embed
Interviews for Top Jobs at Facebook

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.

Glassdoor is your free inside look at Facebook interview questions and advice. All 1,006 interview reviews posted anonymously by Facebook employees and interview candidates.