How did I Build SDE-2 Amazon Interview Preparation Routine?

Looking to crack the Amazon SDE 2 interview in 2 months? Here is my 2-month Amazon interview preparation routine for the SDE 2 role in detail.

Mentor

Blog

Hey there folks! I have been lucky enough to mentor some incredibly talented individuals at Preplaced.

Today, I want to introduce you to one of my mentees, Saksham, who's been putting in some serious work to prepare for the Amazon SDE 2 role

I'm excited to share his comprehensive two-month preparation routine with you. So, without further ado, let's hear it from the future Amazon SDE 2!

โ€”------------------------------------

Hey there! So, I've got about three years of software development experience under my belt and I've been eyeing this big move โ€“ shifting gears to Amazon.

The goal? To snag the Amazon Software Development Engineer (SDE) 2 spot. ๐Ÿ˜Ž

I recently connected with Preplaced mentor Mani who is an SDE 2 at Amazon with  13+ years of experience.

After evaluating my existing skills, he suggested a timeline of 2 months for Amazon interview preparation.

I have shared the interview preparation routine for the SDE 2 role below (currently I am in the application process). 

Weโ€™ll start with the Amazon SDE 2 requirements.

Then, weโ€™ll move on to the main part - Preparation.

The timeline is divided into weeks to track my progress easily. I highly recommend you do the same.

Letโ€™s get started! ๐Ÿ‘‡

