I applied through a recruiter. The process took 3 weeks. I interviewed at Meta (Menlo Park, CA) in Jun 2015
Interview
I started off with a standard technical phone screen with a Facebook engineer. It was a simple coding exercise with two questions of surprisingly low difficulty. I cleared this easily.
Facebook's on-site interview process is far more rigorous, though. Each 45-min interview has a clearly defined role, intended to test you from multiple different angles. Specifically, I went through:
- 2 "Ninja" interviews (coding & algorithms)
- 2 "Pirate" interviews (system design)
- 1 "Jedi" interview (behavioral & simple coding)
plus lunch with a Facebook engineer.
The "Ninja" and "Jedi" interviews were straightforward. I hadn't seen the coding questions before, but they were not particularly hard. I would rate them as being of just average difficulty, pretty similar to the whiteboard coding questions asked at most other major Silicon Valley tech companies. And the behavioral section of the "Jedi" interview was just a friendly chat about my resume and my past experiences.
However, the "Pirate" interviews were what killed me. Both "Pirate" interviews involved being asked to propose and discuss a design for existing features on Facebook. The interviewers were extremely meticulous and questioned me on virtually every last detail of my design decisions. In particular, they focused a lot on how huge datasets should be stored and accessed to support extremely large-scale distributed systems. Even though I am already working on web-scale systems in my current job, I was nonetheless still way under-prepared for this level of technical challenge and scrutiny.
My advice to all prospective candidates is to spend most of your time preparing for the "Pirate" interviews. The coding questions aren't hard, but the system design questions will likely stretch you to your limit! (Unless you're a fresh grad--they don't ask "Pirate" questions to fresh grads. Lucky folks!)
Additional side note: interestingly, my Facebook recruiter actually gave me detailed post-mortem feedback on each and every one of my interviews. They are the only major Silicon Valley company I know that does this, so major kudos to them for being so considerate.
Interview questions [1]
Question 1
Can't disclose due to NDA. But as mentioned above, the coding questions are really straightforward and of merely average difficulty. It's the system design ("Pirate") questions that can be really, really challenging. Definitely spend a good portion of your time preparing for the latter!
I applied through a recruiter. I interviewed at Meta
Interview
The recruiter contacted me. The recruiting process is very pleasant and considerate. They even have an interview prep session that the author of cc150 gave presentation about how to ace the interview, which is very helpful. Passed the first onsite screen and moving to next step so below questions may not be applicable.
I applied online. The process took 1 week. I interviewed at Meta in May 2015
Interview
The phone interview was fairly straight forward and fair. The interviewer was nice and answered all of my questions. I actually had to reschedule my phone interview twice and I am grateful how they handled it. Overall the interview was simple if you are experience it CS and I simply screwed up.