Facebook
4.5 of 5 676 reviews
www.facebook.com Menlo Park, CA 5000+ Employees

Facebook Production Engineer Interview Questions & Reviews

Updated Jul 8, 2014
All Interviews Received Offers

Getting the Interview 

77%
16%
6%

Interview Experience 

84%
0%
15%

Interview Difficulty 

Average Difficulty
13 candidate interviews Back to all interview questions
Relevance Date Difficulty
in
1 person found this helpful

Accepted Offer

Positive Experience

Difficult Interview

Production Engineer Interview

Production Engineer

I applied through a recruiter and the process took 3 weeks - interviewed at Facebook.

Interview Details – 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 Question – The entire networking interview was very difficult, I was not expecting the amount of in-depth knowledge expected for that interview.   Answer Question

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

Accepted Offer

Positive Experience

Difficult Interview

Production Engineer Interview

Production Engineer
Menlo Park, CA

I applied through a recruiter and the process took 4+ weeks - interviewed at Facebook in March 2014.

Interview Details – 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 Question – 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?   View Answers (2)

Negotiation Details – My negotiations were all pre-offer. There is a compensation department that comes up with an offer based on your years of experience, strength during the interview process, and current pay. They will almost certainly exceed your current pay if you disclose it, though I should probably point out they didn't verify mine. In my case they offered base pay approximately 10% higher than my prior base pay, and I presume this is fairly standard.

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

4 people found this helpful

Accepted Offer

Positive Experience

Difficult Interview

Production Engineer Interview

Production Engineer
Menlo Park, CA

I applied through a recruiter and the process took 4+ weeks - interviewed at Facebook in August 2013.

Interview Details – HR contacted me from Linkedin.

There was 3 phone interviews for screening, code test and system administration test.

First interview, recruiter went through some questions, such as port number, routing, Linux commands, and some basic language wise questions.

Second interview was a coding test. Engineer had me to write two script for csv data processing, and system monitoring.

Third one was for system administration. The questions were pretty open. The interviewer had me to dig into the internals of operating system, such as performance tuning, memory model, paging, swap, process forking, system call, interrupt, and etc.

I passed 3 interviews, and flew to Facebook campus for a whole day onsite interview (with NDA signed).

During the interview process, I felt people there are super nice, and gave me chances to answer questions correctly.

My suggestions
 - Use your strongest language (scripting language will help a lot)
 - Familiar with operating system internals and system analysis tools
 - Familiar with networks and infrastructures (TCP/IP, DNS, HTTP, and etc)
 - Think about scalability

Interview Question – How can you find whether a process is I/O bound or CPU bound?   View Answer

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

We want your feedback – Is this interview information helpful to you?  Yes | No

Accepted Offer

Positive Experience

Average Interview

Production Engineer Interview

Production Engineer
Menlo Park, CA

I applied through a recruiter and the process took 3 months - interviewed at Facebook in October 2013.

Interview Details – I was contacted by a recruiter on Linkedin.

I first had a really quick phone call + technical screening with the recruiter (port numbers, shell commands...).
After that was a 2 questions coding interview over the phone which I believed didn't go so well even though the questions were easy (Think first CS college course level), but I passed anyway.
Next I had a another technical phone call on systems (kernel, shell commands, basic
troubleshooting...)

I was then invited to fly over to California for an on-site interview which I was really excited about. I stayed in a pretty nice hotel and everything was paid for by FB.

On-site, I had 5+ interviews with engineer, managers and recruiters which were similar to the phone interviews, just a little deeper/harder.
I also had the opportunity to tour the FB campus which looked great... nice office space, lots of free perks, great people...

I had an offer about a week later and accepted. You don't ofter get to work for one of the biggest/greatest/most traffic website/platform...

Interview Question – Explain everything that happens over the network when a client tries to access a website.   View Answers (2)

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

No Offer

Positive Experience

Difficult Interview

Production Engineer Interview

Production Engineer
Menlo Park, CA

I applied through a recruiter and the process took 2+ weeks - interviewed at Facebook in August 2013.

Interview Details – Recruiter contacted me through LinkedIn and we setup a phone interview. He went through some basic System Administration questions and at the end asked me for availability for a coding interview. Coding interview was about algorithm and solving three problems.

Interview Question – Having solid software engineering skills   Answer Question

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

12 people found this helpful

No Offer

Positive Experience

Difficult Interview

Production Engineer Interview

Production Engineer
Menlo Park, CA

I applied through a recruiter and the process took 6 weeks - interviewed at Facebook in June 2013.

Interview Details – Everyone I spoke with was reasonably personable and competent. The process went quite smoothly and was relatively painless.

5 phone contacts:
* basic screening (might you be a good fit for the position)
* basic programming
* (single) system administration
* basic description of what will come next+handoff to another recruiter
* in-depth description with new recruiter of what to expect during the on-site interviews

5 onsite interviews+lunch:
You first meet your recruiter, with a brief overview of the day.

* Production Engineer Manager
  - Getting to know you, talk about what a Production Engineer does.

* Coding
  - Algorithmically simple (write ____ system utility), but you need to be able to intelligently discuss complexity and tradeoffs of optimizations (CPU/RAM). What is the theoretical best performance?
  - You don't need to know exact details of APIs, but you need to know what calls are available, and have a deep understanding of how things work. You should know exactly what is happening, including the complexity of any system calls you make.
  - Accuracy and and efficiency in your code are crucial.

