Open In App

Apple Interview Experience for Software Developer 2020

Last Updated : 21 Apr, 2021
Improve
Improve
Like Article
Like
Save
Share
Report

Background: 

I’m a Microsoft Software Engineer at Microsoft. I work in the field of Azure Psychological Services and I absolutely love my job. I have 9 years of development experience and 3 years of Sys manager experience. I have worked on many groups and products. I started my development career as a device designer at Intel, moved to SQL server at Microsoft (I didn’t like it), went to Content Management Services, and then went to Cognitive Services (AI). I also had a brief stay in Lyft (7 months. I hate it.)

Apple

  • Phone Screen: I went to Apple through Triplebyte and skipped the Phone interview.

Onsite(Video Conference):

Round 1: 

  • Given a Tic Tac Toe board, verify if a player has won the game. The question was a little vague but not difficult. I solved it easily.

Round 2: 

  • You are given a grid with random characters. You are also provided with a dictionary. You need to find all the words you can build on the board. Words may appear more frequently. You can go up, down left, and right on the board. Return a dictionary with words as key and plural as a number. This was a combination of coding and design questions. I was asked to write a Pseudocode and design an API. This question was confusing, difficult, and continued to change as the conversation progressed.
  • I solved it by creating Trie in the dictionary and started DFS on all the letters in the grid.

Round 3: 

  • This was a very interesting discussion. It was not a non-technical round. This discussion was hosted by the Prime Minister. He told me what the Prime Minister did at Apple. He then gave me a guess project. He asked me to include ratings of rotten tomatoes in response to Siri’s video. This was a vague requirement as you can find. He asked me how I was going to handle such a task.
  • I talked about clarifying needs, came up with a performance description, telemtry to measure project success, and discussed day-to-day details in the development phase. We discussed stakeholder engagement, top-down, stakeholder engagement, conflict resolution, and expectations management.
  • 5-10 minutes ago, you asked about a fantasy project I would like to do. I discussed digital input scent and touch.

Round 4: 

  • This was a technical cycle. I had to use a dictionary. This was a vague question, and we discussed various issues such as hashing performance, conflict resolution, loading feature, and dictionary extension when it is overcrowded. I used a standard dictionary in C # using Lists.
  • His last question was about a feature I would like to use in a hackathon. I suggested that the maps for each turn should not provide direction to known routes.

Round 5: 

  • Use the IsPalidrome function. You actually used the code for a few inputs. There were many edge cases but how difficult can IsPalindrome be? He then asked me to do a rope-taking job such as installing and retrieving points depending on how different you are from the Palindrome. This was a vague question and I interpreted how often it would take to install and remove the cable concealment in Palindrome. I suggested a DP solution. The interviewer was not sure if it would work but did not know if it would work. I have made several variations of this issue.

Round 6:

  • This round was with the manager. We talked about leadership, projects, the team’s charter, Apple’s culture, tech stack, compensation, career growth, and many other things. This round was about me interviewing the team and company.

Thoughts:

  • I was very impressed with Apple’s interview process. The focus was not on any platform queries but on overall Software development. The team was different and very fun. I stumbled a bit on the dictionary question but some rounds went very well. The interview gave me the opportunity to showcase the skills I had developed from experience. Normal software development does not mean decryption. It is about what problems you need to solve, why you want to solve that problem, and how you know you have successfully solved the problem. You just go to the code section and answer these questions satisfactorily.

I was given a positing a few days later. I said yes right there because I really enjoyed the conversation.


Like Article
Suggest improvement
Previous
Next
Share your thoughts in the comments

Similar Reads