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
L1 --> L2 --> L3 --> L7 --> L8
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:
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)
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.
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.
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
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
Very Difficult Interview
I applied online and the process took 4 days - interviewed at Facebook in March 2014.
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
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
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
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
Your feedback has been sent to the team and we'll look into it.
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.
Simply post an anonymous review for a recent interview experience or current/former employer. Your post is anonymous – and if you're worried someone will be able to identify your review, you can even post without telling us your job title and location. Learn More.
No thanks –