I applied through other source. I interviewed at Meta
Interview
Facebook hires software engineers from all around the world. One can apply in their website . Sometimes they invite people for interview too. First phase is the phone interview phase. Normally 2-3 phone interviews take place, where the interviewee is asked to code in a shared document. Some other questions are also asked. If pleased from the performance, facebook will call the applicant for an onsite interview.
Interview questions [1]
Question 1
You are given an array of integers. Find all the combinations of the numbers of the array, that sum to another number(might be different for different combination) from the array.
One property of the array: The maximum number of the array will not be much greater than the others.
I applied through an employee referral. The process took 2 weeks. I interviewed at Meta (Palo Alto, CA) in Dec 2011
Interview
A recruiter contacted me after a mutual friend gave them my resume. They were aware that I had a pending offer that I had to make a decision on, and were very good about moving the process along as quickly as possible.
I lived nearby, so I did two on-site interviews initially. After completely bombing one of them but doing well on the other I was brought in a little bit later for the full interview. I had about 5 people interview me. Afterwards they were still unsure so I had a couple phone interviews/conversations.
The recruiter did a great job of keeping me up-to-date about what was happening, was very honest with me, and was able to rush to get me an offer (which was especially nice because it was almost Christmas at the time)
Interview questions [1]
Question 1
Many of the interviews focus on coding exercises. It can be very hard to write code on a whiteboard with someone watching you. People are right about it being a good idea to practice writing on a whiteboard on your own first.
Submitted resume online. I think it said there were so many people who apply that I could a multi-hour programming challenge online and if it was successful I'd get a phone screen call. Reviewing the sample problem, it might have been an NP-Hard problem or at least one that would require several hundred lines of mind-breaking code. I program all day for a living and even off hours for other projects. Resumes should qualify one for a phone screen. I submitted just that and got a canned rejection email a couple days later, presumably for not doing the quiz.
A couple weeks later I was contacted by a FB recruiter. We spoke approximate 30 minutes and emphasis was placed on how fun a place it is to work. They do a single 45-minute in person technical interview, and if that goes well they do 4, 45-min technical interviews in a single visit.
The single 45-min session started with about 3 minutes of initial talk about my resume and what I work on now. I don't get the sense they cared at all about experience or what I was or have worked on. After that charade was done, we jumped right to the whiteboard.
Two programming questions were asked. The first was an array reordering one that was almost trivially easy but I worked through it cleanly. He seemed quite happy with that. The second was significantly harder than the first, a complex array algorithm. I worked my way through it on the board but my solution was non-ideal in time complexity after analysis. He suggested we rework it. While I was able to and understood the logic, I relied on his feedback a bit much to come to the final solution in the last minutes.
Got rejection email the next morning from recruiter. Apparently others in their interview pool for the position had got a more optimal answer faster.
Interview questions [1]
Question 1
Max sum of non-adjacent value combination in an array.