Timeline
Online Assessment
The online assessment wasn't too hard. If you prepared well, you should be able to clear the problems pretty quickly. I took the assessment on AMCAT, so if you got comfortable solving problems on Leetcode this shouldn't be too foreign to you. They gave two problems and I had to complete them in 90 minutes. I would recommend doing a small test run on AMCAT before starting the assessment because some of the buttons are in odd places. The test run link should be given by the recruiter.
Question 1 - Minimum Cost To Connect Sticks Medium | The problem wasn't worded the same but the problem itself is the same. The problem statement talked about files instead of sticks. The problem can easily be solved using min heaps.
Question 2 - Shortest Path in a Binary Matrix Medium | Same as the problem above, it wasn't worded the same. Instead of being able to move in 8 directions you only have 4 and instead of going to the end of the matrix, you had a specific target to hit. Solved the problem using a breadth-first search approach.
Virtual Onsite
Coding Interview 1 / Bar Raiser - They started me off with several Leadership Principle questions. I couldn't find a problem like it on Leetcode but the problem I was presented with was an object-orientated problem where I create a data structure to manage the weekly working hours of many Starbucks in a similar fashion to how Google deals with weekly times of stores on their search. Also, I was asked to create functions to add a new store with their times, close stores using a specific date range, and handle special days such as holidays.
Coding Interview 2 - Again, they started me off with several Leadership Principle questions before moving on to the coding problem and then more Leadership Principle questions. The coding question was Number of Islands with a follow up of Number of Distinct Islands.
Hour Break
Leadership Principle / Behavioural Interview - This was an interview with the hiring manager. Ran through 8-9 Leadership Principle questions before I got the chance to talk about the position and questions I had.
Coding Interview 3 - Once again, I was started off with several Leadership Principle questions before moving on to the coding question. The problem was the LRU Cache, I had to solve the problem using no extra libraries. Since I was using Python, I couldn't solve the problem using OrderDict from collections.
Differences Between Google and Amazon Virtual Onsite interviews
In terms of interview-style, Google has more of an academic approach to problem-solving compared to Amazon. It seems like Google really cares about the way you think and how you approach the problem. Amazon on the other hand seems to care about how you align to the company's core principles e.g. their Leadership Principle . The Bar Raiser of Amazon interviews is where they really test your ability to code and problem solve.
In regards to time, Google gives you 45 minutes per interview while Amazon gives you 60 minutes. The reason for more time on Amazon's part is that they're going to drill you with Leadership Principle Questions.
For Google interviews, you'll be using Google Hangouts and for Amazon, you'll be using Amazon Chime.
What you'll be coding on is on Amazon Online IDE. So you'll be getting syntax highlighting but I can't recall if you'll get autocomplete. For Google on the other hand, you'll be coding on Google Docs. Amazon feels way more natural compared to Google in the coding department.
Leadership Principles
Amazon is very big on its Leadership Principles during the interview. For me, that's where I failed and what cost me an offer. I did fine and was able to solve all the coding problems given relatively quickly but when it came to the Leadership Principles I didn't convey myself as well as I hoped. They knew I knew what I was talking about but I didn't provide enough background for my story and could have done a better job of tying stories back to their principles. So before going into Amazon's interview, pepare your stories and memorize those Leadership Principles. I'm going to list a few resources below to help better prepare yourself for those questions.
Best of Luck 🌈🌟