Facebook

www.facebook.com
Employer Engaged

Facebook Software Engineer Interview Questions

Updated Feb 28, 2015
Updated Feb 28, 2015
458 Interview Reviews

Interview Experience

Interview Experience

61%
22%
15%

Getting an Interview

Getting an Interview

26%
20%
14%

Interview Difficulty

3.3
Average

Interview Difficulty

Hard

Average

Easy

458 Candidate Interview Reviews Back to all Interviews

Sort: Popular Date Difficulty

105 people found this helpful  

Software Engineer Interview

Anonymous Interview Candidate
Anonymous Interview Candidate
Interview Details

phone interview starting with introducing yourself followed by two code questions.
The first coding question is very standard coding question and the second one is
a little more related to facebook's certain functionality

Accepted Offer

Other Interview Reviews for Facebook

  1. 29 people found this helpful  

    Software Engineer Interview

    Anonymous Employee in Menlo Park, CA
    Anonymous Employee in Menlo Park, CA
    Application Details

    I applied through college or university – interviewed at Facebook.

    Interview Details

    Process:
    This is for undergrad full-time software candidates in USA. Submitted resume at college career fair. Got email about on-campus interviews. At this stage, there are 3 possible outcomes: onsite invitation, a phone interview for an additional chance, or reject. I was invited to onsite interview.

    Onsite was a "University Day" that included three interviews (not four like they said in the email) before lunch and then a tour, new-hire panel, etc after lunch.

    All interviews were 45-mins length.

    Interviews themselves:
    On-campus interview: 3 coding questions. I don't remember signing any NDA at this point so, the questions were k-Nearest Points to Origin, finding a substring, and 3-sum.

    On-site interview: 3 interviews, 45 mins each. 1st interview: 2 coding questions. 2nd interview: behavioral questions (about team conflict, etc.) and a coding question. 3rd interview: 2 coding questions. Coding questions were easy and required *no knowledge* of special algorithms or data structures (such as graphs, DP, trees, etc). Recursion and strings were common.

    I did not get an offer from Facebook; however, I received offers from other companies. The interview questions themselves were considerably easier at Facebook than those asked at Google, LinkedIn, MS, Amazon, etc.

    Since the questions are not very hard, my guess is the decision is based upon fit and most importantly how *quickly* you were able to arrive at your solution and how *perfect* your code was. Make sure you focus and are confident.

    Advice: practice the easier questions and practice coding them. Also, looking at some of the other experiences on Glassdoor, it looks like a majority of the questions are re-used.

    Interview Questions
    No Offer
    Positive Experience
    Easy Interview
  2.  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied through a recruiter. The process took 3 weeksinterviewed at Facebook.

    Interview Details

    I didn't end up getting an offer.

    Due to NDA I cannot explicitly write down the questions, but look at the last 150 questions in Glassdoor and CareerCup and you'll do fine (I did fine in the coding rounds, get to that in a bit).

    Usual advice: Do a lot of white-boarding for questions and be ready to talk extensively about your projects and architecture and design.

    Screening Round:

    I applied to Facebook by getting connected to a recruiter through a colleague and friend. The process started in Seattle and I opted for a in-person onsite interview for the screening round (they have this option for locals in Seattle/California).

    The interview went well i.e. I figured out how to solve the question in optimal time and space complexity. I made some mistakes here and there while writing the solution down but the interviewer didn't seem to mind. Contrary to what I had heard, he wasn't too anal about syntax (also helped that I write in C# he wasn't very familiar with it)

    Onsite Round:

    I received an email from the recruiter that they wanted to move forward and call me onsite. I was like, cool!

    I took around 2 weeks to prepare and also tried to do design questions. I felt a bit under prepared around design and tried to make up for it in the last few weeks by watching videos around cloud architecture (and open source stuff like Hadoop, Kafka and Storm).

    Onsite was pretty straightforward. First round was a career fit/discussion and I did pretty well (I think). It was mainly some behavioral questions and a lot diagrams around the architecture in my current and previous projects.

    Second round was the one that I messed up.
    The question was around designing an existing Facebook feature (as a hint, think about the various add-dons you see on FB and instagram like Chat, Search, latest friend related news or popular links). When you really dig into designing this feature, its quite complicated and requires a reasonable amount of knowledge around distributed data storage etc. etc.

    You need to nail this round to get into Facebook (in my personal opinion). I'm guessing they will adjust their expectations based on your years of experience.

    There was a lunch which was informal and two more coding rounds where they asked questions that were very similar to the ones I had practiced. I made some silly mistakes here and there but again (due to practice) came up with optimal time/space complexity answers.

    Got my result exactly one week from the my onsite date. No offer. But learnt a lot.

    Interview Questions
    No Offer
    Positive Experience
    Difficult Interview
  3.  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied through college or university – interviewed at Facebook.

    Interview Details

    The first round is on-campus interview. The interviewer was very nice. I was asked a lot of questions about binary search tree. It was about basic algorithm and data structure. The second round is on-site interview. It was a tour around their campus. It was a nice experience.

    Interview Questions
    No Offer
    Positive Experience
    Average Interview
  4. Is this helpful? The community relies on everyone sharing – Add Anonymous Interview Review


  5. 1 person found this helpful  

    Software Engineer Interview

    Anonymous Interview Candidate
    Anonymous Interview Candidate
    Application Details

    I applied through an employee referral – interviewed at Facebook.

    Interview Details

    I had my friend referred me to the intern position. It took about 3 weeks to hear from a recruiter. The process was pretty easy. After only one phone interview I was invited to go onsite. The phone interview takes 45 minutes. First talked about one of my previous projects. Then two technical problems.

    Interview Questions
    • The first one is, given a tree, each node contains a digit. Calculate the sum of all numbers formed by paths from root to leaf.

      The second one is given a string, remove all 'b's and duplicate all 'a's.
       
      View Answers (3)
    Accepted Offer
    Positive Experience
    Easy Interview
  6. 2 people found this helpful  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied through college or university. The process took 2+ weeksinterviewed at Facebook.

    Interview Details

    Applied from a career fair. Got an email a month later. They invited me to a social event and an on campus interview. The social event was held in a hotel next to the campus. Students could talk to the interviews in a casual setting, which somehow helps the interview on the next day. The interview was held on campus. The interview lasted for an hour.

    Interview Questions
    No Offer
    Difficult Interview
  7. 4 people found this helpful  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Interview Details

    Overall interview process was fantastic! Loved it though I did not get the offer.

    Sourcing Recruiter contacted me on Linkedin when I was not looking. After 6 month or so I contacted same recruiter. I got prompt response from this point till the end.

    I went through 1st technical round of interview onsite as I was local to their HQ. They prefer onsite though one can choose phone interview. For me onsite worked out well.Nearly 1-hour interview with one person. Two programming questions one on link list and other on BST. For each involved finding the solution (easy to optimal) and then write code optimal solution. I did this pretty well as I had prepared for data structures and algos.

    They immediately called me for full day onsite interview. Again I prepared lot on data structures, algorithms and related problem solving. And boom..that was my mistake. I forgot to focus on system side (locking, synchronization, deadlock) in detail. 5 interviewers, 45 min each. No on asked on data structures/algo. Two interviewers asked on locking related question, 1 design, 1 manager and last guy did combo of everything. Mostly I screwed up on locking related questions as I took many hint and long time... sigh..

    Everyone was professional. Communication was prompt and fast!

    Interview Questions
    • Design backend system to run app like facebook where query is to get two levels of friends of friend. Open ended question..   Answer Question
    No Offer
    Positive Experience
    Difficult Interview
  8.  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied through an employee referral. The process took a dayinterviewed at Facebook.

    Interview Details

    Very technical questions. Be sure to review your data structures, sorting algorithms, and syntax without a reference. They don't care much about syntax, but it might trip you up during whiteboarding. They were extremely friendly, put you up in a hotel and take good care of you during the interview. I think there were many opportunities to ask questions and learn more about the specific problems they're trying to solve.

    Interview Questions
    • Reverse a string in place?   View Answer
    • Given an SMS text (array of digits) what are the possible words that could be created?   Answer Question
    No Offer
    Positive Experience
    Difficult Interview
  9. 9 people found this helpful  

    Software Engineer Interview

    Anonymous Employee
    Anonymous Employee
    Application Details

    I applied through a recruiter. The process took a weekinterviewed at Facebook.

    Interview Details

    I was contacted by a recruiter, I came onsite for an initial screen.

    I thought the interviewer was very nice, and the question was reasonable. However, the frustrating part for me was that for the given question, there were a few different ways to solve it.

    From my perspective, it seemed that the approach I used to solve the question was not what the interviewer had in mind. I understand that you should listen to an interviewer when they interrupt you or give you hints, but to me it seemed like the "hints" were basically from the perspective of "you're not solving this the way I would solve it, even though both of our solutions are O(n)".

    The result was that I was basically having to write out a problem on a white board and constantly have my train of thought interrupted. The interruptions were unnecessary, and I had to clarify to the interviewer that my intent would indeed work. Example interruption:

    Interviewer: "That array index is giving you the same result as the other value"
    Me: "No, that's a different variable name"
    Interviewer: "Oh, oops. Continue"

    or

    Interviewer: "Wait, why are you replacing the for loop with a while loop?"
    Me: "Because I want to be able to manipulate the cursor directly"
    Interviewer: "Oh, ok. Continue"

    In the above statement, it's clear that the usual method of solving the problem did not involve a while loop (but it could be done to solve the problem). After my solution, the interviewer explained the most straightforward solution to the problem which basically leveraged the constraints of the problem itself, and after seeing that then of course the problem was trivial to implement.

    So to me, it seemed like the question was more of a riddle than a coding exercise, which I believe to be a bad interview question, and at my current company it's accepted as the WORST type of interview question.

    It was rather embarrassing for me to be turned down, especially on just the initial screen, but another qualm I had was that screens are generally meant to filter out candidates that can't code at all, not candidates who are questionable in their skills (from my perspective my skills aren't questionable, but clearly I did not give my best performance in this screen).

    To me it felt as though the interviewer in this case did not have much experience. While I was answering the questions that were given to me, I was having to explain a few quirks to the python language that the interviewer clearly did not know i.e. "Oh, I didn't know you could compare dictionaries like that". For that to be said, I can only infer that the ONLY thing this interviewer was looking for is if I answer the question that was given to me in the exact way they wanted it solved.

    Interview Questions
    No Offer
    Negative Experience
    Average Interview
  10. 1 person found this helpful  

    Software Engineering Interview

    Anonymous Interview Candidate in Seattle, WA
    Anonymous Interview Candidate in Seattle, WA
    Application Details

    I applied through college or university. The process took 6 daysinterviewed at Facebook in February 2015.

    Interview Details

    On campus recruiting, followed by an onsite. The interview questions were generally pretty easy, and the interviewers generally were good with hints on how to optimize code. The process was extremely straightforward. Make sure you put code down on the whiteboard that is clean and readable.

    Interview Questions
    • Print a linked list in reverse recursively and non-destructively.   View Answers (2)
    • Standard dynamic problems.   Answer Question
    • Given a set of strings, return the smallest subset that contains prefixes for every string.

      If the list is ['foo', 'foog', 'food', 'asdf'] return ['foo', 'asdf']
       
      View Answer
    Accepted Offer
    Positive Experience
    Average Interview

Work at Facebook? Share Your Experiences

Facebook

 
Click to Rate
or

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.