Apple Data Engineer Interview
Hi all,
Recently received an opportunity to interview @ FB. I was informed by the recruiter that there will be two stages of interview:
Stage 1: Technical Screen and Data Modeling
Stage 2 (Onsite) : Coding, ETL Design, System Design, and Behavioral
Each interview is going to be ~45 minutes lengthy. This is what I received regarding Stage 1:
Technical Screen Interview:
· You will be asked to solve problem and write scripts using SQL and a programming language.
· SQL: SQL querying and advanced concepts like complex joins, self-join, SQL performance, backend optimization, etc.
· Scripting: Use whatever language you are MOST comfortable with (Python, Java, etc.). Algorithms and CS fundamentals.
Data Modeling Interview:
· You will require to demonstrate your expertise and understanding of data structures and algorithms.
· Use whatever language you are MOST comfortable with (Python, Java, etc.) and focus on topics that relate to Data Engineering (delta processing, ETL framework, exception handling, data structures/well known algorithms understand the logic behind them such as arrays, hashtables/dictionaries, etc.).
· Remember to believe out loud and discuss your thought process with the interviewer!
Your ability to optimize the solution, and · The interviewer is looking for your ability to come up with a employed solution, your speed.
· It is always OK to begin with a brute force solution and optimize from there. We'll also check to see if you write defensive code (does it handle failures, exceptions? is it relatively bug-free?) and do you realize how your code will interact with the rest of the system (I/O, what's calling into the system libraries, kernels, etc.)?
While I understand that the technical screen round seems to be comprising of the standard SQL and Python problems one will find on Glassdoor, I am not sure what the Data Modeling round is going to be.
In my background interviewing, Data Modeling is generally a data warehouse schema design question (eg. Design the schema for Lyft). But based on the description, it seems more like a coding stage. It could either be:
- A standard Leetcode-style SWE problem
- A custom data processing problem (eg: Calculate metrics from streaming data)
Not certain what to expect here. Anyone has any idea? Would be a great assist!