apple logo

Apple Interviews

15 experiences484 reads126 questions20% success rate
Apple | SWE | Hyd | Screening
apple logo
Apple
swehyderabad6.5 yearsOngoing
November 29, 202534 reads

Summary

I recently had a 45-minute screening interview for a Software Engineer role at Apple's Ads Delivery Team in Hyderabad. The round focused primarily on my resume, past technical experiences, leadership principles, and a deep dive into my current projects, with no DSA questions asked.

Full Experience

I applied for a Software Engineer position with the Ads Delivery Team in Hyderabad, India, through Apple's careers portal. The screening round, conducted by another SWE, lasted 45 minutes. This interview primarily revolved around my resume and a detailed discussion of my technical experiences across various companies and teams, highlighting my learnings and key takeaways. We also delved into my current project, which is related to Ads, and the interviewer seemed particularly interested in it. A significant portion of the interview also involved answering several leadership principle-based questions.

Interview Questions (6)

Q1
Resolving Peer Conflicts
Behavioral

How do you resolve conflicts with your peer?

Q2
Convincing Lead on Design and Pushback
Behavioral

Tell me a time when you proposed a design to your lead and had to convince him/her that it would fulfill the usecase? How do you pushback when someone is not convinced?

Q3
Giving Feedback to Junior Team Members
Behavioral

How do you give feedback to your junior team members?

Q4
Using GenAI Tools for Efficiency
Behavioral

What GenAI tools do you use in your day-to-day life? How does it improve your efficiency?

Q5
Upskilling Strategies
Behavioral

How do you upskill yourself?

Q6
Implementing Features with Unfamiliar Technology
Behavioral

Describe any recent project that you worked on, where you had to implement the feature using a technology that you were not familiar with? How was the learning curve?

Apple ICT5 - Phone Screen
apple logo
Apple
ICT5Ongoing
October 23, 202542 reads

Summary

I recently had a phone screen for an ICT5 role at Apple, where I was presented with a specific board game problem related to capturing stones.

Full Experience

During my phone screen with Apple for an ICT5 position, the interviewer posed an intriguing problem involving a game board. The task was to simulate placing a new black stone at a given (row, col) on a board and then determine the total count of white stones that would be captured as a result of this move. The board itself was represented by a 2D array, with 'e' for empty, 'b' for black, and 'w' for white. I had to devise an algorithm to identify and count all white stones that would become surrounded and captured by the newly placed black stone, alongside any existing black stones.

Interview Questions (1)

Q1
Count Captured White Stones on a Board
Data Structures & AlgorithmsMedium

Given a game board and a position (row, col) where a black stone is about to be placed, return the number of white stones captured by black. The board is represented as a 2D array of characters.

Example:
board = [ ['e', 'e', 'e', 'e', 'b', 'b', 'b'],
         ['e', 'e', 'e', 'e', 'b', 'w', 'b'],
         ['e', 'e', 'e', 'e', 'b', 'e', 'b'],
         ['e', 'e', 'e', 'e', 'e', 'e', 'e']]


If row = 2, col = 5 (where a black stone will be placed next), return the number of white stones captured by black.

Apple Phone Screen
apple logo
Apple
Ongoing
October 21, 202546 reads

Summary

I recently had a phone screen with Apple where I was asked to convert a sorted linked list into a balanced binary search tree.

Full Experience

During my phone screen with Apple, the interviewer presented me with a classic data structure problem. I was given a sorted linked list of integers and tasked with implementing a method to transform it into a balanced binary search tree. The problem statement included a clear example to illustrate the expected output from a given linked list input.

Interview Questions (1)

Q1
Convert Sorted Linked List to Balanced BST
Data Structures & AlgorithmsMedium

Given a sorted linked list of integers, write a method(s) to create a balanced binary search tree from the list.

Example:
1 -> 2 -> 5 -> 6 -> 8 -> 10 -> 19

Expected Output:

         6
/   
2 10 / \ /
1 5 8 19

Input : LinkedList head
Output : TreeNode root

Apple Interview Experience
apple logo
Apple
Reliability Engineering IS&T InternOffer
October 15, 202583 reads

Summary

I interviewed with Apple for a Reliability Engineering IS&T Intern role, successfully navigating two rounds focusing on technical skills, problem-solving, collaboration, and innovation, ultimately receiving an offer.

Full Experience

I recently had an incredible opportunity to interview with Apple for the Reliability Engineering IS&T Intern role. The selection process was truly enriching, comprising two distinct rounds designed to assess not only my technical proficiency but also my problem-solving ability, collaborative spirit, and cultural fit.

Round 1: Technical (Elimination Round)

This round lasted approximately 50 minutes and focused heavily on Data Structures, Algorithms, and Core Computer Science Fundamentals. It kicked off with a brief introduction and a deep dive into one of my projects.

Introduction and Project Discussion

The interviewer asked me to introduce myself and elaborate on a project, specifically highlighting the technical challenges I faced, how I went about debugging issues, and the overall impact of my work.

DSA Questions (Live Coding)

This was the hands-on coding segment on CoderPad. I was given a few problems:

  • Rotate a Matrix 90° Clockwise: I implemented this directly in CoderPad.
  • Merge K Sorted Linked Lists: For this, I discussed both the brute-force approach (merging one at a time) and a more optimized solution using a min-heap or priority queue.
  • Maximum Length of a Mountain in an Array: I explained my logic and approach to solve this problem.
  • LRU Cache: I detailed my design using a HashMap combined with a Doubly Linked List to ensure O(1) operations for both put and get operations.

Complexity and Theory

Following the coding, we moved into theoretical questions:

  • What does O(1) space complexity mean?
  • The difference between O(log n) and O(n) time, which I illustrated with real-world examples, particularly using database indexing.

Computer Networks Discussion

We then delved into Computer Networks:

  • What happens when you search for google.com? I covered both iterative and recursive DNS queries.
  • Why are protocols necessary in communication?
  • The difference between TCP and UDP, which I explained using an analogy: emailing (prioritizing reliability) versus live streaming (needing speed and tolerating some data loss).
  • What is caching, and how does it improve performance? I used DNS caching as an example.
  • There was a brief follow-up on L1, L2, and L3 cache levels, which was the only area where I felt less confident.

Within just 30 minutes of completing this round, I received an email confirming my shortlisting for the next stage, which was incredibly fast and exciting.

Round 2: Managerial + HR (Behavioral + Problem Solving)

This 50-minute round focused on values alignment, decision-making, and real-world problem-solving. The interviewer structured the discussion around three key themes: Collaboration, Invention, and Results. Each section involved about 5–6 behavioral questions, requiring me to draw examples from my past experiences and projects.