Requirements for Amazon SDE 2 Role:

  • Experience: Typically requires 2-5 years of software development experience.
    • Technical Skills: Strong understanding of data structures, algorithms, and coding proficiency in languages like Java, C++, or Python.
      • Problem-Solving: Ability to solve complex technical problems with a structured approach.
        • System Design: Familiarity with designing scalable systems and considering trade-offs.
          • Leadership Principles: Demonstrated alignment with Amazon's Leadership Principles through past experiences.
            • Communication: Effective communication of technical concepts, both written and verbal.
              • Projects: Proven track record of delivering successful software projects.
                • Behavioural Skills: Strong teamwork, adaptability, and collaboration skills.
                  • Learning Attitude: Willingness to learn and stay updated with new technologies.
                    • Code Quality: Emphasis on writing clean, efficient, and maintainable code.
                      • Cross-functional: Ability to work with diverse teams and stakeholders.

                        These are the parameters usually assessed by Amazon for the SDE 2 role.

                        How to prepare for an Amazon interview in 2 months?

                        2 months Amazon SDE-2 interview preparation roadmap

                        ๐ŸŽฏ Week 1-2: Grasping the Interview Process and Core Concepts

                        ๐Ÿ’ก Week 1: Understanding the Interview Process

                        During the first week, I focused on getting a clear understanding of what the Amazon interview process entails. 

                        I researched the different stages, such as the technical interview, behavioural interview, and system design interview.

                        I made sure to understand the expectations for each Amazon interview round

                        This understanding was crucial in tailoring my preparation strategy.

                        ๐Ÿ’ก Week 2: Reviewing Core Concepts

                        During the second week, I dedicated my time to reviewing core computer science concepts

                        I started with data structures such as arrays, linked lists, stacks, and queues

                        I refreshed my memory on their operations, advantages, and use cases

                        To solidify my understanding, I practised implementing these data structures and performing common operations like insertion, deletion, and traversal.

                        Next, I revisited basic algorithms

                        I tackled problems involving sorting algorithms like bubble sort, insertion sort, and merge sort. 

                        I also practised various searching techniques such as binary search. 

                        For example, I would work on a problem that required me to find an element in a rotated sorted array using binary search.

                        Throughout these two weeks, I focused on understanding the "why" behind these concepts.

                        I'd ask myself questions like, "Why would I choose a linked list over an array in a certain scenario?" or "Why is quicksort generally faster than bubble sort?

                        I also made use of online coding platforms like LeetCode and HackerRank to practise these concepts. 

                        These platforms not only provided problems but also allowed me to see various solutions and approaches from the community. 

                        By the end of these two weeks, I had a solid foundation in the interview process and core computer science concepts. 

                        This foundation would serve as the stepping stone for the more advanced topics I would tackle in the coming weeks.

                        Also Check:  DSA Preparation - The Ultimate Guide to Crack DSA Interviews

                        ๐ŸŽฏ Week 3-4: Diving into Advanced Algorithms

                        During these two weeks, my focus shifted towards more complex algorithms that are commonly tested in technical interviews. 

                        I wanted to ensure that I had a strong grasp of these advanced concepts and could apply them effectively to problem-solving.

                        ๐ŸŒŸ Dynamic Programming: 

                        One of the key topics I tackled was dynamic programming. 

                        This technique involves breaking down a complex problem into smaller subproblems and solving each subproblem only once, storing the results to avoid redundant calculations. 

                        To understand dynamic programming better, I studied various resources and examples shared by my mentor. 

                        For instance, I took on the classic "Fibonacci sequence" problem using both recursive and dynamic programming approaches. 

                        This helped me appreciate the efficiency and optimisation that dynamic programming offers.

                        Some common dynamic programming Amazon interview questions asked for the SDE 2 role:

                        ๐Ÿ“Œ Coin Change Problem:

                        Given a set of coins and an amount, find the minimum number of coins needed to make up that amount.

                        ๐Ÿ“Œ Longest Common Subsequence:

                        Find the length of the longest subsequence that two strings have in common.

                        ๐Ÿ“Œ Maximum Subarray Sum:

                        Find the contiguous subarray within an array (containing at least one number) that has the largest sum.

                        ๐ŸŒŸ Graph Algorithms: 

                        Graph algorithms are another crucial area for technical interviews. 

                        I studied algorithms like Breadth-First Search (BFS) and Depth-First Search (DFS) thoroughly. 

                        I practised implementing these algorithms on paper and then translated that knowledge into code. 

                        As an exercise, I solved problems involving graph traversal, such as finding the shortest path between two nodes in an unweighted graph using BFS.

                        Some common graph algorithms Amazon interview questions asked for the SDE 2 role:

                        ๐Ÿ“Œ Breadth-First Search (BFS):

                        Given a graph, find the shortest path from a source node to a destination node.

                        ๐Ÿ“Œ Depth-First Search (DFS):

                        Find all possible paths from a source node to a destination node in a graph.

                        ๐Ÿ“Œ Topological Sorting:

                        Given a directed graph, determine an order in which to process nodes such that for every directed edge u -> v, node u comes before node v in the order.

                        ๐ŸŒŸ Greedy Algorithms: 

                        Greedy algorithms involve making locally optimal choices at each step with the hope of finding a global optimum. 

                        To understand this concept, I studied examples like the "Fractional Knapsack Problem" and the "Activity Selection Problem." 

                        Solving problems related to these scenarios helped me grasp how to approach problems using greedy algorithms and when they are appropriate to use.

                        Some common greedy algorithms Amazon interview questions asked for the SDE 2 role:

                        ๐Ÿ“Œ Fractional Knapsack Problem:

                        Given items with values and weights, determine the maximum value that can be obtained by selecting fractions of items, assuming a maximum weight limit.

                        ๐Ÿ“Œ Activity Selection Problem:

                        Given a list of activities with start and finish times, find the maximum number of activities that can be performed by a single person, assuming that a person can only work on a single activity at a time.

                        ๐Ÿ“Œ Minimum Spanning Tree (Prim's or Kruskal's algorithm): Given an undirected graph with weighted edges, find a minimum spanning tree that connects all vertices with the minimum total edge weight.

                        ๐ŸŒŸ Problem-Solving and Reflecting: 

                        By solving a variety of problems in these categories, I gained confidence in my ability to recognise the underlying patterns and apply the appropriate algorithms.

                        As I progressed through these weeks, I made sure to reflect on each problem I solved. 

                        If I encountered difficulties, I sought help from my mentor to understand different approaches. 

                        The goal was not just to solve problems, but to truly understand the underlying principles and strategies behind each algorithm.

                        ๐ŸŽฏ Week 5-6: In-Depth System Design Study

                        Now it was time to dig into the world of system design. 

                        I knew that Amazon, being a tech giant, places a strong emphasis on a candidate's ability to design scalable and efficient systems

                        ๐ŸŒŸ Understanding System Design Principles: 

                        I started by grasping the fundamental principles of system design. 

                        This involved learning about concepts like load balancing, database design, caching strategies, microservices architecture, and more. 

                        My mentor referred to resources like online articles, videos, and books that explain these concepts in practical terms. 

                        One of the key takeaways was understanding how different components of a system interact and contribute to its overall performance and reliability.

                        ๐ŸŒŸ Real-world Scenarios and Examples: 

                        To put these principles into perspective, I studied real-world examples of system designs. 

                        I looked into how platforms like Amazon or Netflix handle massive user traffic while maintaining a seamless experience. 

                        This helped me understand how to make design decisions based on user requirements, data volume, and latency constraints.

                        ๐ŸŒŸ Practice, Practice, Practice: 

                        I took on practical exercises to solidify my learning. 

                        I practised designing various systems, ranging from a simple URL-shortening service to a more complex e-commerce platform. 

                        This involved breaking down the system into components, deciding on data storage solutions, considering data consistency, and planning for scalability.

                        Common System Design Questions for Amazon SDE 2 Interviews: 

                        In the Amazon SDE 2 interview, here are some questions that you can expect:

                        ๐Ÿ“Œ Design a URL Shortening Service: 

                        This is a classic question that tests your ability to design a system that converts long URLs into short ones while ensuring uniqueness and handling high traffic.

                        ๐Ÿ“Œ Design a News Feed System: 

                        You'll be asked to design a system that delivers personalised news feeds to users based on their preferences and activities.

                        ๐Ÿ“Œ Design a Distributed Cache System: 

                        This question assesses your understanding of caching mechanisms and how to design a system that efficiently stores and retrieves frequently accessed data.

                        ๐Ÿ“Œ Design a Ride-Sharing Service: 

                        This scenario evaluates your skills in designing a platform that connects riders and drivers, considering real-time location tracking, matching algorithms, and scalability.

                        ๐Ÿ“Œ Design a Social Network: 

                        You might be tasked with designing a social media platform that handles user posts, follows, likes, and comments while maintaining low latency and high availability.

                        ๐Ÿ“Œ Design a Video Streaming Service: 

                        This question challenges you to design a system that streams videos to users worldwide while minimising buffering and ensuring smooth playback.

                        Remember, in these scenarios, it's not just about coming up with a solution, but also,

                        • Explaining your thought process, 
                          • Making trade-offs,
                            • Considering failure scenarios, and 
                              • Justifying your design choices based on the given constraints.

                                ๐ŸŽฏ Week 7-8: Enhancing Coding Proficiency and Taking Mock Interviews

                                During this phase of my preparation, I focused on sharpening my coding skills to crack the technical interviews for the Amazon SDE 2 role. 

                                ๐ŸŒŸ Coding Proficiency Enhancement: 

                                Under the guidance of my mentor, I dedicated a good chunk of time to practising coding challenges and participating in coding contests

                                Mani emphasised the significance of not only finding a solution but also optimising it for both time and space complexity

                                For example, when I encountered a problem, he encouraged me to brainstorm various approaches, analyse their pros and cons, and then implement the most efficient solution. 

                                This approach helped me become more adept at identifying the most suitable data structures and algorithms for different scenarios.

                                I also worked on developing my ability to write clean and readable code

                                My mentor advised me to use meaningful variable names, add comments when necessary, and break down complex tasks into smaller functions. 

                                By adhering to these coding best practices, I was able to present my thought process clearly and make it easier for interviewers to follow my logic.

                                ๐ŸŒŸ Taking Mock Interviews: 

                                To simulate the actual interview environment and assess my progress, I took mock technical interviews with my Preplaced mentor. 

                                These mock interviews were invaluable in helping me gauge my performance under pressure and identifying areas that needed improvement. 

                                My mentor played the role of the interviewer, asking challenging technical questions and evaluating my approach.

                                After each mock interview, my mentor provided detailed feedback, highlighting what I did well and pointing out areas for enhancement. 

                                This feedback was crucial in refining my interview strategy. 

                                Incorporating this feedback loop into my preparation allowed me to progressively refine my coding skills and adapt my problem-solving approach based on real-time input. 

                                The mock interviews also boosted my confidence, as I became more comfortable with the Amazon SDE 2 interview format and expectations.

                                ๐ŸŽฏ Week 9: Practising Leadership Principles and Behavioral Interview Skills

                                During Week 9, my focus shifted from technical topics to the behavioural aspects of the interview. 

                                Amazon places a strong emphasis on its Leadership Principles, which are a set of core values that guide its company culture and decision-making. 

                                It's crucial to understand these principles and be prepared to provide examples from your experiences that demonstrate how you align with them.

                                ๐ŸŒŸ Understanding Leadership Principles: 

                                I dedicated time to thoroughly understanding Amazon's Leadership Principles. 

                                There are usually 16 principles, and they cover a wide range of values, from "Customer Obsession" and "Ownership" to "Bias for Action" and "Invent and Simplify." 

                                I made sure I could not only recite them but also relate them to my own experiences.

                                ๐ŸŒŸ Practising STAR Interview Method Responses: 

                                For the behavioural interview part, I practised using the STAR (Situation, Task, Action, Result) method to structure my answers. 

                                This technique helps you provide clear and concise responses that highlight your skills and experiences effectively.

                                Sample Behavioral Questions: Here are some common behavioural questions that might be asked during an Amazon SDE 2 interview:

                                • Tell me about a time when you had to work with a difficult team member. How did you handle the situation and what was the outcome?
                                  • Give an example of a project where you had to take the lead. How did you motivate your team and ensure the project's success?
                                    • Describe a situation where you faced a tight deadline. How did you prioritise tasks and ensure timely delivery?
                                      • Can you share an instance when you had to come up with an innovative solution to a complex problem? What was the result?
                                        • Tell me about a time when you made a mistake in your work. How did you address it and what did you learn from the experience?
                                          • Give an example of a time when you had to adapt to a change in project requirements. How did you handle the change and ensure the project stayed on track?
                                            • Describe a situation where you had to work on a project with limited resources. How did you optimise your approach to achieve the desired outcome?

                                              ๐ŸŽฏ Week 10: Final Review and Polishing

                                              During this crucial week, I worked closely with my mentor, Mani to fine-tune and perfect my overall Amazon interview preparation. 

                                              He provided me with valuable insights and helped me identify areas that needed a final touch. 

                                              Here's how we approached it:

                                              • I started by assessing all the topics I had covered throughout the past weeks. This included reviewing core concepts, advanced algorithms, system design principles, coding skills, and leadership principles.
                                                • I took notes on areas that needed further review or practice.
                                                  • I reviewed my STAR responses, ensuring they effectively showcased my problem-solving and leadership skills.
                                                    • I revisited system design concepts, discussing design decisions, scalability considerations, and trade-offs.

                                                      This intensive week of preparation helped me feel well-prepared to excel during the interviews.

                                                      Wrapping it Up

                                                      And there you have it, my 2-month interview preparation routine for the Amazon SDE 2 role.

                                                      I've tackled everything from dynamic programming to system design, building a solid foundation to face whatever Amazon throws my way.

                                                      Right now, I'm in the thick of the job application process for the Amazon SDE 2 role with my mentor, Mani. 

                                                      He has been a game-changer. 

                                                      He has shared insights, walked me through his experiences, and has been a rock-solid support system. 

                                                      Whether it's diving into complex algorithms or showcasing my knack for leadership principles, I have a mentor who's been there, and done that.

                                                      โ€

                                                      โ€”---------------------------------------------

                                                      I'm incredibly proud of Saksham's progress and excited to see him kick off his chapter at Amazon. 

                                                      But hey, if you're reading this and you're on your own journey to Amazon or any other tech giant, remember, you don't have to go it alone. 

                                                      Donโ€™t hesitate to get on a 1:1  call with me (it's totally FREE!) if you need some guidance, a few insider tips, or just want to have a friendly chat about your interview prep. 

                                                      ๐Ÿ“ Note: Menteeโ€™s name has been changed for confidentiality purposes.

                                                      โ€

                                                      Recommended Readings:

                                                      Samrudha's Story: Path to Becoming an Amazon Data Scientist

                                                      Lifecycle of a Preplaced Mentee under Long-Term Mentorship