The Facebook Data Engineering Manager Interview
Preparation tips for a coveted role
In Aug 2019, I applied to a Data Engineer position at Facebook. Less because I was motivated to work at a FAANG company, but more because I wanted to get out of the totally pointless job I held at that time (not to mention that FB has a campus right in the city where I live ;-) ). Accordingly, I was not spending sleepless nights, when, for a whole year, I got not even a courtesy call from any FB recruiter.
Perhaps that’s why, when, in late 2020, I got an initial connect email from an FB recruiter, I was deeply skeptical about the authenticity of that email. Chatted with a few friends and they confirmed — If you have applied to Facebook, they will review your resume and reach out, however late it may be.
So, I went ahead and booked time with the recruiter. The initial call went awesomely great. She reviewed my experience and suggested that given my recent management role and lengthy experience as a Lead, I should apply for a Leadership position at Facebook. I took the upgrade, with open hands, and agreed to interview for the DE Manager role.
Excited, I went cracking to prepare for the upcoming interviews. But, to my chagrin, I found that while the internet is replete with process info / material to prep for the role of a Data Engineer, there existed not much to prep for the DE Manager interview.
This post is an attempt to narrow that gap — provide info about the process and suggest prep material, for both the Screening and Onsite interview loop.
Screening Interviews
Leadership Screening
This is a 30–45 min. interview with the hiring manager, where they quiz you on your leadership skills/potential.
The interviewer will initially read from a standard script, suggesting to provide answers in the well known STAR format.
Questions are Situational as well as Behavioral. There is always the ‘Tell me about yourself’ question, so practice it over and over again (in addition to the ‘Why FB?’ ).
Example:
Tell me about the toughest decision you had to make.
Provide an example of when one of your team member was struggling.
What does a good DE team/platform look like ?
A good resource is here (along with a google search on behavioural questions)
Pro Tip:
Create a document with a list of such questions and write in the answers. This gives you ample time to think through the answers and amend/polish them multiple times, at leisure. It will also help you cement the examples in your brain, so that they are at your fingertips during the interview.
Prepare good questions to ask the interviewer to show your genuine interest in the role.
Technical Screening
This is a 45 min. coding exercise with SQL and a language of your choice (Java/Python/C) in Coderpad (with execution disabled). Another manager or a senior IC will be conducting this round.
For the DE Manager role, they are more interested in your approach towards solving a problem, rather than your ability to actually execute code and match with expected results. With that said, the Manager tech screening ups the ante by asking to provide solutions to more complex problems than what are asked of a DE to execute (repeating for clarity — manager candidates have to provide solutions as a pseudo-code whereas DE candidates have to actually execute code).
A good/oft-asked collection of what questions are asked for a DE role is available at Glassdoor. Leetcode does a great job at modelling almost the same DE SQL questions as are actually asked.
Pro Tip:
Definitely actually solve the Easy level Algo questions at Leetcode. In addition, attempt the Medium complexity ones — if coding’s not possible, go through the forum solutions to understand how to approach them.
Make yourselves comfortable with coderpad (https://app.coderpad.io/) by bookmarking the sandbox and attempting to write simple functions. You will not be asked to execute, but no harm in being more hands-on.
Once the recruiter confirms that the feedback from the Screening rounds is positive, you will be progressed to the Onsite interview loop (due to Covid restrictions, my Onsite was ‘virtual’ via the Bluejeans app)
Onsite Interviews
Following were the rounds that were scheduled for me. Your’s may vary depending upon the team that you are interviewing for.
Technical Data Exercise — 1
Post the customary introductions, this is a 45–60 min. technical interview where they present you with a problem/feature and discuss potential options on how to implement the solution/feature. It’s very engaging and feels very enjoyable, until the moment they ask you to write code to implement your own suggestion.
If you have not been through this kind of an interview experience earlier, it can come as a bit of shocker. Lucky for me, I was able to code out the suggestions I gave, but it could have gone the other way if I had not been able to think of a suitable algo. Hence, keep in mind to not get carried away and present solutions that you can code for in the later half of the interview.
Example:
Let’s say, Netflix wants to find out what are the most engaging movies and what segments within a movie is the most engaging. How would you implement a solution to measure user engagement? How would you identify the most interesting parts of a movie?
Technical Data Exercise — 2
Post the customary introductions, this is a 45–60 min. technical interview where they present you with a hypothetical business/app and ask about what metrics would you collect to gather for this business. Thereafter, you would be asked to design a database schema (people usually choose to go dimensional, given the role is supporting Analytics), complete with the entities/dimensions and facts/measures. Later, you will be asked to write queries to retrieve the same metrics, which you would have suggested to gather earlier :)
Example:
A car driving app needs to collect metrics on it’s business. How would you go about implementing that?
A good example is at https://allbigdatathings.blogspot.com/2019/04/uber-data-model.html
I have to admit, i did not do very well in this round as i was way out of touch with Dimensional Modeling.
Leadership
Since you would have already talked to the hiring manager, introductions may not be needed in this 45 min. round. So, it could very well go straight to the questions. Your Leadership screening prep should come in handy here. Again, be ready with specific examples around your Leadership experience (Conflict resolution, achievements, appraisals etc.) and your management style. Have a neat set of 6–8 stories to give examples from. STAR is the answering format that is expected.
What may come as a surprise here is, you may be asked to solve a programming/SQL question in this round too. This is mostly around testing your basics on ETL and general data querying.
Here is a useful resource to get a comprehensive list of possible questions ( trim this list per the job opening) https://www.managersclub.com/popular-interview-questions-for-engineering-managers/
Ownership
This is a 30 min. round with a business stakeholder, where they would assess how you work with external teams and prioritize work amongst competing priorities or stakeholders.
Given the short duration and the non-technical nature, this will be the least stressful of the rounds.
Once the onsite rounds are over, the recruiter will let you know of the panel’s decision, once they have it collated.
So, there it is; the complete details on this process (within, of course, the confines of the NDA that one has to sign with Facebook)
As for me, well, I got a ding after three weeks of the Onsite (yeah, it sucks !). However, I used this experience/prep to ample leverage for another opening — details of which to follow…… (“Follow” me to be notified as soon as they are published)