A recruiter contacted me by email and asked me to do a phone interview. She asked me whether I was familiar with a production engineer's work and 10+ initial screen questions. They were all about basic Linux and networking knowledge, like port numbers and the TCP protocol, and Linux commands. Most of them were quite easy, but they did include some tricky questions.
Afterward, I was told that I had passed and would have one coding interview and one system interview before a final decision was made.
The coding interview started about one week later. I was asked to code using Stypi, and there were two questions in 45 minutes. One was to translate English to "Goat Latin" language with a set of predefined rules. It was not hard, but I still spent 20-30 minutes on it, partly because I cared too much about the details. The second question was more of a shell-script coding task, although I did not realize it immediately. I was asked to obfuscate local parts of email addresses found in all HTML files under a folder (including subfolders). Due to the time limit, I did not write clean and complete code for it. However, I discussed possible solutions with the interviewers (shell script + Python regex operations).
Then, the recruiter told me I passed the first round, and we moved on to the system interview, which began 5 days later. Since it was totally new to me, I read lots of posts on Glassdoor and other interviewing forums, and they were very useful. The interview questions required solid knowledge of Linux, operating systems, and performance monitoring. They both started with relatively simple questions but ended with many follow-up questions. Try your best to be open-minded and always talk with the interviewer. They want not only a correct answer but also to understand how you arrive at your solution.
Later that day, I heard from the recruiter that the feedback seemed great. After one week, they gave me the offer. The salary was greater than I had ever expected.
Pros:
Explain every step of what will happen after you type ls * in your terminal.
Suppose there is a server with a high CPU load, but no process is consuming high CPU time. What could be the reason for this? How do you debug this problem? Does your solution always work, and if not, what's the reason for that?
The following metrics were computed from 155 interview experiences for the Meta Production Engineer role in United States.
Meta's interview process for their Production Engineer roles in the United States is very selective, failing most engineers who go through it.
Candidates reported having very good feelings for Meta's Production Engineer interview process in United States.