I applied through a recruiter. The process took 1 day. I interviewed at Meta (Palo Alto, CA) in Apr 2011
Interview
A phone interview was scheduled after the initial exchange of emails with the recruiter. There were some background questions asked such as "Why Facebook" and "Tell me about an interesting project you have worked on". The rest of the interview consisted of algorithms/data structures questions, with the interviewer trying to dig as deep into every question.
Interview questions [1]
Question 1
Find an algorithm to find the largest sum subarray in an array of integers. (Better than O(n^2) ).
I applied through college or university. The process took 3 weeks. I interviewed at Meta (Palo Alto, CA) in Feb 2011
Interview
They had a booth at my college job fair. I gave them my resume, and had a 1:1 interview at my college the day after. They called me at night to tell me I had made it trough the first interview and that they wanted to see me again. It went well so they invited me to Palo Alto for an on-site interview.
It was my first interview, so I might have been too stressed to think straight, but I feel like some questions were pretty hard. The first interviewers (they were 2) asked me easy questions, but the second (he gave no feedback at all) and the third interviewers asked hard questions. The last interviewer asked me: define a function that computes log2(). I gave him the Taylor expansion, and a newton's method approach, but he wanted something else... He wanted me to use sqrt(). I'm not sure whether he was assessing my skills at finding a solution given a weird constraint (e.g., use sqrt()), or if there is an obvious solution that I missed.
I applied online. The process took 3 weeks. I interviewed at Meta in Mar 2011
Interview
Recruiter contacted me, reasonably quickly [within a week] after applying online and was generally very helpful.
But the first interviewer started phone interview around 10 minutes late [in the end ending up kicked out of conf. room] and asked two very simple questions. One of the questions was given 2 arrays of size n and 2n containing n elements only, both sorted in ascending order, How will you merge, first array with second [which has size 2n] into second array in ascending order. I just used merge sort merge step and wrote java like psuedo code in collabedit.
I tried out my code later and it worked fine with no changes [except that I used .length() instead of .length for array length]. But he didn't provide any feedback on what he was looking for. It was correct and complexity was the best possible. One thing I can think of later was I didn't add any method level comments [although I had comments in body] as it was pseudo code. Maybe he was looking for it [pure guess - as I don't know what he wanted]. I left with impression of having done the interview very well [I have worked in the best of companies and got interviewed and interview for those companies] and most of the time you know when you blew it.
But I was surprised to get the rejection, 2 days later! Particularly given that question was too easy! Now I am left pondering over what was it? I consider interviews where the perception of interviewer and interviewee differs wildly in terms of performance as bad interviews with negative experience associated with it, as the interviewer didn't communicate his intention with the interviewee properly. If he was not looking for correctness and perf. [objectively defined as mentioned above], What was it?
Interview questions [1]
Question 1
Given sorted arrays of length n and 2n with n elements each, merge first array into second array.