apple logo
Apple· AI/ML - Language Engineer

Apple | Language Engineer | Barcelona | 11/2023-01/2024 [Reject]

Result
Rejected
Location
Barcelona
Experience
6 years
Posted
15 Jan 2024
376 reads

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)
Interviews B and C primarily involved a series of questions designed to assess my knowledge and experience in ML-NLP, as well as my approach to hypothetical scenarios and problems relevant to the role.

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?
The coding challenge in Interview A (15-20 minutes) consisted of two LeetCode problems:
I successfully completed both coding challenges, though the second one was barely within the time limit. Overall, I felt I performed well on most of the topics and questions. However, I personally believed I might have lacked professional experience that was directly relevant to this specific role when compared to other candidates. Ultimately, I received a rejection, with the feedback stating that Apple had 'moved on with other candidates'.

Questions asked (9)

  1. 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?

  2. 02

    Dynamic vs. Static Libraries

    Other

    Based on my CV/previous experience with C#, what is the difference between dynamic and static libraries?

  3. 03

    DFS vs. BFS

    Data Structures & Algorithms

    Explain the difference between Depth First Search (DFS) and Breadth First Search (BFS).

  4. 04

    DevOps Concepts and Experience

    Other

    Explain what you understand as DevOps and your experience with it.

  5. 05

    Git Rebase vs. Git Merge

    Other

    What is the difference between git rebase and git merge?

  6. 06

    Investigating Breaking Changes in Git

    Other

    How would you investigate a breaking change introduced between a high quantity of commits?

  7. 07

    Favorite Git Command

    Other

    What is your favorite git command? Why?

  8. 08

    Contains Duplicate

    Data Structures & Algorithms · Easy

    Given an integer array nums, return true if any value appears at least twice in the array, and return false if every element is distinct.

    Open the problem
  9. 09

    One Edit Distance

    Data Structures & Algorithms · Medium

    Given two strings s and t, return true if they are one edit distance apart, false otherwise.

    Open the problem

Know someone preparing? Send it to them:WhatsAppLinkedInX

Interviewed at Apple recently?

Write up your rounds while you still remember the questions. It helps the next person more than you would think.

Share your experience
Discussion 0

Questions for the author, or how your own interview compared.

Join the discussion

Sign in with Google to comment or ask the author a question.

No comments yet

Be the first to share your thoughts and start the discussion!