Collaboration

I was asked about times when I worked in a team without sufficient guidance and how I handled communication gaps to ensure consistent progress. I shared my experiences from large-scale hackathons like Smart India Hackathon and Code with Cisco, emphasizing teamwork, communication, and task division. I explained how I navigated limited guidance by coordinating closely and fostering shared ownership within the team.

Invention

Here, the interviewer inquired about instances where I came up with innovative solutions in any of my projects. I discussed my Second-Hand Car Price Prediction project, where I proposed a novel ensemble-based approach that significantly improved accuracy. I proudly mentioned that this work eventually led to a research paper publication, showcasing how I combine creativity with technical depth.

Results

This section focused on how I dealt with setbacks and ensured successful outcomes despite challenges. I recounted my experience building CollegeQuora, a platform designed to help students collaboratively clear academic doubts. I highlighted how the platform enhanced engagement and knowledge sharing within the department, representing a tangible and meaningful outcome of my efforts.

This round felt less like a typical HR interview and more like a genuine conversation about my journey and mindset. The interviewer was keen on understanding my approach to challenges, how I collaborate, and how I translate ideas into measurable impact.

Verdict: Selected✅

After completing both rounds, I was absolutely thrilled to receive an offer from Apple the very next day. This experience truly stands out as one of the most enriching milestones in my journey.

Interview Questions (16)

Q1
Project Discussion and Technical Challenges
Behavioral

Introduce yourself and explain one of your projects in detail, particularly focusing on technical challenges faced, how issues were debugged, and the overall impact of your project.

Q2
Rotate a Matrix 90° Clockwise
Data Structures & Algorithms

Implement a function to rotate a given matrix 90 degrees clockwise directly in CoderPad.

Q3
Merge K Sorted Linked Lists
Data Structures & Algorithms

Discuss both brute-force (merging one at a time) and optimized approaches (using a min-heap / priority queue) for merging K sorted linked lists.

Q4
Maximum Length of a Mountain in an Array
Data Structures & Algorithms

Explain the logic and approach to find the maximum length of a mountain in an array.

Q5
Design LRU Cache
Data Structures & Algorithms

Explain the design of an LRU Cache using a HashMap and a Doubly Linked List to achieve O(1) operations.

Q6
O(1) Space Complexity Definition
Other

What does O(1) space complexity mean?

Q7
O(log n) vs O(n) Time Complexity
Other

Explain the difference between O(log n) and O(n) time complexity, providing real-world examples.

Q8
DNS Resolution Process
Other

Describe the process that occurs when you search for google.com in a browser, covering DNS queries.

Q9
Necessity of Communication Protocols
Other

Explain why protocols are necessary in communication.

Q10
TCP vs UDP
Other

Explain the difference between TCP and UDP.

Q11
Caching Principles
System Design

What is caching, and how does it improve performance?

Q12
Cache Levels (L1, L2, L3)
Other

Discuss L1, L2, and L3 cache levels.

Q13
Teamwork without Guidance
Behavioral

Describe times when you worked in a team without sufficient guidance.

Q14
Handling Communication Gaps and Progress
Behavioral

How did you handle communication gaps and ensure consistent progress in a team setting?

Q15
Innovative Solutions in Projects
Behavioral

Describe instances where you came up with innovative solutions in any of your projects.

Q16
Dealing with Setbacks and Achieving Results
Behavioral

How did you deal with setbacks and ensure successful outcomes despite challenges?

Preparation Tips

My preparation focused on a few key areas:

  1. I revised core DSA topics thoroughly.
  2. I brushed up on fundamentals of Computer Networks, DBMS, and Operating Systems.
  3. I reviewed my past projects in detail, preparing to discuss technical challenges and impact.
  4. Most importantly, I focused on STAYING AUTHENTIC during the interviews.

Keep pushing your limits, because the people who are crazy enough to think they can make a difference, are the ones who do.

Apple | Junior Software Engineer (ICT-2) | Offcampus
apple logo
Apple
Junior Software Engineer (ICT-2)Withdrew
August 14, 202525 reads

Summary

I interviewed for a Junior Software Engineer (ICT-2) role at Apple. After successfully completing the Online Assessment, I proceeded to a technical interview where I demonstrated my DSA skills on problems like Coin Change I and II. Ultimately, I decided the role and team weren't the right fit for my career path, and therefore, wasn't expecting an offer.

Full Experience

I applied for an off-campus Junior Software Engineer (ICT-2) role at Apple in July and soon received an Online Assessment (OA) link. The OA consisted of two coding problems, both of which I solved successfully:

  1. A variation of the knapsack problem, specifically referred to as 'Double Knapsack' or 'Maximum Weight in Two Bags'.
  2. A grid traversal problem on a 15x10 grid where I had to follow a unique path made of '*' and lowercase letters, collecting the letters to form a string.
Following the OA, I received an invitation for an interview. During a preliminary call with the recruiter, I realized that the team's work and the role's responsibilities didn't quite align with my career trajectory. Additionally, the compensation package was similar to my current one, which didn't provide a strong incentive. I attempted to reschedule the interview due to travel, but was informed it was either that date or nothing, so I decided to proceed.

The interview focused on a Java backend role. It began with some cross-questions on my resume and fundamental Java concepts. Then, I was asked to solve 'Coin Change I' and 'Coin Change II', which I solved optimally with correct time complexity. Further questions covered Operating Systems (OS), Object-Oriented Programming (OOPs), and System Design, which I answered to the best of my ability. Throughout the interview, I conveyed my reservations about the specific work this team was engaged in, which led me to not anticipate a callback.

Interview Questions (4)

Q1
Maximum Weight in Two Bags
Data Structures & AlgorithmsHard

This problem is a variation of the knapsack problem where the goal is to maximize the total weight of items selected for two separate bags, each with its own capacity constraint.

Q2
Grid Path Letter Collector
Data Structures & AlgorithmsMedium

Given a 15x10 grid containing a unique path made of '' and lowercase letters. The path starts at (0,0), moves only in the four cardinal directions (no diagonals, forks, or loops), and ends at some point. I needed to follow this path, collect all lowercase letters (ignoring ''), and output the formed string.

Q3
Coin Change I
Data Structures & AlgorithmsMedium

Given an array of coins with different denominations and a total amount of money, compute the fewest number of coins that are needed to make up that amount. If that amount cannot be made up by any combination of the coins, return -1.

Q4
Coin Change II
Data Structures & AlgorithmsMedium

