Taro Logo

Senior Software Engineer Interview Experience - Cupertino, California

February 1, 2020
Neutral ExperienceNo Offer

Process

Open position in Search team.

Had two telephonic coding rounds before being called for an onsite interview.

  • 1st telephonic round: The coding question was like Tree Serialize and Deserialize. A follow-up question was about whether the serialized string output could be further compressed (which I didn’t have much time to address).
  • Then, I received an email from the recruiter stating they wanted to have one more telephonic online coding round.
  • 2nd round: The coding problem asked was the 3Sum problem with the target equal to 0. The follow-up was to find all possible combinations of subsets that equal the target sum.

Later the next day, I got an email from the recruiter saying the team wanted to move forward with an onsite interview.

All communication regarding scheduling or any updates was done via email. The recruiter did not call to inform or have even the initial introductory call.

The onsite interview email did not have any details apart from the location and the from and to times, and the HR contact name.

During the onsite interview, each person who interviewed gave a coding question:

  • 1st round: With an Engineer, the question was like, "How will you identify performance problems in a Java application?" and one coding question.
  • 2nd round: With an Engineer, the coding question was like, "Given k sorted lists, get the top n elements based on search score" (like merge k sorted lists and select top n elements).
  • 3rd round: With the Head of the team, some general questions were asked, and then a couple of questions like DFS coding and how to generate synonyms for a search query. This question was very vague; the basic idea was to look at the log or user interactions within a given user session time (say, 10 seconds) and use that information to generate synonyms.
  • 4th round (lunch): With the entire team. It felt like they were trying to assess if the potential candidate fits the team dynamic.
  • 5th round: With the Hiring Manager, general information about the company and team, praising the company, and informing the potential candidate that it’s not a 9-5 job. Later, a coding question like "sort 3 unique numbers" (hint: 2 pointers) was asked.
  • 6th round: With an Engineer, a coding problem like a k-dimensional tree or point problem was asked. I'm not able to recollect it fully.
  • 7th round: With an Engineer, the employee org chart problem started to be explained. The question involved data structures and logic to color profiles: if an employee views their manager (direct or indirect, like skip-level), the profile should be colored red; if a manager views their direct or indirect reportee, the profile color should be green; otherwise, for other cases, blue. The task was to code the data preprocessing and other logic.

Next couple of days later, I got an email from the recruiter informing me about the team passing.

Questions

Tree serialization and deserialization follow up: compress serialized string output.

3Sum problem with target sum zero and follow up: find all subset combinations which equal the target sum zero.

Merge k sorted lists and find top N elements based on search scores.

Was this helpful?

Interview Statistics

The following metrics were computed from 40 interview experiences for the Apple Senior Software Engineer role in Cupertino, California.

Success Rate

28%
Pass Rate

Apple's interview process for their Senior Software Engineer roles in Cupertino, California is very selective, failing most engineers who go through it.

Experience Rating

Positive43%
Neutral33%
Negative25%

Candidates reported having good feelings for Apple's Senior Software Engineer interview process in Cupertino, California.

Apple Work Experiences