Navigating the Amazon: A Journey Through the AWS Interview Process
In the ever-evolving and dynamic world of technology, employment opportunities with industry giants like Amazon Web Services (AWS) are highly sought-after by professionals seeking stimulating challenges and growth. The question that often arises is whether it’s truly worth it and how complex the interview process is. In this article, I’ll share the details of my interview experience with Amazon AWS, from preparation to the interview process itself, along with the lessons and tips I learned during that month-long journey.
My selection process began with a LinkedIn message, a common approach used by many companies. In my case, I hadn’t applied for any position, so it seemed like a stroke of luck that they came across my profile. After expressing interest, I received instructions via email for an initial coding test.
Test 1 — Amazon Online Assessment on Codility
For this first test, I didn’t engage in any specific preparation. Instead, I waited for a time when I could be free from distractions (I recall it was a Saturday morning). I had 45 minutes to solve three problems. The platform used was Codility, and the problems were easy/medium difficulty kind.
In my case the problems were as follows:
- Bulb Switcher
- A variation of Number of Steps to Reduce a Number to Zero using huge binary numbers (string format)
- A problem related to counting the amount of elements after removing consecutive elements from a list
- Use the programming language you’re most comfortable with; there’s no specific language requirement.
- Set up a workspace to test your solutions.
- Divide your time evenly among the three exercises.
- Utilize platforms like LetCode to prepare.
Test 2 — Data Structures and Algorithms
After a few days, I received an invitation for a second coding test, conducted live with an AWS developer. This assessment primarily evaluated knowledge of data structures and algorithms. A problem was presented, and the task was to select an appropriate data structure to solve it. The solution didn’t need to be compiled; pseudocode sufficed. Then they present a new problem related with the first one. I remember using a Trie to solve both problems.
- Think aloud during your thought process.
- Explain the reasoning behind your decisions.
- Always consider the algorithm’s complexity.
- Study data structures and algorithms (I recommend you this book).
Test 3 — Virtual Onsite
Following the previous test, I received an email a few days later, inviting me to a series of interviews. Due to COVID-19, the entire process was conducted online. Amazon’s proprietary tool, Amazon Chime, was used for these interviews.
Link for remote preparation: Virtual Interview Prep
This stage involved a set of interviews, each lasting approximately 45 minutes to an hour, resulting in a 5–6 hour process (One hour break).
- System Design Interview: Focused purely on architecture, in my case was the design of a highly scalable resource management system. Questions primarily centered around performance and scalability.
- Live Coding Interview: Another live coding challenge, with a two Amazon engineers. The problem was: Median of Two Sorted Arrays. I solved the problem but I did not manage to implement the optimal solution O(log (m+n).
- Manager Interview: An hour-long conversation with the prospective manager, discussing past experiences and aligned with Amazon’s Leadership Principles.
- Personality Interview: An informal interview allowing more time to discuss the company, growth opportunities, etc.
I leave a link with some hints provided by Amazon related with interview preparation. Focus mostly on: START answer format and Leadership Principles.
In my case, I received a call a couple of days after completing the onsite interviews, congratulating me and explaining the following steps in the hiring process along with the offer details. The offer itself arrived via email shortly afterward.
Some of the benefits included:
- Private employee healthcare coverage
- Family/dependents healthcare coverage
- Employee Assistance Program
- Life Insurance Plan
- 25 days of annual leave
- Amazon Employee Discount
- Cracking the coding interview
- System Design Interview I
- System Design Interview II
- Introduction to Algorithms
Although I ultimately decided not to accept the offer, the experience of undergoing Amazon’s rigorous interview process proved to be an invaluable opportunity for personal and professional growth. The insights gained from each stage, from the initial coding assessments to the intense virtual onsite interviews, provided me with a perspective into the high standards and expectations that a tech giant like Amazon upholds. Engaging with their Leadership Principles and navigating the intricate problem-solving challenges pushed me to refine my skills and refine my approach to technical interviews.