Given an array of coins with different denominations and a total amount of money, compute the number of combinations that make up that amount. It's assumed that an infinite number of each kind of coin is available.

Preparation Tips

My preparation for this particular interview was not as thorough as it should have been, mainly due to the short notice and my ongoing travel plans. Based on my experience, I would strongly advise anyone applying off-campus to:

  • Ensure you have a clear understanding of the team's specific work and how it aligns with your career goals.
  • Dedicate sufficient time to brushing up on Data Structures and Algorithms (DSA).
Apple IC3 Frontend Interview Experience (Jun 2025)
apple logo
Apple
IC3 Frontend Engineer
July 19, 20254 reads

Summary

I interviewed for an IC3 Frontend Engineer role at Apple, which included an online assessment, a recruiter call, and a technical interview covering React, Data Structures & Algorithms, and web security. Despite my efforts, I was not selected for the position.

Full Experience

Application & Online Assessment

I've been applying to Apple on and off for the past 2–3 years. This time, I finally received an online assessment link for the IC3 Frontend Engineer role.

Assessment Format:

  • Duration: 1 hour
  • 2 Coding Questions (DSA + JavaScript): These were a mix of JavaScript and Data Structures & Algorithms — designed smartly to test both areas in tandem. The difficulty was easy to medium, but the time constraint made it challenging.
  • 20 Multiple Choice Questions: Covered core JavaScript, React, and Frontend Engineering concepts.

Overall Assessment Difficulty: Medium to Hard, primarily due to the tight time limit.

Recruiter Call

About a week later, I received a call from an Apple recruiter.

What we discussed:

  • My reason for looking out
  • Why Apple?
  • Compensation expectations

The recruiter was friendly and professional, and after our chat, I was moved to the next round: the technical interview.

Technical Interview (Screening + Coding)

This was a 60-minute video interview with an Apple engineer.

  • React Output-Based Question

    The interviewer showed a small React code snippet involving the useContext API. I was asked to predict the output and explain the reasoning. Follow-up questions on React hooks:

    • useContext: its use in prop drilling and state management
    • useMemo & useCallback: optimizing performance in React components

    Tip: Be crystal clear with hook behaviors under different re-renders and props changes.

  • Nested Tabs Rendering Problem (Coding Round)

    This was the main coding challenge — and also the most interesting one.

    Problem Statement: Given a flat array of tab objects with id, name, and parentId, render a nested tab or accordion structure in React where each tab appears under its parent.

    Sample Input JSON:

    [
    { "id": 1, "name": "Parent 1", "parentId": null },
    { "id": 2, "name": "Child 1.1", "parentId": 1 },
    { "id": 3, "name": "Child 1.2", "parentId": 1 },
    { "id": 4, "name": "Parent 2", "parentId": null },
    { "id": 5, "name": "Child 2.1", "parentId": 4 }
    ]

    Objective: Transform this into a nested UI structure, like:

    - Parent 1
    - Child 1.1
    - Child 1.2
    - Parent 2
    - Child 2.1

    My Approach: Converted the flat list into a tree-like structure using a map and used DFS to render tabs recursively.

    I was able to solve it and explain my logic clearly. The interviewer seemed satisfied.

  • Web Security Basics

    Finally, I was asked a few questions on web security:

    • How can we secure a website?
    • Topics like HTTPS, Content Security Policy (CSP), CORS, and securing cookies came up.

Outcome

After 4 weeks, I heard back from the recruiter:

“Someone else has joined for this position. We'll reach out if similar roles open up.”

Yes, I felt a little disappointed. But I was also genuinely happy knowing someone else just got their dream job. That's life.

Interview Questions (3)

Q1
React useContext Output and Hooks Deep Dive
Other

The interviewer showed a small React code snippet involving the useContext API. I was asked to predict the output and explain the reasoning. Follow-up questions covered React hooks: useContext (its use in prop drilling and state management) and useMemo & useCallback (optimizing performance in React components).

Q2
Nested Tabs/Accordion UI from Flat Array
Data Structures & Algorithms

Given a flat array of tab objects with id, name, and parentId, render a nested tab or accordion structure in React where each tab appears under its parent.

Sample Input JSON:

[
{ "id": 1, "name": "Parent 1", "parentId": null },
{ "id": 2, "name": "Child 1.1", "parentId": 1 },
{ "id": 3, "name": "Child 1.2", "parentId": 1 },
{ "id": 4, "name": "Parent 2", "parentId": null },
{ "id": 5, "name": "Child 2.1", "parentId": 4 }
]

Objective: Transform this into a nested UI structure, like:

- Parent 1
- Child 1.1
- Child 1.2
- Parent 2
- Child 2.1
Q3
Web Security Fundamentals
Other

How can we secure a website? Topics like HTTPS, Content Security Policy (CSP), CORS, and securing cookies came up.

Apple | IS&T | SWE | Hyd | Backend
apple logo
Apple
Software EngineerHyderabad5.9 years
June 13, 20254 reads

Summary

I interviewed for a Software Engineer role at Apple IS&T in Hyderabad, completing five virtual rounds that covered Data Structures & Algorithms, System Design, behavioral questions, and Java/Spring Boot concepts. Despite receiving positive feedback initially, I was ultimately ghosted after the final round.

Full Experience

Hi Folks, Applied for Java,Spring Boot, Microservices role. PS: This is my first FAANG experience. :)

YOE: 5.9 College: Tier-3 Currently SSE @ Walmart

OA Experience: Link

After 2 weeks, recruiter scheduled 2 elimination rounds back to back. Both the rounds were virtual.

Round #1: Taken by a ICT3 (4 YOE) DSA: Trapping rain water problem. (30 min) Java/Spring Boot (Theoretical): (30 min)

  1. Multiple questions on Spring Cloud components and use cases.
  2. Default method in interface
  3. Spring MVC vs Spring Boot
  4. Comparator vs Comparable
  5. CAP theorem
  6. Lambda expressions
  7. Microservices resiliency aspects. (ratelimiting, circuit breaking)
  8. explain Factory design pattern with example

Round #2: Taken by a SSE (12+ YOE, Guy was from Wipro, later converted his contract) System Design: BookMyShow (end to end) (40 min) Focused on various aspects: Booking Flow, Onboarding of shows, Search of nearby cinema halls, analytics. $$Advice:$$ Go through the codekarle videos. Java/Spring Boot (Theoretical) : (20 min)

  1. Spring Cache related questions
  2. BeanFactory vs ApplicationContext
  3. Concurrent collections : I explained ConcurrentHashMap.
  4. whats a Future?

