I applied through a recruiter. The process took 3 weeks. I interviewed at Meta (Menlo Park, CA) in July 2013
Interview
Three 45-minute phone interviews. A positive review from each qualified me for the next.
First interview was a basic-technical one with their recruiter: port numbers, subnet math, Linux commands.
Second was a Collabedit programming interview. An engineer had me build a performance monitoring script, adding more features and improving efficiency as we went.
Third was a systems interview. Heavy operating systems theory was involved. This engineer's confessed style was improvisational, probing areas of knowledge my previous answers had laid claim to. It helped to know enough systems stuff, and to be interested enough in it, to make the conversation span the whole interview time.
I passed the third phone interview, so Facebook flew me to their campus for a day of on-site interviews. I had to sign an NDA covering my experiences on that day. What I can say is that I thought it went at least as well as my phone interviews, yet I got a rejection email a week later.
I had two screening rounds and 3 interview loop rounds, Meta leetcode questions, systems design can be extensive. Questions can be repeated so look out for all the available questions online. Systems debugging is a very important topic
Interview questions [1]
Question 1
Why Meta?
What are different internet web protocols
talk about internet.
Recuriter round then technical screen with an engineer that then final stage which is four rounds, 2 coding 1 system design and one behavioural, for Production Engineer the questions are often a mix of LC questions and practical file system operations
Interview questions [1]
Question 1
Reading input from file
BFS/DFS Basic Graph problems
There are 2 rounds, first has PE basics and coding, second has PE basics, coding and Behavioral. Learn linux, OS, Networking in detail. They dig deep into whatever u say. Coding is usually easy, prepare file parsing questions