I applied online. The process took 1 week. I interviewed at Meta (Palo Alto, CA) in Dec 2010
Interview
I received a phone call a few days after applying for a position online. After a brief screening of my skills, the recruiter set up a phase-1 interview with a single Engineer. She gave me the option of doing it over the phone or at the Facebook headquarters. I chose the latter because I live nearby. I was scheduled for a 45 minute interview. The engineer was very friendly and inquisitive about my past projects. This is the easy part, talking about myself. He didn't have a copy of my resume, which I thought was lame. Anyway, after discussing my more recent projects, we moved on to the whiteboard coding part of the interview. This part was a pleasant surprise. It was done in a collaborative way, where I would discuss my solution, psudo-code, then code, and receive suggestions or other form of input from the engineer. The last 15 minutes were spent discussing the culture at Facebook and specifics about the team I was interviewing for. It took them more than a week to get back to me, which I would like to think was because they wanted to complete interviews for the other candidates.
The process took 3 weeks. I interviewed at Meta in Oct 2010
Interview
Three phone screens, 1st with Recruiter, second with an engineer, third with an engineer.
The engineers were great to talk to, very cooperative and collaborative. The questions they asked were typical text book puzzle programming tricks. The first engineer was not interested in exploring finding a correct answer to the problem, but instead had a particular best-performance trick in mind and wasn't really satisfied that the trick could not be discovered easily. The second engineer was far more collaborative and also seemed to be driving towards a best-performance answer, but he entertained possible solution ideas and was very collaborative in guiding towards the solution he was looking for.
The first engineer was very animated and excited about his roles and positions at facebook, while the second was a bit more reserved but opened up when asked what he liked about the company and what he thought could be better. Both engineers were working on exciting highly scalable challenging products that would likely be a dream job for many software engineers, including myself.
I loved the collaborative editing suite facebook uses to do the coding questions online and found it very helpful in sharing notes and coding solutions. Similar suites for other companies have low character limits and/or wonky execution.
I received a prompt response after the second interview that Facebook will not be proceeding further, though I thought both interviews went well (aside from not knowing the the programming trick the interviewer had in mind).
The recruiter or hiring manager also flagged my profile in facebook somehow so I receive a not-so-warm greeting at the top of every other job page I view on facebook saying "Facebook will not consider you further" more or less, which is a bit rude in my opinion. If an engineer does not fit for one group in the company that does not mean they will not fit at all.
Like others, I received no feedback from the recruiter on why I was passed over, which is unfortunate because the more I learned about the company through interviewing, the more interested I became in giving Facebook a shot as a part of my career.
Interview questions [3]
Question 1
Given an array of integers, find the maximum number that can be reached by summing the best possible consecutive subsequence of the array.
Given a 1TB file of serialized 4 byte integers, and 2GB of ram, sort the integers into a resulting 1TB file. My interviewer was very collaborative in entertaining various solution ideas until we came up with a combo that would work performantly and reduce the number of passes over the 1TB file and intermediate files.