* Systems
  - FB has problems on a scale you have not yet realized. They hit problems you haven't ever seen.
  - When you see ____ crazy problem, what do you do? How do you figure out what the fundamental problem is? Once you know the problem, how can you mitigate it?
  - Explain in detail what happens when you run ____ command.
  - Think about this sort of information: what problems are you going to run into while doing IPC (pipes, shared memory structures etc.)? How exactly does the OS transfer information across a pipe? What are the limits or bottlenecks?

* LUNCH
  - Good food, relax and get to know your recruiter a little better. Get a better feel for the environment. Ask questions off the record, so to speak.

* Design/Architecture
  - FB understands you probably don't have experience at their scale. Just do your best to extend what you know to their scale.
  - How do you do ____ across a large number of systems? How do you do it without interrupting production? How long will it take?
  - When doing estimation, be sure to explain your thought processes.

* Networking
  - Probably the least important of the 4 technical interviews.
  - Be familiar with packet routing (How does the source computer know where to route packets? How do packets move across a network?).
  - Know how to configure and use at least one client/server network service (and talk about it intelligently). How does it work internally? What are the features of XXX protocol?

Last, you talk to your recruiter about what you think about the recruiting process, the position, how well it fits you, considerations that you may need to think about before making a final decision.

Interview Question – The individual questions are not difficult.

I'd expect any network engineer worth his salt to have no difficulty with the networking questions. Likewise, the coding shouldn't be a problem for a software developer, and systems isn't going to be hard for a systems administrator.

The trouble is the /breadth/ of questions. What are the limits of your knowledge? Can you make a reasonable guess as to what is going on based on what you do know?
  Answer Question

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

2 people found this helpful

No Offer

Positive Experience

Difficult Interview

Production Engineer Interview

Production Engineer
Menlo Park, CA

I applied through a recruiter and the process took 3 weeks - interviewed at Facebook in July 2013.

Interview Details – 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.

Interview Question – No particular question strikes a chord.   Answer Question

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

Accepted Offer

Positive Experience

Difficult Interview

Production Engineer Interview

Production Engineer
Menlo Park, CA

I applied online and the process took 4+ weeks - interviewed at Facebook in October 2011.

Interview Details – The process was tough but fair. The phone screens were a bit harrowing because I didn't know what to expect. However, during the on site, the employees did everything they could to make me as comfortable as possible and gave me every opportunity to answer the questions correctly.

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

2 people found this helpful

No Offer

Positive Experience

Very Difficult Interview

Production Engineer Interview

Production Engineer
Menlo Park, CA

I applied through other source and the process took 6+ weeks - interviewed at Facebook in November 2012.

Interview Details – The process was pretty spread-out but extremely well coordinated and communicated. Expectations were perfectly managed. Since I was remote, they had me go through a set of 3 phone screenings, each very technical. Passing each phone screen lead to the next, with passing the final round leading to an in-person interview and trip to Menlo Park, CA.

The pictures of the campus there don't do it justice. It's a really surprising environment.

I really can't say enough how awesome their recruiting staff is. They always replied promptly and helpfully, and were awesome to work around my schedule every step along the way.

In the final analysis I just wasn't a good fit for the position - and I even agree with them. After seeing and hearing so much of the cool stuff they do behind the scenes and are working on doing, I am not (yet) qualified for that job. In the end, the thing I felt most qualified in was my big stumble. What I learned was to be on their level, it wasn't enough to have just done what I've done for a long time - that they justifiably want an expert in multiple disciplines.

Their benefits are just absurdly great. Everything they offer is top-notch including their facility in Menlo Park, where the old Sun research campus used to be.

In the end, it was a great experience. I got to go and interview with one of the biggest Internet companies in the world and meet some brilliant people and see just how great their environment is. I realized that in the right environment, I can go head to head with some of the best - and got a quick trip out there to boot!

Interview Questions

  • Why wouldn't you want a root DNS server to answer queries for you, instead of delegating you to an authoritative server?   View Answers (3)
  • For a given set of software checkins, write a program that will determine which part along the branch where the fault lies.   View Answers (3)

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response

No Offer

Negative Experience

Difficult Interview

Production Engineer Interview

Production Engineer
Menlo Park, CA

I applied through a recruiter and the process took 4 weeks - interviewed at Facebook in June 2012.

Interview Details – I was contacted by a recruiter over linkedin. After doing a technical screen with the recruiter, there were two phone interviews with engineers. The first was a fairly simple programming test, and later a more in depth systems test.

Interview Question – The systems interview was more open ended than I expected   View Answer

Was this interview helpful?  
Yes | No
Flag Interview  |  Add Employer Response
RSS Feed Embed
Interviews for Top Jobs at Facebook

Worked for Facebook? Contribute to the Community!

The difficulty rating is the average interview difficulty rating across all interview candidates.

The interview experience is the percentage of all interview candidates that said their interview experience was positive, neutral, or negative.

Your response will be removed from the review – this cannot be undone.

Glassdoor is your free inside look at Facebook Production Engineer interview questions and advice. All 13 interview reviews posted anonymously by Facebook employees and interview candidates.