Apple Interview Experience

apple logo
apple
· Hyderabad
April 14, 2026 · 1 reads

Summary

I went through multiple interview rounds at Apple, cleared the initial technical rounds but ultimately received a non‑hire verdict.

Full Experience

Applied via portal. Got OA link: Did not remember the format, solved both problems

Phase 1 of interviews:

Interview 1: Explained about IS & T team

  1. Leetcode medium question
  2. class LongIterator implements Iterator {long val = 0; long max = 1000000; public boolean hasNext() {return val < max;} public long next() {return ++val;}} Write a driver funtion to calculate all values sum. Now parallellize it to calculate using two threads. I used CompletableFuture, AtomicLong and ExecutorService, interviewer seems happy with this.
  3. If after deployment your service goes down every 2 hours, what will you do.
  4. SOLID principles.
  5. Some basic questions on spring, like MVC vs Boot, IoC... also why ExecutorService, why not threads...

Interview 2:

  1. Deep discussion around my projects in resume
  2. HLD of rate limitter, with some basic coding of the algoriths, where to fit this, when considering distributed env of API gateway, how to handle cache, and what to do if cache goes down, partioning, and static configs for rate limitting vs dynamic configs, how can we achieve this.

Both interviewers seems technically very good, enjoyed the conversation.

Verdict: cleared.

Next: 3 more rounds in person on Hyderabad office.

Coding + Java

  • Given two employees, you need to merge them into single DS, which DS to use and why. I used HashSet and explained how hashset works internally and how writing equals and hashcode will help in identifying the unique elements. Also while creating the hashset a comparator. interviewer said you could have used addAll, I wrote a for loop Questions asked if i have used auth> - No here 4 threads producing cars parallelly, they need to place them in a warehouse, warehouse has slots. in each slot, only one can be placed. write code for this, I used executorservice for this purpose to produce and place car in slots, and each ReentrantLock for each slot. whoever gets the lock, will place the car. Interviewer feedback: could have implemented runnable for car producers directly. What all types of objects will ExecutorService will expect - Callable and Runnable. Mentioned, SpringBoot is in learning stage for me, so no more deep dive questions on this. Let's say you are designing a cofee vending machine and you have steps to execute, pour milk, add sugar, add water, ..... finally coffee is made, which design principle you use, and code for it. If I want to replace sugar with coffee, it should be done easily. I coded for this in two ways, not sure on the names, interviewer still needed exact design it seems.

High level Design round: Deep discussion on my projects, interviewer seems technically sound, wanted me to design a backup system, keeping in mind

  1. Data Integrity.
  2. scalable
  3. Multi region replication
  4. Observability
  5. Reseliency

Had a good discussion on each and every point I made in the interview.

Hiring Manager round: started with small questions like Tell me about your self, what is the technical disagrement that you and your peer had on? what is the one disagreement that you and your manager has, how did you handle this. Java21 questions, I was unaware of (virtual threads, how they are represented, how they are different from regular threads..) mentione I am not fully familiar with java21 ReactiveProgramming experience: none worked on rest apis? yes OAuth and JWT Why Apple, what made you excite when you read the JD. Questios on my projects, ever worked with team in non indian hours as well, are you fixated on location or open to relocation This work we do here is different than the work that you do at your current org, is that okay?

Verdict: No hire (probably) no response from recruiter after interviews, from my end All interviews seems went well.

Interview Questions (7)

1.

Sum Iterator Parallelization

Data Structures & Algorithms·Medium

Given the class LongIterator implements Iterator { long val = 0; long max = 1000000; public boolean hasNext() {return val < max;} public long next() {return ++val;} }, write a driver function to calculate the sum of all values. Then parallelize the calculation using two threads (the candidate used CompletableFuture, AtomicLong and ExecutorService).

2.

Service Downtime Mitigation

System Design

If after deployment your service goes down every 2 hours, what will you do?

3.

Merge Two Employee Objects

Data Structures & Algorithms·Medium

Given two employee objects, you need to merge them into a single data structure. Which data structure would you choose and why? The candidate used a HashSet, explained equals/hashCode, and used a comparator.

4.

Parallel Car Production & Warehouse Slot Placement

Data Structures & Algorithms·Medium

Four threads produce cars in parallel and need to place them into a warehouse that has slots, where only one car can occupy a slot at a time. Write code for this scenario.

5.

Coffee Vending Machine Design

System Design

Design a coffee vending machine with steps such as pour milk, add sugar, add water, etc., and finally make coffee. Which design principle would you use to allow easy replacement of steps (e.g., replace sugar with coffee)?

6.

Rate Limiter High‑Level Design

System Design·Hard

Provide a high‑level design of a rate limiter, including basic coding of the algorithm, placement in a distributed API gateway, handling cache failures, partitioning, and static vs dynamic configurations.

7.

Backup System Design

System Design·Hard

Design a backup system that ensures data integrity, scalability, multi‑region replication, observability, and resiliency.

📣 Found this helpful? Please share it with friends who are preparing for interviews!

Discussion (0)

Share your thoughts and ask questions

Join the Discussion

Sign in with Google to share your thoughts and ask questions

No comments yet

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