Feedback is positive and 3 further rounds were scheduled next week on consecutive days.

Round #3: Taken by a EM (15+ YOE, Again a Wiproite) (60 min) 15 min intro. All sorts of behavioral related questions were asked. Tell me a time when you innovated. Tell me a time when you had a disagreement with peer. Tell me a time when you delivered in short time and reprioritized work. Tell me a time when you used some new technology in the project. Tell me a time when... All answers given in STAR format.

This guy was sitting in US timezone (8am PST) and slept through the entire interview. I could literally see his eyes closing down. IS&T org is truly filled with mediocrity.

Round #4: Taken by a SWE (15+ YOE, A wiproite, not surprised) (60 min) 5 min intro.

  1. Create an immutable class. Full working code is expected.
  2. TinyURL design discussion. Explained 2 approaches: Base62 and MD5 Hash, and its pros and cons.
  3. Given an array with repeating elements, return K most frequent elements.

Round #5: (after 1 week, got rescheduled)

  1. implement LRU Cache. Full working code is expected along with test cases. (Used HashMap and Doubly LinkedList)
  2. Make the above code thread safe. (Used ReentrantReadWriteLock and used ConcurrentHashMap instead of HashMap)
  3. Complexity of above code.
  4. What is string intern?
  5. Why do we override equals and hashcode method?

I felt that the interviewer was not paying attention to what I was saying. He kept arguing that LRU cache could be implemented with just map and DLL was not required. I explained my thought process twice but he was not ready to accept. I dont think this old guy (40+) had adequate knowledge.

Its been a week, no update. Got ghosted i guess. Overall my take is that Apple doesnt have a clear interview process, as you can see HM was 3rd round instead of last for me. And even recruiter also doesnt know the order of the rounds. So, you need to be prepared well for anything.

#apple #faang

Interview Questions (24)

Q1
Trapping Rain Water
Data Structures & AlgorithmsHard

Solve the 'Trapping Rain Water' problem.

Q2
Default Method in Interface
Other

Explain default methods in Java interfaces.

Q3
Spring MVC vs Spring Boot
Other

Differentiate between Spring MVC and Spring Boot.

Q4
Comparator vs Comparable
Other

Explain the difference between Comparator and Comparable interfaces in Java.

Q5
CAP Theorem
System Design

Explain the CAP theorem.

Q6
Lambda Expressions
Other

Explain Lambda expressions in Java.

Q7
Microservices Resiliency
System Design

Discuss microservices resiliency aspects, specifically mentioning rate limiting and circuit breaking.

Q8
Factory Design Pattern
Other

Explain the Factory design pattern with an example.

Q9
Design BookMyShow
System DesignHard

Design the BookMyShow system end-to-end, focusing on booking flow, onboarding of shows, searching nearby cinema halls, and analytics.

Q10
BeanFactory vs ApplicationContext
Other

Differentiate between BeanFactory and ApplicationContext in Spring.

Q11
Concurrent Collections (ConcurrentHashMap)
Other

Discuss concurrent collections. I explained ConcurrentHashMap.

Q12
What is a Future?
Other

Explain what a Future is in Java.

Q13
Behavioral: Innovation
Behavioral

Tell me a time when you innovated.

Q14
Behavioral: Disagreement with Peer
Behavioral

Tell me a time when you had a disagreement with a peer.

Q15
Behavioral: Delivering in Short Time
Behavioral

Tell me a time when you delivered in a short time and reprioritized work.

Q16
Behavioral: New Technology Adoption
Behavioral

Tell me a time when you used some new technology in a project.

Q17
Create an Immutable Class
OtherMedium

Create a full working code example of an immutable class in Java.

Q18
Design TinyURL
System DesignMedium

Discuss the design of TinyURL. I explained two approaches: Base62 and MD5 Hash, along with their pros and cons.

Q19
K Most Frequent Elements
Data Structures & AlgorithmsMedium

Given an array with repeating elements, return K most frequent elements.

Q20
Implement LRU Cache
Data Structures & AlgorithmsMedium

Implement an LRU Cache with full working code and test cases.

Q21
Make LRU Cache Thread-Safe
Data Structures & AlgorithmsHard

Make the implemented LRU Cache code thread safe.

Q22
Time/Space Complexity of LRU Cache
Data Structures & Algorithms

Analyze the time and space complexity of the LRU Cache implementation.

Q23
String intern()
Other

Explain what String.intern() method does in Java.

Q24
Override equals() and hashCode()
Other

Explain why we override the equals() and hashCode() methods in Java.

Preparation Tips

I prepared for System Design by going through CodeKarle videos. For behavioral questions, I consistently used the STAR format to structure my answers. During coding rounds, I approached the LRU Cache implementation using a HashMap and a Doubly Linked List, and made it thread-safe by applying ReentrantReadWriteLock and replacing HashMap with ConcurrentHashMap. For TinyURL design, I discussed and contrasted Base62 and MD5 Hash approaches. I also detailed ConcurrentHashMap when asked about concurrent collections.

Apple OA | IS&T | SWE | Hyd
apple logo
Apple
SWEHyderabad5.5 years
May 21, 20254 reads

Summary

I applied directly to Apple's careers website for an SWE role in IS&T in Hyderabad and received a Coderpad Online Assessment. The OA consisted of two Java-based data structures and algorithms questions, with a 70-minute time limit, and I have provided my solutions below.

Full Experience

YOE: 5.5 College: Tier-3 Currently SSE @ Walmart Applied directly at Apple's careers website.

Coderpad Link was shared which had 2 questions (Java based) with 70 min time limit.

Interview Questions (2)

Q1
Follow Path in 2D Grid and Extract Letters
Data Structures & AlgorithmsMedium

You're given a list of strings representing a 2D grid. The first character of the first string is the upper left side of coordinates(0,0). The grid always has the same size: Width = 15 (each string contains 15 characters) Height = 10 (10 strings in the list)

The grid contains a unique path, made of stars(*) and of lowercase letters. The path always starts at the coordinates(0,0) and does not contain any forks or loops. It moves in the four directions (up,down,right,left) but not diagonally. You must follow the path and record the letters in the order as you encounter them (do not record the stars). At the end of the path, output the string made with the letters. The path may immediately start with a letter and may end with a letter too. The path has a minimum length of two characters and contains at least one letter.

Q2
Two Suitcase Knapsack Problem
Data Structures & AlgorithmsHard

Finding the maximum combined weight of items that can be packed into two suitcases with given weight limits (w1 and w2)—you need to implement a variation of the 0/1 Knapsack problem, but with two knapsacks (suitcases).

