Software Engineer (ICT3)
Interview Date
December 2021
Result
Offer
Difficulty
Medium to Hard
Rounds
4 interviews (each 1 hour)
Drive Type
Full-Time
Topics asked
Detailed experience
College: Not Specified
Interview Date: December 2021
Interview Type: Full-Time
Result: Offer
Difficulty: Medium to Hard
Rounds: 4 interviews (each 1 hour)
Topics Asked: Java, Data Structures, Algorithms (Meeting Rooms II, Median of Two Sorted Arrays, First Last Pos of Element in Sorted Array, Path Finding (DFS), Reverse Linked List, Reverse Nodes in K Group), HTML/JS (Checkerboard), Object-Oriented Programming
The candidate interviewed for the UMC team at Apple. There were four 1-hour interviews with an hour break after the first two.
Interview 1: Coding w/ Manager + Engineer
The first question was a Java question: given a base class (library) and another class extending it, the candidate was asked if there was anything "odd" about the extending class. The second question was similar to Meeting Rooms II: build a method `bookApi(int id, int startTime, int endTime)` that returns a boolean indicating if a room with `id` can be booked at the given timeslot. The candidate rated this round as "no hire" due to the manager's demeanor.
Interview 2: Coding with another manager and engineer
The first question was Median of Two Sorted Arrays. The candidate provided the O(m+n) approach but couldn't quite get the optimal approach. The second question was Java-related: implement `hasNext()` and `next()` for a `MovieIterator` class. The candidate rated this round as "soft hire but leading to no hire."
Interview 3: Coding with two engineers
The first question was to create a checkerboard in HTML/JS. The candidate was rusty but got a working solution. The second question was an extension of First Last Pos of Element in Sorted Array, but instead of first and last index, the output should be the number of occurrences of the element. The candidate rated this round as "soft hire."
Interview 4: Coding with two engineers
The first question was a pathfinding problem: given a list of obstacles, a 2D grid, start, and end points, return true if a path exists. The follow-up was to return the actual path. The candidate used a simple DFS, and the interviewer was satisfied. The second question was Reverse Linked List as a "freebee," followed by Reverse Nodes in K Group. The candidate used the recursive method and was not asked to optimize for space. The candidate rated this round as a "strong hire."
Overall, the candidate felt it was a good experience for improving interviewing skills.