Apple | Language Engineer | Barcelona | 11/2023-01/2024 [Reject]
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.
Full Experience
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)
Interview Questions (9)
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?
Based on my CV/previous experience with C#, what is the difference between dynamic and static libraries?
Explain the difference between Depth First Search (DFS) and Breadth First Search (BFS).
Explain what you understand as DevOps and your experience with it.
What is the difference between git rebase and git merge?
How would you investigate a breaking change introduced between a high quantity of commits?
What is your favorite git command? Why?