Implement a method maxWeight(weights, w1, w2) which takes as input

  • an array of positive integers weights representing the weights of the items.
  • two integers w1 and w2 representing the maximum weight that can be put in suitcase 1 and suitcase 2 respectively. e.g weights=[10,8,3,8] w1=5, w2=17 Answer: 19
Apple | ICT3 | India | 2025 | Reject
apple logo
Apple
ICT3India
April 26, 20256 reads

Summary

I interviewed for an ICT3 role at Apple in India, completing six rounds covering technical skills in Spark, SQL, DSA, System Design, and React. Despite providing solutions for some problems, including a LeetCode problem with a twist, I received a generic rejection email.

Full Experience

I received a message from a linkedin recruiter . Recruiter was looking for people who have worked with Spark .

1. HM - hiring manager round focused on prior experience . 1 technical question . If you have an SQL query which is taking a lot of time . how will you debug . WHat all will you check i said location of the DB server . Check SQL plan . Check indexes.

2. HM- Another similar round focused on prior experience . 1 technical question . Why use columnar DBs over other database . What excites you to come to work everyday . 3. DSA round- similar to this https://leetcode.com/problems/remove-duplicates-from-sorted-array/description/ . with the twist that max K similar is allowed . 4. HM Another work experience round - Some questions on spark and alternatives . All work history rounds were in depth questions to check if you have really worked on them Questions like . What all alternatives were there . Why did you choose this . How does it help to scale etc etc . 5. Full stack round- I wasn't prepared for questions on react since haven't worked on it for 3 years . Frontend questions on react like use effect , hooks . Some of them went above my head :) . then a question . Given a function which returns a shallow copy of a object in json format . Take an oject as input and return a deep copy of the object . you can only use the function . DSA question - https://leetcode.com/problems/meeting-rooms-ii/description/ . I was seeing this for the first time . gave the correct solution using Priority Queue but then the interviewer said that the hours are fixed from 1 to 24 . Wasn't able to come up with the exact solution but came close . 6. System design round - How to scale an application from 100 to 1 million requests per second

No feedback . Generic rejection mail

Interview Questions (7)

Q1
Debugging Slow SQL Query
Other

If you have an SQL query which is taking a lot of time. How will you debug? What all will you check?

Q2
Columnar Databases vs. Row-Oriented Databases
Other

Why use columnar DBs over other database?

Q3
Motivation for Work
Behavioral

What excites you to come to work everyday?

Q4
Remove Duplicates from Sorted Array (K allowed)
Data Structures & AlgorithmsMedium

Similar to LeetCode's Remove Duplicates from Sorted Array, but with the twist that a maximum of K similar elements are allowed in the array.

Q5
Deep Copy Object using Shallow Copy Function
Other

Given a function which returns a shallow copy of an object in JSON format. Take an object as input and return a deep copy of the object. You can only use the given shallow copy function.

Q6
Meeting Rooms II with Fixed Hours
Data Structures & AlgorithmsMedium

The problem is Meeting Rooms II, but with the additional constraint that the hours are fixed from 1 to 24.

Q7
Scaling an Application from 100 to 1 Million RPS
System DesignHard

Design a system to scale an application from 100 requests per second to 1 million requests per second.

Apple Full stack engineer- java and react js
apple logo
Apple
Full Stack DeveloperHyderabad
April 11, 20254 reads

Summary

I underwent an interview process for a Full Stack Developer role at Apple's Hyderabad office, which included an online assessment and two 1.5-hour technical rounds. The interviews covered React.js for frontend and Java for backend, involving specific coding challenges on hierarchical data display and grouping anagrams. Despite my efforts, I received a rejection.

Full Experience

Hello guys,

Recently got shortlisted for a full stack developer position for Apple Hyderabad office. Here's how the interview went

Firstly, there is an online assesment on coderpad which needs to be done. The test has roughly 25 questions, a mix of MCQs and coding problems. It is very difficult to finish the test on time, and its okay if 2-3 questions get left out.

After that a recruiter will reach out to you to schedule interviews. I gave two interviews , each lasting for almost 1.5 hrs.

For frontend, I was given option whether I'd like react or angular questions and since I've been working on react lately, I opted for it.

The question was given a dataset of employees which have attributes as id, name, department and reportees which is a list of employees again, implement a file structure kind of system where on clicking one employee you must see it's data and reportees.

Did a basic working implementation of the same using functional components. Dont focus much on styling or css.

Follow up question to this was what if any employee has no reportees? Make sure to handle edge cases carefully.

Provided a working solution with all edge cases handled.

Second round was on same day for Java. Same coderpad setup which was for frontend round too to code.

Question was given an array of words determine which words are anagrams and return them

ex. I/P : ["bat", "tab", "eat", "tea"] O/P: [["bat","tab"],["eat","tea"]]

Did a brute force method approach first, then with a few hints optimized it by using hashmap where key is the word and value is 26 length integer of 1s and 0s representing the count of alphabets with a delimiter like # after count of every alphabet.

Missed out on edge case handling of blank sting in input. Couldn't complete an executable code. Interviewer also deep dived into time and space complexities of the appraoches and asked working of hashmap, what happens when there is collision, deep dived into red black trees and its concept.

Final verdict: Rejected, no feedback, just an auto generated email saying thanks(wtf?) Feeling really dejected

Interview Questions (2)

Q1
Employee File Structure with Reportees
Data Structures & AlgorithmsMedium

Given a dataset of employees which have attributes as id, name, department and reportees which is a list of employees again, implement a file structure kind of system where on clicking one employee you must see it's data and reportees. Follow up question to this was what if any employee has no reportees? Make sure to handle edge cases carefully.

Q2
Group Anagrams
Data Structures & AlgorithmsMedium

Given an array of words determine which words are anagrams and return them. Example: I/P : ["bat", "tab", "eat", "tea"], O/P: [["bat","tab"],["eat","tea"]].

Preparation Tips

I opted for React questions since I had been working on React lately.

Apple Interview Experience | L4 | SDE 2 | Hyderabad
apple logo
Apple
Java Backend Engineer SDE 2 L4Hyderabad
February 24, 202556 reads

Summary

I interviewed for a Java Backend Engineer SDE 2 L4 role at Apple in Hyderabad. The interview process involved multiple rounds covering Java fundamentals, Spring Boot, coding, multithreading, and system design, with a strong focus on real-world problem-solving and scalability.

Full Experience

My Apple Interview Experience - Java Backend Engineer

I recently interviewed for a Java Backend Engineer role at Apple and would like to share a detailed breakdown of my experience.

