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").
2 step process - started with a phone screen. Most of time on the phone screen was taken by a programming challenge, which was done through one of those online code editors. Passed it to get an on-site interview. Your interview continues so long as you're doing well. At then end, you get a tour of the facebook campus before being showed out.
Interview questions [1]
Question 1
Can't answer due to NDA, although it's nothing unexpected. Algorithmic problems and whiteboard coding. Try to keep whiteboard coding as eat and organized as possible, and speak out load when you're writing.