Apple | Language Engineer | Barcelona | 11/2023-01/2024 [Reject]
- Result
- Rejected
- Location
- Barcelona
- Experience
- 6 years
- Posted
- 15 Jan 2024
Summary
I recently interviewed for an AI/ML - Language Engineer position at Apple in Barcelona, which spanned from November 2023 to January 2024. The process involved multiple rounds covering project management, ML/NLP, and technical problem-solving, including coding challenges like 'Contains Duplicate' and 'One Edit Distance'. Although I felt I performed well on most aspects, I was ultimately rejected, as Apple chose to move forward with other candidates, possibly due to a perceived lack of professional experience relevant to the role.
How it went
I applied for an AI/ML - Language Engineer position at Apple in Barcelona. My background includes a BS in Computer Engineering and Mathematics, and I am currently pursuing an M.Sc, with 6 years of experience as a Software Engineer. The interview process, which took place between November 2023 and January 2024, began with an introductory phone call.
Following this, I had three main interviews:
- Interview A: Project Management and Scripting (60 minutes)
- Interview B: Machine Learning and NLP (45 minutes)
- Interview C: Tech Learning & Problem Solving (45 minutes)
Interview A was more structured and included specific questions and a coding challenge. The questions in this round (first 40 minutes) focused on:
- Explaining what a Hash Table/Map is, how to implement it, and strategies for dealing with collisions, including methods without using extra space.
- Based on my CV and previous experience with C#, I was asked about the difference between dynamic and static libraries.
- Explaining the difference between Depth First Search (DFS) and Breadth First Search (BFS).
- My understanding of DevOps and my experience with it.
- GIT-related questions:
- What is the difference between git rebase and git merge?
- How would I investigate a breaking change introduced between a high quantity of commits?
- What is my favorite git command and why?
- Contains Duplicate (LC easy)
- One Edit Distance (LC medium)
Questions asked (9)
- 01
Hash Table/Map Concepts
Data Structures & Algorithms
Explain what is a Hash Table/Map. How would you implement it? How to deal with collisions? How to deal with collisions without using extra space?
- 02
Dynamic vs. Static Libraries
Other
Based on my CV/previous experience with C#, what is the difference between dynamic and static libraries?
- 03
DFS vs. BFS
Data Structures & Algorithms
Explain the difference between Depth First Search (DFS) and Breadth First Search (BFS).
- 04
DevOps Concepts and Experience
Other
Explain what you understand as DevOps and your experience with it.
- 05
Git Rebase vs. Git Merge
Other
What is the difference between git rebase and git merge?
- 06
Investigating Breaking Changes in Git
Other
How would you investigate a breaking change introduced between a high quantity of commits?
- 07
Favorite Git Command
Other
What is your favorite git command? Why?
- 08
Contains Duplicate
Data Structures & Algorithms · Easy
Open the problemGiven an integer array
nums, returntrueif any value appears at least twice in the array, and returnfalseif every element is distinct. - 09
One Edit Distance
Data Structures & Algorithms · Medium
Open the problemGiven two strings
sandt, returntrueif they are one edit distance apart,falseotherwise.