Round 1: Java, Spring Boot, and Coding

Java Fundamentals

  • I discussed why Java is platform-independent.
  • I compared Java with platform-dependent languages and explained the reasons for the difference.
  • I elaborated on the difference between ArrayList and Map.
  • I addressed why a Map cannot be used for all purposes.
  • I differentiated between Map and Set.
  • I detailed what inheritance is, along with its types and examples.
  • I explained the static keyword, its usage, and provided an example from my project.

Spring Boot Questions

  • I discussed the use of Beans in Spring.
  • I explained the differences between Java and Spring.
  • I articulated why we use Spring.
  • I provided explanations and examples for commonly used Spring Boot annotations.

Coding Questions

For each coding question, I presented two solutions and coded one when requested.

Round 2: Spring Boot, Multithreading, and System Design

Spring Boot Basics

  • I discussed where Spring Boot and Node.js run.
  • I identified which file is used for downloading dependencies (e.g., pom.xml for Maven).
  • I mentioned other available dependency management tools besides Maven.
  • I also answered additional Spring Boot questions, though I don't recall them in detail.

Multithreading Question

I was asked to implement a countdown timer.

System Design Question

I was presented with a scenario to design a robust system for a large-scale application.

Final Thoughts

The interviewers were very engaging and focused on practical, real-world problem-solving. It was clear that deep dives into Java fundamentals and Spring Boot were expected. The system design round emphasized scalability and effectively handling large-scale users.

Interview Questions (20)

Q1
Java Platform Independence
Other

Why is Java platform-independent?

Q2
Platform Dependent Languages
Other

Which languages are platform-dependent, and why?

Q3
ArrayList vs Map
Other

Difference between ArrayList and Map

Q4
Limitations of Map
Other

Why can’t we use a Map for all purposes?

Q5
Map vs Set
Other

Difference between Map and Set

Q6
Inheritance Types and Examples
Other

What is inheritance? Types of inheritance with examples.

Q7
Static Keyword Usage
Other

What is the static keyword? Where do we use it? Provide an example from your project.

Q8
Spring Beans Usage
Other

Why are Beans used in Spring?

Q9
Java vs Spring
Other

What is the difference between Java and Spring?

Q10
Reasons to use Spring
Other

Why do we use Spring?

Q11
Spring Boot Annotations
Other

Explain a few commonly used @Annotations with examples.

Q12
Merge Two Sorted Arrays
Data Structures & AlgorithmsMedium

Given two sorted arrays, merge them into a single sorted array.

Q13
Top K Frequent Elements
Data Structures & AlgorithmsMedium

Find the K most frequent elements in a given array.

Q14
Longest Common Prefix
Data Structures & AlgorithmsEasy

Find the longest common prefix string amongst an array of strings.

Q15
Maximum Trains at Station
Data Structures & AlgorithmsHard

Given n platforms and two main railway tracks (for both directions). Each train has three values: Arrival Time, Departure Time, Required Platform Number. Some trains stop at the station (require platforms), while others pass through the main tracks. Objective: Find the maximum number of trains that can be accommodated for stoppage.

Q16
Spring Boot vs Node.js Runtime
Other

Where does Spring Boot run? Where does Node.js run?

Q17
Dependency Download File
Other

Which file is used to download dependencies?

Q18
Other Dependency Management Tools
Other

Other than Maven, what dependency management tools are available?

Q19
Multithreaded Countdown Timer
Data Structures & AlgorithmsMedium

Given a file containing a time value in the format H:M:S, implement a countdown timer from that value to 00:00:00. The file may contain: Only H (Hours), Only M (Minutes), Only S (Seconds). Ensure the timer displays in HH:MM:SS format and updates every second.

Q20
Design a Scalable Subscription Form System
System DesignHard

Design a robust system for 'Women Who Code' to circulate a subscription form that needs to handle access from billions of people and process subscription fees, ensuring wide-scale usage and scalability.

Preparation Tips

My preparation involved focusing on core Java fundamentals, diving deep into Spring Boot concepts, understanding multithreading principles, and practicing system design for scalable architectures. These areas were crucial for tackling the real-world problem-solving scenarios presented during the interview.

Apple | Senior Software Engineer (ICT3) | Offer accepted
apple logo
Apple
Senior Software Engineer (ICT3)Offer
September 13, 202456 reads

Summary

I successfully navigated multiple interview rounds for a Senior Software Engineer (ICT3) position at Apple, including comprehensive coding, system design, and behavioral assessments across two separate interview cycles in 2022 and 2024, ultimately receiving and accepting an offer.

Full Experience

How My Profile Got Shortlisted:

Applying on the career site: It's commonly believed that just applying on a company's career portal isn't very effective. Surprisingly, this was not the case for me with Apple. Although I reached out to people on LinkedIn for referrals, I also applied for multiple positions on Apple's job portal without asking for a referral, and I still received interview calls. What's even better is that Apple allows candidates to be interviewed for multiple positions simultaneously, which was my experience in 2024.

Referral: That said, being referred significantly increases the chances of getting shortlisted. If you don't know someone within the company, reaching out on LinkedIn can definitely help.

Interview Questions (2022 Cycle):

Due to NDA, some questions are slightly modified.

  1. Online HackerRank assessment: I faced two easy-medium questions with a time limit of 45 minutes.
  2. DSA round: I was asked to create a phone directory where, given a phone number, I had to return the name (and vice versa). I initially considered a Trie, but a simple two-hashmap approach worked just fine.
  3. Systems design round: This was probably the most challenging and interesting round. Instead of a standard problem, the interviewer picked one of my past projects and asked me to design a payment system that would work even if the internet was unavailable. The focus was on security, distributed authority, and avoiding a single source of truth. We ended up discussing various blockchain concepts.
  4. Hiring manager round: The HM first asked me to explain how I would crawl URLs from a webpage and build a map of URLs to HTML pages using BFS. Then, they asked a few behavioral questions about challenges I've faced at work and disagreements with leadership.
  5. Leadership round: This was more of a discussion about the company's vision, conducted by a skip-level manager.

