Production Engineer applicants have rated the interview process at Meta with 3 out of 5 (where 5 is the highest level of difficulty) and assessed their interview experience as 100% positive. To compare, the company-average is 44% positive. This is according to Glassdoor user ratings.
Candidates applying for Production Engineer roles take an average of 30 days to get hired, when considering 1 user submitted interviews for this role. To compare, the hiring process at Meta overall takes an average of 36 days.
Common stages of the interview process at Meta as a Production Engineer according to 1 Glassdoor interviews include:
Phone interview: 100%
Here are the most commonly searched roles for interview reports -
I applied through a recruiter. The process took 3 weeks. I interviewed at Meta
Interview
A recruiter contacted me. After confirming that I would like to interview for the position, I was asked basic questions around networking, Linux system administration, and programming. A graduating Computer Science student should expect to pass this with little difficulty.
Next was a phone interview for programming. I was asked to take input text and identify the unique words in the text and how many times each word occurred. Edge cases were important as was the performance. Interviewer asked for an analysis of the run-time and memory usage. Any second-year CS student should have no problem completing this in far less than the allocated time.
Next was a phone interview for systems administration. I was given the bare minimum information possible about a system and told to describe how I discover running services and potential issues. As I progressed, the interviewer gave me information reasonable based on my descriptions and identified when I had correctly discovered a problem or possible problem. In investigating problems, it was important to be specific about why the problem was occurring and how to address the issue. When addressing problems, the performance, scalability, and maintainability of the solution was very important. Be prepared to identify how a file system is mounted or if it's local, and be prepared to encounter a single central share mounted by many servers with active read/write activity from them all. This will be difficult for anyone without good real-world Linux systems administration experience.
Next I was flown out to HQ for a series of on-site interviews. A manager spoke to me to gauge my understanding of Facebook and the Production Engineering position (rely on the job description and don't be afraid to ask your recruiter lots of questions!) and to get to know me.
There's another interview about coding and another one for systems administration. Both are along the same lines as the phone interview, but more in-depth and more difficult.
There's a systems design interview, where you'll be given a target and asked to design a scalable and performant system to accomplish the goal. You may be asked to analyze the storage requirements (core and/or persistent) and network requirements of your system.
The last interview type is a networking interview, which is very in-depth and requires extensive knowledge of TCP/IP, UDP/IP, DNS, etc. Essentially, start at a command prompt and think of what happens when you type "telnet www.facebook.com 80" - be prepared to talk about almost every single network-related thing that happens at all seven OSI layers. Know your packet layouts!
Throughout the entire process, my recruiter was always on top of keeping me informed and always answered questions very quickly (I rarely waited even most of a day for a reply). I rarely needed to ask anything about what to expect because she kept me so well informed. Don't worry too much about thinking at Facebook's scale, they understand that very few people have worked on anything even approaching their size and scale. Everyone you deal with will work hard to make things go as smoothly as it can.
Interview questions [1]
Question 1
The entire networking interview was very difficult, I was not expecting the amount of in-depth knowledge expected for that interview.
I applied through a recruiter. The process took 4 weeks. I interviewed at Meta (Menlo Park, CA) in Mar 2014
Interview
Was initially contacted via LinkedIn by an internal Facebook recruiter that dealt specifically with this role. I was impressed with the recruiter's technical knowledge, always a good sign, and agreed to go through the screening and start the interview process.
The process is 5 steps:
* Call with recruiter about position
* Phone screening with a few trivia questions regarding systems administration.
* Co-operative coding phone interview
* Systems phone interview
* On-Site interview
The call with the recruiter was mostly about the position description and duties, and assessing whether both sides think it's a good fit. The phone screening, also done with the recruiter, is just a few questions that anyone who has administered Linux for an organization would be able to answer off the top of their head.
The coding interview was done using a collaborative editing tool, so both parties could see what was being typed. The coding questions were not your typical abstract data manipulation questions, but rather questions that required systems knowledge, and in my case were most easily answered with shell scripts.
I didn't actually do the systems phone interview, as they considered my programming interview strong enough to simply skip this step. I'm informed this is not uncommon.
The on-site interview loop included five 45-minute segments: Programming, Systems, Networking, Solution Architecture, and meeting with the Manager (not in that order). Additionally, lunch with the initial recruiter and a brief chat afterwards with a different recruiter that dealt with the financial and logistics portions of the interview and negotiations.
One thing that struck me during the entire process is that *everyone* I spoke to, and I mean *everyone* because I asked them all, absolutely loved working there. Every time I asked someone how they liked working at Facebook, their face lit up and they started listing off reasons they loved working there, and everyone had the same reason: They liked everyone around them, felt trusted and respected, and trusted and respected the people around them. This was unanimously the first reason, usually followed by "and the work is really interesting".
Interview questions [1]
Question 1
What options do you have, nefarious or otherwise, to stop people on a wireless network you are also on (but have no admin rights to) from hogging bandwidth by streaming videos?
I applied online. The process took 2 months. I interviewed at Meta
Interview
I applied online for a production engineering position. A recruiter did a screening interview with me to assess where my strengths lay, and to determine which role would be the best fit. They recommended a production engineering role. We scheduled a phone interview which covered several programming/scripting questions. After getting positive feedback, we scheduled another phone interview which covered linux system administration and troubleshooting. Although I received positive feedback from that interview as well, the existing production engineering roles were filled. My recruiter asked if I would be interested in pursuing another role within the organization, specifically a software engineering role. We scheduled an interview with that team. I had a bad day, and couldn't focus during the interview, totally blowing it. I didn't receive an offer, although if given another chance I believe I would be offered one.
Interview questions [2]
Question 1
Given a list of integers, output all subsets of size three, which sum to zero.