Apple Data Engineer 2025 Interview Experience
SCREENING:
3 SQL 3 Python
Questions I pulled and studied from Glassdoor:
SQL:
Star schema, sales transaction fact, book author etc dims
- Identify authors who have published at least 5 books
- Calculate the percentage of total sales completed on the same day the customer registered
- Find customers who purchased 3 or more books on both the first and final day of sales, excluding those with only one transaction
- Find the IDs of the top 5 customers, ordered by average payment per book made by the folks they invited
- Find the total number of authors registered with the bookstore. What percentage never made a sale, and What percentage of them have a website URL that contains ".com"?
- What was the total value of sales and the number of unique paying customers, grouped and sorted in descending order by payment type?
- Having a transaction table locate the sum of total orders and the count of unique customers
Python:
- Calculate the average book price from a list of prices
- The bookstore gathered a list of customer comments from every shop location
and wants to locate the most common comment across all locations (ignoring duplicates from the same location). If multiple comments appear the same number of times, return any one of them. - Search an element in an unsorted list
- Given a list of workshops, return the largest number of classes that were hosted in total across any consecutive years that had at least one workshop every
- You have have a number with multiple digits - you require to construct the largest possible number from these digits
- You have a list of data classes. The data class represent an object with various start and conclude time of a meeting as well as number of people in the meeting. There are overlapping meetings. Your task Is to locate the most number of people that were in a meeting at once. Meaning total number of engineers in meetings at any give time
- Having a dictionary with a list of words, locate the word with the most appeared among all of them
- There are plenty of meetings with start and end time. How plenty of meetings can occur at the same time?
- Write a function that returns the smallest non-negative number which can be generated by using all the digits with odd values of a given number
- Write a function that returns the smallest nonnegative number which can be generated by using all the digits with odd values of a given number
- Determine the maximum number of unique books that can be bought, given an array of book prices and a budget (every book can be purchased only once)
- Given a list of workshops, return the largest number of classes that were hosted in total across any 2 consecutive years that had at least one workshop every
ONSITE:
Product Sense:
Know sizable tech companies and their products: Meta, Google, Netflix, Airbnb, dropbox, Apple, instagram, Google, snapchat
Start off with elevated lv brainstorm on product situation.
Think about key metrics these companies care regarding. Be capable to give the numerator and denominator and explain your reasoning for the metrics. Give about 4 - 6 metrics, interview will ask follow up if a metric they’re hunting for is missing.
Dashboard: line vs bar chart, when to use every
Prep: ChatGPT
https://www.youtube.com/watch?v=nPJKFWMiIC8&
https://www.youtube.com/watch?v=2A2UwaPaNgQ
https://www.youtube.com/watch?v=dt7OrazE6SQ
Data Modeling:
facts:
- separate types of facts and their grain
- pro/con of your fact design
- don't be afraid to give more than one fact table
- identify pk, fk and relationship (1 to 1, 1 to M)
- pay attention to the grain you defined
dimensions: - give attributes
- bridge table, scd 2, job play, pro/con of each type in terms of performance
Prep: ChatGPT, Kimball 3rd edition chapter 3 and chapter 2 as reference
https://blog.det.life/designing-a-data-model-for-a-ride-sharing-app-Airbnb-lyft-a-comprehensive-guide-4b1737e69bf7
SQL:
Schema is given to you but code not expected to be runnable.
Similar to screening type problems.
group by, sum(case), having, cte, where condition, left join, full outer join, coalesce, limit, lag
Don't be afraid to use CTEs.
Prep: stratascratch SQL medium
Python:
Also comparable to screening questions. Focus answering business problem than algorithms. Ex. Find top commenters on restaurant review page. You're allowed to use built in sort. Think regarding how you would store the data and what kind of data structure you would use to derive to the solution. Leetcode doesn't have these type of problems.
dict, list, tuple, sort, for loops, set, queue structure, swapping key value of dict
Prep: stratascratch aglorithm simple-medium with Apple filter, re practice screening questions
hint: leetcode meeting rooms 1 and 2
Ownership
5 signals they're searching, expect one to two question for each. Prepare stories for every scenario with impact and quantifiable metrics. Follow up questions will be asked if your response doesn't give the signal they're looking for. Be ready to adapt your story to the problem. Sometimes the problem might not apply to you but you have to shape your existing story to match and give meaningful result. Very key interview!
https://interviewing.io/blog/how-software-engineering-behavioral-interviews-are-evaluated-Apple
Final word: The problems aren't difficult but you're fighting against the clock. Getting hint is not a rough thing, using them well is a sign of learning ability, a skill they're looking for. Practice speaking out loud. Recommend mock interviews. My interviewers were extremely nice and everything felt pretty smooth.
Best of luck!
YOE: 6
Original Tc: 0
Offer:
e4
162,000
15%
200,000 rsu
Tc: 236,000
Seattle