Interview Questions (2024 Cycle - for several positions simultaneously):

  1. Online HackerRank assessment: The format was the same as in 2022, with two medium-level questions.
  2. Coding round: This round was quite diverse.
    1. In an open-ended question, I was asked to design a system that listens to messages related to various events (e.g., movie releases, sports events) from a data source. Each event type had different structures, so I had to decide on a flexible message format like JSON. The challenge was to design an efficient in-memory storage solution for real-time queries and aggregations, such as retrieving the next upcoming movie or the score of an ongoing match. The focus was on creating optimal data structures and ensuring quick, scalable access to the stored information.
    2. Longest common prefix: I initially used a Trie, but the interviewer asked for an alternate approach, so I switched to iterating through the array character by character.
    3. Reverse linked list within a range
    4. Depth of a binary tree
    5. Design snake game
    6. I was asked to build a React web page to display GDP data. Even though I hadn't worked with React before, I was allowed to Google during the interview to demonstrate my adaptability.
    7. SQL-related questions were asked, including querying top employees with the highest salary from each department.
    8. Optimizing Java code for summing integers:
      LinkedList<Integer> list;
      Long sum = 0;
      for (int i = 0; i < list.size(); ++i) {
          Long value = list.get(i); 
          sum += value;
      }
      

      My suggested optimizations were:

      • Avoid using Long (Object) instead of long (primitive) to prevent memory issues.
      • Use Iterator or switch to ArrayList for better performance with get(index) in LinkedList.
  3. Systems design: This round had multiple distinct problems.
    1. Design an online block diagram maker app, including real-time updates for multiple users and infinite canvas size management.
    2. Design a system for managing asset prices, where changes in the price of one asset (e.g., Asset-A) would trigger changes in related assets (e.g., Asset-B, Asset-C) based on predefined relationships. The problem was modeled as a Directed Acyclic Graph (DAG) with weighted edges representing the price change dependencies. My task was to ensure that when a price change occurred, the system would efficiently propagate the updates across the dependent assets while maintaining low latency and consistency, similar to stock trading platforms.
    3. Develop an app similar to DigiYatra.
    4. We discussed concepts like Kafka vs. SQS, microservices architecture, circuit breakers, and quorum.
  4. HM round: This was similar to the 2022 round, focusing on my past projects and behavioral aspects.

Offer:

The entire process took me 1–1.5 months. Apple's offer may not have the highest cash component, but I found the stock component to be very attractive. In my opinion, the culture, perks, and stock performance make it a great offer, which I happily accepted.

Interview Questions (21)

Q1
Validate Parentheses
Data Structures & AlgorithmsEasy

Given a string s containing just the characters '(', ')', '{', '}', '[' and ']', determine if the input string is valid. An input string is valid if: Open brackets must be closed by the same type of brackets. Open brackets must be closed in the correct order. Every close bracket has a corresponding open bracket of the same type.

Q2
Trapping Rain Water
Data Structures & AlgorithmsHard

Given n non-negative integers representing an elevation map where the width of each bar is 1, compute how much water it can trap after raining.

Q3
Phone Directory System
Data Structures & Algorithms

Design and implement a phone directory system where, given a phone number, you return the corresponding name, and vice versa. The system should support bidirectional lookups.

Q4
Offline Payment System Design
System Design

Design a payment system that can function reliably even when internet connectivity is unavailable. Key considerations included security, distributed authority, and avoiding a single source of truth. We discussed concepts related to blockchain.

Q5
Web Crawler Design with BFS
Data Structures & Algorithms

Explain how I would crawl URLs from a webpage and build a map of URLs to their corresponding HTML content, utilizing a Breadth-First Search (BFS) approach.

Q6
Behavioral Questions: Workplace Challenges & Leadership Disagreements
Behavioral

I was asked behavioral questions covering my experiences with challenges encountered at work and how I handled disagreements with leadership.

Q7
House Robber II (Circular Array Modification)
Data Structures & AlgorithmsMedium

You are a professional robber planning to rob houses along a street. Each house has a certain amount of money stashed. All houses are arranged in a circle. That means the first house is the neighbor of the last one. Meanwhile, adjacent houses have security systems connected, and it will automatically contact the police if two adjacent houses were broken into on the same night. This problem was given with modifications: 'toys and fun units' instead of 'houses and money' in a circular array setup.

Q8
Remove All Adjacent Duplicates In String
Data Structures & AlgorithmsEasy

You are given a string s. A duplicate removal consists of choosing two adjacent and equal letters from s and removing them. We repeatedly make duplicate removals until we no longer can. Return the final string after all such duplicate removals have been made.

Q9
Real-time Event Messaging and Query System
System Design

Design a system that listens to messages from a data source related to various events (e.g., movie releases, sports events). Event types have different structures, requiring a flexible message format like JSON. The challenge is to design an efficient in-memory storage solution for real-time queries and aggregations, such as retrieving the next upcoming movie or the score of an ongoing match. Focus on creating optimal data structures and ensuring quick, scalable access to the stored information.

Q10
Longest Common Prefix
Data Structures & AlgorithmsEasy

Write a function to find the longest common prefix string amongst an array of strings. If there is no common prefix, return an empty string "".

Q11
Reverse Linked List II
Data Structures & AlgorithmsMedium

Given the head of a singly linked list and two integers left and right where left <= right, reverse the nodes of the list from position left to position right, and return the reversed list.

Q12
Maximum Depth of Binary Tree
Data Structures & AlgorithmsEasy

Given the root of a binary tree, return its maximum depth. A binary tree's maximum depth is the number of nodes along the longest path from the root node down to the farthest leaf node.

Q13
Design Snake Game
System DesignMedium

Design a Snake game that is played on a width x height grid. The snake initially occupies the top left corner (0,0) and its length is 1. When a piece of food is eaten, the snake's length increases by 1. Design a SnakeGame class.

Q14
React Web Page for GDP Data Display
Other

Build a React web page to display GDP data. This was an open-ended front-end development task where I was allowed to use Google, demonstrating adaptability, even though I hadn't worked with React previously.

Q15
SQL Query: Top Employees by Salary per Department
Other

I was asked SQL-related questions, specifically how to query the top employees with the highest salary from each department.

Q16
Optimizing Java Summation of LinkedList Integers
Other

Given a Java code snippet for summing integers in a LinkedList<Integer>, identify and suggest optimizations to improve performance and prevent potential memory issues. The original code was:

LinkedList<Integer> list;
Long sum = 0;
for (int i = 0; i < list.size(); ++i) {
Long value = list.get(i);
sum += value;
}

Q17
Online Block Diagram Maker App Design
System Design

Design an online application for creating block diagrams. The system should support real-time updates for multiple concurrent users and manage an 'infinite' canvas size efficiently.

Q18
Real-time Asset Price Propagation System Design (DAG)
System Design

Design a system for managing and propagating asset price changes. Changes in one asset's price should trigger updates in related assets based on predefined, weighted dependency relationships modeled as a Directed Acyclic Graph (DAG). The system must efficiently propagate updates across dependent assets with low latency and consistency, similar to a stock trading platform.

