Discussion · Interview

Apple Data Engineer Interview

Apple Data Engineer Interview

alpine_frog_8491·

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:

  1. A standard Leetcode-style SWE problem
  2. 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!

145

3 comments

Just went through the tech screen a few weeks ago. The data modeling is both drawing up a set of table schema and answer problems to it. For example, if you were to draw out a table schema for Lyft, you would then require to show how the schema could answer questions like "How many drivers operate in California? How plenty of drivers operate in Florida, and have been a driver for over 3 years?"

86

Is this for product analytics or infrastructure?

75

JD seems to suggest a mix of both.

51

Elsewhere in Interview

All Interview threads