The process began with my resume submission. Several months later, I was invited to a phone interview with a recruiter. Following that, there was a 45-minute technical phone interview that covered a basic palindrome detection coding exercise, which I solved in Python. Several days afterward, I was invited to a second 45-minute phone interview that focused on performing a merge-sort using pure SQL. Finally, I was invited to fly out to Menlo Park for an on-site interview loop.
The phone interviews went relatively smoothly; both interviewers were incredibly kind and professional. The on-site interview was an amazing experience but represented a night-and-day difference in difficulty compared to the phone interviews. Although substantial in subject matter, each interviewer was again kind and professional, and I genuinely felt they wanted me to succeed.
It was the first interview I've ever had where I didn't feel attacked or interrogated, and I felt at complete ease. Facebook has done a wonderful job cultivating a supportive and encouraging culture, which shone through during the entire interview process.
That all said, my best advice for this interview is not to let the colloquial atmosphere lull you into a false sense of ease. While the interviews are warm and helpful, their ultimate goal is to select prime candidates. Be yourself, be honest, but never "let your guard down" and choose your words carefully. Every response is measured!
Some technical notes on how to prepare (and consequently, things I believe I fell below the grade on!):
Create DDL (tables and foreign keys) for several tables in a provided ERD. The ERD contains at least one many-to-many relationship.
Recursively parse a string for a pattern that can be either one or two characters long.
Perform a merge-sort using SQL only.
Given full authority to "make it work," import a large dataset with duplicates into a warehouse while meeting the requirements of a business intelligence designer for query speed.
Query a many-to-many relationship without violating the grain of a fact table.
The following metrics were computed from 82 interview experiences for the Meta Data Engineer role in Menlo Park, California.
Meta's interview process for their Data Engineer roles in Menlo Park, California is very selective, failing most engineers who go through it.
Candidates reported having very good feelings for Meta's Data Engineer interview process in Menlo Park, California.