Q19
Design a DigiYatra-like Application
System Design

Develop the system design for an application similar to DigiYatra, which focuses on providing a seamless, paperless travel experience using facial recognition technology.

Q20
Distributed Systems Concepts: Kafka vs. SQS, Microservices, Circuit Breakers, Quorum
System Design

I was asked to discuss and compare various distributed systems concepts, including Kafka vs. SQS, microservices architecture, circuit breakers, and quorum.

Q21
Behavioral Questions & Past Projects Discussion
Behavioral

This hiring manager round focused on discussions about my past projects and various behavioral questions, similar to the 2022 hiring manager round.

Preparation Tips

For my preparation, I utilized various resources and methods. I specifically found a Google interview experience blog post helpful for detailing my study approach, which you can find here: Google interview experience blog.

Apple | Language Engineer | Barcelona | 11/2023-01/2024 [Reject]
apple logo
Apple
AI/ML - Language EngineerBarcelona6 yearsRejected
January 15, 202423 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.

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)
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'.

Interview Questions (9)

Q1
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?

Q2
Dynamic vs. Static Libraries
Other

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

Q3
DFS vs. BFS
Data Structures & Algorithms

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

Q4
DevOps Concepts and Experience
Other

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

Q5
Git Rebase vs. Git Merge
Other

What is the difference between git rebase and git merge?

Q6
Investigating Breaking Changes in Git
Other

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

Q7
Favorite Git Command
Other

What is your favorite git command? Why?

Q8
Contains Duplicate
Data Structures & AlgorithmsEasy

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.

Q9
One Edit Distance
Data Structures & AlgorithmsMedium

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

Apple Emdedded SWE interview
apple logo
Apple
embedded software engineermunich1 yearsRejected
July 27, 202353 reads

Summary

I interviewed for an Embedded Software Engineer role at Apple Munich, completing a hiring manager round and a technical coding round. Although I successfully passed the first stage, I was ultimately rejected after the second, less communicative technical interview.

Full Experience

I recently went through the interview process for an Embedded Software Engineer position at Apple Munich. Having over 1 year of experience, I applied through their careers portal and received an invitation for a hiring manager round approximately two weeks later.

Hiring Manager Round (Virtual)

This was a very pleasant and engaging 45-minute virtual interview. The manager started by explaining his team's role, the process, and the next steps. The interview was divided into technical and non-technical questions. We began with the technical segment:
  • Semaphore vs. Mutex?
  • Difference layers of 4G and 5G, how do they differ? What's new in 5G?
  • Carrier aggregation concept and which layer does it affect?
  • Explain all layers in detail.
  • What is the main role of the RLC layer?
  • Other general communication engineering questions.
There was no live coding in this round.

For the non-technical questions, I was asked:

  • When can you start?
  • Explain a bad situation with your team members and how you resolved it.
  • Explain a mistake you made at work and how you fixed it.
And so on. The manager was very nice and communicative, ensuring I was comfortable throughout the entire interview. I was selected to proceed after this round.

Second Interview (The challenging part, 1 hour)

For a role in Munich, this interview was conducted by someone from the US. The interviewer seemed less friendly and immediately started with in-depth questions about semaphore vs. mutex and other OS concepts, without any introduction.

He then moved to a Coderpad session:

  • Implement a linked list, insert at head, and then reverse it. I honestly didn't expect such a question for an embedded role at Apple, but I tried my best, although I didn't fully meet his expectations.
  • The second question was more straightforward and expected: bit manipulation, specifically setting and getting bits.
During this Coderpad round, the interviewer was often preoccupied with other tasks and did not communicate much, which I felt could have been handled better by both sides.

Two weeks later, I received the rejection mail.

Interview Questions (8)

Q1
Semaphore vs. Mutex
Other

Explain the differences between a Semaphore and a Mutex.

Q2
4G vs. 5G Layers and Features
Other

Discuss the differences in communication layers between 4G and 5G, how they differ, and what new features 5G introduces.

Q3
Carrier Aggregation Concept
Other

Explain the concept of carrier aggregation and identify which communication layer it affects.

Q4
RLC Layer Role
Other

Describe the main role of the Radio Link Control (RLC) layer in communication systems.

Q5
Team Conflict Resolution
Behavioral

Describe a difficult situation you experienced with team members and how you successfully resolved it.

Q6
Handling Work Mistakes
Behavioral

Share an experience where you made a mistake at work and explain the steps you took to fix it.

Q7
Implement and Reverse Singly Linked List
Data Structures & AlgorithmsMedium

Implement a singly linked list, including an operation to insert a node at the head, and then reverse the entire linked list.

Q8
Bit Manipulation: Set and Get Bits
Data Structures & AlgorithmsEasy

Implement basic bit manipulation functions to set a specific bit to 1 and get the value of a specific bit (0 or 1) within an integer.

Apple onsite
apple logo
Apple
No Offer
October 5, 202244 reads

Summary

I recently completed an onsite interview at Apple, which included two specific LeetCode problems and discussions on computer science fundamentals. Although I ultimately received an offer from Google, my experience at Apple was valuable.

Full Experience

During my onsite interview at Apple, I was presented with two coding challenges: Course Schedule (LeetCode 207) and Pacific Atlantic Water Flow (LeetCode 417). Beyond the coding, a significant portion of the interview involved in-depth discussions on core computer science fundamentals and various debugging methodologies. While I ultimately accepted an offer from Google, I gained valuable insights into Apple's technical interviewing process through this experience.

Interview Questions (2)

Q1
Course Schedule
Data Structures & AlgorithmsMedium

There are a total of numCourses courses you have to take, labeled from 0 to numCourses - 1. You are given an array prerequisites where prerequisites[i] = [ai, bi] indicates that you must take course bi first if you want to take course ai. For example, the pair [0, 1] indicates that you have to take course 1 before course 0. Return true if you can finish all courses. Otherwise, return false.

Q2
Pacific Atlantic Water Flow
Data Structures & AlgorithmsMedium

Given an m x n integer matrix heights representing the height of each unit cell in a continent, your task is to find a list of grid coordinates (row, col) where water can flow to both the Pacific and Atlantic oceans. Water can flow from a cell to an adjacent cell if the adjacent cell has a height less than or equal to the current cell's height. Both the Pacific and Atlantic oceans touch the border of the continent.

Have a Apple Interview Experience to Share?

Help other candidates by sharing your interview experience. Your insights could make the difference for someone preparing for their dream job at Apple.