I applied online. The process took 2 days. I interviewed at Meta (Menlo Park, CA) in Jan 2015
Interview
Two technical phone screen interviews and afterwards and invite to the Facebook University Day at a campus of my choice (Menlo Park, Seattle or NYC) - all expenses paid. On campus I had a final technical interview with one of the developers. The rest of the day was spent getting to know the campus and some of the newly hired developers as well as a Q&A with a senior developer.
Interview questions [1]
Question 1
Please tell me about a previous project of yours and what you would have to change in order to make it scale to millions of users.
The process took 3 months. I interviewed at Meta (Pittsburgh, PA) in Feb 2015
Interview
I had two coding phone interviews but did not move forward to the team matching interview.
For each round, a engineer first introduced himself ask a little bit about your experience. Then they go to coding questions directly. I perform good at first round but not that good at second round.
Interview questions [1]
Question 1
The coding questions are not that hard for both two rounds.
In the first round, the two questions are (1) return the sum of the k-largest digits ([0-9]) in the array (2) implement a LRU cache (least recently used)
In the second round, the two questions are (1) return the index of the largest element, if more than one element reaches max, pick one unifromly at random; (2) clone a graph. the graph is directed, unweighted and not necessarily fully connected.
I applied through a recruiter. The process took 3 weeks. I interviewed at Meta
Interview
I didn't end up getting an offer.
Due to NDA I cannot explicitly write down the questions, but look at the last 150 questions in Glassdoor and CareerCup and you'll do fine (I did fine in the coding rounds, get to that in a bit).
Usual advice: Do a lot of white-boarding for questions and be ready to talk extensively about your projects and architecture and design.
Screening Round:
I applied to Facebook by getting connected to a recruiter through a colleague and friend. The process started in Seattle and I opted for a in-person onsite interview for the screening round (they have this option for locals in Seattle/California).
The interview went well i.e. I figured out how to solve the question in optimal time and space complexity. I made some mistakes here and there while writing the solution down but the interviewer didn't seem to mind. Contrary to what I had heard, he wasn't too anal about syntax (also helped that I write in C# he wasn't very familiar with it)
Onsite Round:
I received an email from the recruiter that they wanted to move forward and call me onsite. I was like, cool!
I took around 2 weeks to prepare and also tried to do design questions. I felt a bit under prepared around design and tried to make up for it in the last few weeks by watching videos around cloud architecture (and open source stuff like Hadoop, Kafka and Storm).
Onsite was pretty straightforward. First round was a career fit/discussion and I did pretty well (I think). It was mainly some behavioral questions and a lot diagrams around the architecture in my current and previous projects.
Second round was the one that I messed up.
The question was around designing an existing Facebook feature (as a hint, think about the various add-dons you see on FB and instagram like Chat, Search, latest friend related news or popular links). When you really dig into designing this feature, its quite complicated and requires a reasonable amount of knowledge around distributed data storage etc. etc.
You need to nail this round to get into Facebook (in my personal opinion). I'm guessing they will adjust their expectations based on your years of experience.
There was a lunch which was informal and two more coding rounds where they asked questions that were very similar to the ones I had practiced. I made some silly mistakes here and there but again (due to practice) came up with optimal time/space complexity answers.
Got my result exactly one week from the my onsite date. No offer. But learnt a lot.