# Amazon Interview Experience for SDE-1

Hi everyone,

Hope everything is well with you. Today I’m going to share my amazon interview experience for the role of SDE-1. Hope it’ll help you in preparing for your next coding interview. So without further ado let’s get started.

I applied for the role of SDE-1 through amazon jobs portal. Next I got an invite for Online Assessment (OA).

**Online Assessment: **There are two parts of online assessment.

First part consisted of couple of questions based on data structures & algorithms

- First question – https://leetcode.com/problems/maximum-units-on-a-truck/
- Second question – https://www.geeksforgeeks.org/minimize-the-sum-calculated-by-repeatedly-removing-any-two-elements-and-inserting-their-sum-to-the-array/

Second part consisted mainly on behavioral aspects.

**Round 1: **This round was mostly a discussion on previous company project that I worked on, some behavioral questions based on Amazon leadership principles, some technical questions.

Some of the questions that I could recall are as follows :-

- Difference between process & thread?
- What are deadlocks and what are the necessary conditions for deadlocks to happen?
- Some real life applications of thread & process
- Tell me about a time when the requirement was not clear to you? What you did and what was the final outcome?
- Let’s discuss about a complex project that you worked on. What was the final outcome and what you learned? There were some follow up questions on web sockets based on my answer.
- Difference between synchronous I/O and asynchronous I/O?
- Some questions based on Node JS non blocking I/O

**Round 2: **This round was mixture of coding questions and behavioral questions.

- The behavioral question was: Have you experienced pressure at work? Describe such situation
- Lowest common ancestor in binary tree and then lowest common ancestor in binary search tree.
https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-search-tree/

https://leetcode.com/problems/lowest-common-ancestor-of-a-binary-tree/

We discussed on edge cases like

- What if the input node values are not present in the tree
- one of the input node or both are null
- root node is null

- Shortest unique prefix of all words in an array
we discussed on edge cases like:

- If input array is empty
- If any word is empty
- what if there are duplicate words in the input array ( the interviewer told that all words are distinct )

**Round 3: **This round was mixture of coding questions and behavioral questions.

- The behavioral question was: Tell us about a time when you missed a deadline or productivity target? What was the business impact and what you learned from it?
- Given an increasing series first and then decreasing find the first element which starts decreasing
Let’s say there’s an array [0, 10, 20, 30, 40, 10, 5, 1] -> answer is 40 since from 40 it starts decreasing

We discussed on many edge cases like

- series is increasing only
- series is decreasing only
- decreasing series first and then increasing
- series where increasing first then decreasing and then increasing again and then decreasing…

let’s say an array [0, 10, 20, 30, 25, 20, 40, 60, 50, 30] -> firstly it increases, then decreases and then same repeats, so answer in this case will be 30

- Given an array of integers, find maximal product triplet – https://www.geeksforgeeks.org/find-maximum-product-of-a-triplet-in-array/
Let’s take an array [1, -4, 3, -6, 7, 0] -> answer will be 168 (-6 x -4 x 7)

We discussed on edge cases like

- If input array contains less than three numbers
- input array containing only negative numbers
- input array containing both positive and negative numbers

**Round 4: **This round consisted of coding questions, behavioral questions and some technical questions

- The behavioral question was: Tell us about a time when you had to solve a complex task under strict timeline? What was your approach and how you solved it?
- Given two strings s and t of lengths m and n respectively, return the minimum window substring of s such that every character in t (including duplicates) is included in the window. If there is no such substring, return the empty string “”.
https://leetcode.com/problems/minimum-window-substring/

Clarified on some questions like

- If length of string s is less than length of string t
- If either string s or t is empty

- Find a triplet in an array whose sum is closest to a given number.
https://www.geeksforgeeks.org/find-a-triplet-in-an-array-whose-sum-is-closest-to-a-given-number/

Let’s take an array say [-1, 2, 1, -4] and sum = 1 -> the triplet will (-1, 2, 1)

We discussed on edge cases like

- What will be the output if triplet is not present
- If there are multiple triplets, then which triplet to print (interviewer confirmed you can return any triplet)
- what will be the output if input contains less than 3 numbers

Technical questions:-

- Difference between child process & thread process
- What are the different transport layer protocols?
- Difference between TCP & UDP
- Real life application of binary search tree

__Final Verdict: Selected__

So I’ve few tips to share which are as follows:-

- Recall your previous work experience, your graduation days, achievements. This is required especially to answer behavioral based questions
- While answering behavioral questions use STAR method to answer.
- S – Situation ( What was the situation )
- T – Task ( What was the task undertaken )
- A – Action ( What you did or what was your approach to solve the task )
- R – Result ( What is the end result )

- Always discuss brute force approach first and then work your way up towards optimal solution
- Discuss time and space complexity of both brute force and optimal solution
- Discuss about the edge cases as well
- Having solid and excellent understanding of data structures will help you a lot in coding interviews
- Please practice 1 coding problem daily. Leetcode and Geeksforgeeks are really great platforms to practice coding problems
- Do not forget to add your achievements as well while in the interview
- Believe in yourself and you’re half way there.
- Set short term goals as small step taken today yields to bigger step for tomorrow.

Finally I wish you all the best. Good luck. Thanks and take care.

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the **DSA Self Paced Course** at a student-friendly price and become industry ready. To complete your preparation from learning a language to DS Algo and many more, please refer **Complete Interview Preparation Course****. **In case you are prepared, test your skills using **TCS**, **Wipro**, **Amazon**. **Google** and **Microsoft** Test Serieses.