apple logo
Apple· Software Engineer

Apple | IS&T | SWE | Hyd | Backend

Location
Hyderabad
Experience
5.9 years
Posted
13 Jun 2025
753 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.

How it went

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

Questions asked (24)

  1. 01

    Trapping Rain Water

    Data Structures & Algorithms · Hard

    Solve the 'Trapping Rain Water' problem.

  2. 02

    Default Method in Interface

    Other

    Explain default methods in Java interfaces.

  3. 03

    Spring MVC vs Spring Boot

    Other

    Differentiate between Spring MVC and Spring Boot.

  4. 04

    Comparator vs Comparable

    Other

    Explain the difference between Comparator and Comparable interfaces in Java.

  5. 05

    CAP Theorem

    System Design

    Explain the CAP theorem.

  6. 06

    Lambda Expressions

    Other

    Explain Lambda expressions in Java.

  7. 07

    Microservices Resiliency

    System Design

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

  8. 08

    Factory Design Pattern

    Other

    Explain the Factory design pattern with an example.

  9. 09

    Design BookMyShow

    System Design · Hard

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

  10. 10

    BeanFactory vs ApplicationContext

    Other

    Differentiate between BeanFactory and ApplicationContext in Spring.

  11. 11

    Concurrent Collections (ConcurrentHashMap)

    Other

    Discuss concurrent collections. I explained ConcurrentHashMap.

  12. 12

    What is a Future?

    Other

    Explain what a Future is in Java.

  13. 13

    Behavioral: Innovation

    Behavioral

    Tell me a time when you innovated.

  14. 14

    Behavioral: Disagreement with Peer

    Behavioral

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

  15. 15

    Behavioral: Delivering in Short Time

    Behavioral

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

  16. 16

    Behavioral: New Technology Adoption

    Behavioral

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

  17. 17

    Create an Immutable Class

    Other · Medium

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

  18. 18

    Design TinyURL

    System Design · Medium

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

  19. 19

    K Most Frequent Elements

    Data Structures & Algorithms · Medium

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

  20. 20

    Implement LRU Cache

    Data Structures & Algorithms · Medium

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

  21. 21

    Make LRU Cache Thread-Safe

    Data Structures & Algorithms · Hard

    Make the implemented LRU Cache code thread safe.

  22. 22

    Time/Space Complexity of LRU Cache

    Data Structures & Algorithms

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

  23. 23

    String intern()

    Other

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

  24. 24

    Override equals() and hashCode()

    Other

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

How they prepared

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.

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!