While I was planning to look actively for a job in the next weeks, I have been first contacted by a Facebook recruiter (an employee, not a 3rd party company) on LinkedIn – I never really thought about Facebook at first, maybe because I imagined it was an unreachable goal. We scheduled a first phone screen: it was short, about 10 minutes, I said a bit of my background, he explained what Facebook is looking for an a bit of the recruiting process. After asking me 3 very easy Objective-C and iOS programming questions, he said he would like to schedule a phone interview with an Facebook engineer for me. 2 weeks later (he apologized for the long delay, I guess it's usually quicker) I had a phone interview. An engineer interviewed me, spending the first 10 minutes chatting of my background, interests and goals, then a 30 minutes peer-coding questions. As usual it was an algorithmic question, to solve in Objective-C / CoreFoundation (NSString, NSArray, NS* APIs...). She said I'll be contacted again by a recruiter in the next few days. I got a call, the recruited said I'm welcome to come on-site for a day of interviews. I gladly accepted. I then started to think I have some decent chances to get a job at this awesome company. The big day coming, I was very excited and relaxed too. I took a BART from the city and then a cab to the Menlo Park HQ. The recruited warmly welcomed me, we took some coffee, and chatted waiting for the first engineer / interviewer. The 4 interviews are as described on Facebook Careers website. First interviewer chatted a bit of my previous projects and then we had a technical question, involving iOS general knowledge, Objective-C skills, etc. Second interviewer spent most of time chatting of my previous projects, my goals, what I would like to change at Facebook if I was working here; and then we moved to a quick technical question. Then it was lunch time. I was really excited about going to visit the campus, get some good lunch and see how Facebookers are during lunch time. Many bring their MacBooks at lunch, have some fun with colleagues, and enjoy their meals. The lunch time was spent with the recruiter. After he brought me back to the interview room, the 2 next interviews were mostly algorithmic questions. Overall, I found the questions of an average level. Some iOS knowledge is required, some good sense of algorithmic, and remembering Objective-C syntax. Many says, and it's true, that unlike other companies, Facebook likes people who can code on a whiteboard with the correct syntax. It happened that I forgot a ; or wrote @implement instead of @interface. The interviewer asked me if I was sure about my syntax, I read again my code, and found my mistake. They are never (at least very rarely) misleading you. If they say "read again" it probably means "there is a syntax error, find it it's a bonus". A few days later, I got an email and then call from the recruiter who said he got very positive feedback from the interviews so he would like me to gather and send him some reference letters. So I did. A few days later, I got a call and was told I got an offer. It was a very good one.
Overall, the whole process was of course stressful, but very exciting and all interviews were in a very very relaxed atmosphere. It was like chatting with new colleagues, and trying to solve together a problem.