I applied through an employee referral. I interviewed at Meta (New York, NY) in Apr 2013
Interview
I came onsite for what was described as an hour-long introductory and technical interview. I was greeted by the recruiter and shown around the office (FB NYC), then we chatted for 10-15 minutes. Then an engineer came in and we started the technical part of the interview, which took 45+ minutes (we ran over).
First he asked me about Hadoop, since I mentioned that I used it at my current job. I used hadoop for machine learning tasks, so we discussed the details of the system.
The rest of the interview was coding on a whiteboard. The questions got progressively more difficult.
The first was: Given two string representations of binary numbers (e.g. "1001", "10") write a function that adds them and returns the result as a string as well (e.g. "1011").
The next had several parts:
(a) first, write a function to calculate the hamming distance between two binary numbers
(b) write a function that takes a list of binary numbers and returns the sum of the hamming distances for each pair
(c) the answer I gave for b was O(n^2), I was then tasked with finding a more efficient solution. I struggled mightily, and was eventually helped to the solution by many hints from the interviewer.
After that, I had a chance to ask questions of the interviewer, and then we were done. I don't know if I've made it to the next round or not.
Interview questions [1]
Question 1
(a) first, write a function to calculate the hamming distance between two binary numbers
(b) write a function that takes a list of binary numbers and returns the sum of the hamming distances for each pair
(c) find a solution for (b) that works in O(n) time.
I applied through a recruiter. The process took 6 weeks. I interviewed at Meta (New York, NY) in Apr 2013
Interview
An internal recruiter contacted me out of the blue by Linkedin and email. We scheduled a phone call. Talked about my experience and education and then about available positions at Facebook. He then invited me to come onsite for a short screening interview first. I requested a couple of weeks to prepare for the interview. He was perfectly ok with that and even sent me some links to preparation materials.
Instead of a phone screen, I had a short 1:1 interview for 45 minutes onsite. Mostly coding on whiteboard and a little time set aside for questions about the company.
A week after that, four 1:1 interviews. Two coding interviews. One "manager" interview: mostly talking about past projects and future ambitions. One system design interview - you basically have to describe how you would design a given system without going into too much detail.
Received a call from recruiter next day. He said that I will have to come for one more interview. So a week after I had another series of two interviews, one coding and one manager.
I received an offer two days after the last interview.
During the whole process, the company was very flexible about scheduling interviews. Everything happens really fast if you want it, or you can take your time to prepare.
Recruiter was very nice and supportive, as were people at FB in general. Some interviewers did not talk much and some were more willing to discuss, but all were very polite.
Coding questions involve basic data structures like trees, combinatorial problems and sometimes a relatively simple dynamic programming problem. They are not too hard but you have to do them quickly and explain everything clearly. Understanding of Big-O is a must!
Interview questions [1]
Question 1
What are the most challenging issues in your work?
I applied through a recruiter. The process took 5 days. I interviewed at Meta
Interview
I was contacted by a recruiter about a possible position. While I was not immediately looking, I was intrigued enough to continue with the process.
I had a quick phone call with my recruiter to go over my background and experience. She concluded the phone call by determining my availability for a technical phone screen and followed up with some research materials to better prepare for the phone screen.
The technical phone screen was set up using collabedit as the platform for sharing code between myself and the interviewer. I was asked a few simple technical questions, and a few harder programming problems dealing with algorithms and data structures. The interviewer was patient and helpful.
The recruiter emailed me the same evening to let me know that I would not be moving further in the process, as my initial hesitations on the early data structure questions signalled poor understanding of basic concepts.
Interview questions [1]
Question 1
You are given a string with each english character translated to its alphabetical position (e.g., the string "ABC" --> "123"). Provide a function that, when provided the string as an argument, will return the maximum number of strings the encoded string could represent (for example, "123" could represent "ABC", "LC", or "AW").