Amazon was Founded by Jeff Bezoz in 1994 and currently it is the world’s largest ecommerce platform with revenue over $232b (2018). They are also present in cloud computing, digital screening and AI business. Amazon hires a lot of people every year and a big chunks of it are software developers to manage their platform and related tasks. Software development engineer (SDE) Amazon salary is also considered one of the highest in the industry.
Amazon entered Indian market in 2012 when it launched Junglee.com which was basically a site where customers could compare prices. Amazon Bangalore office along with Delhi, Mumbai, Hyderabad and Chennai are handling Amazon business in India
Salary of Software Development Engineer(SDE)
According to Glassdoor and Payscale.com salary of a SDE is Rs 14-16 Lac/year, which lies in the higher range of software developer salary given in India.
Where to find open jobs at Amazon?
You can Find all current open positions of Amazon careers India at https://www.amazon.jobs/en/search?base_query=&loc_query=India&country=IND
And on the left hand side you can check jobs at Amazon India available in different categories like Software Engineering, product engineering etc.
Who can apply?
- B.Tech/B.E degree holder in Computer Science and Engineering or other relevant trade from prestigious institute.
- M. Tech degree holder in Computer Science and Engineering or other relevant trade from prestigious institute.
- M.Sc graduates in Computer Science & Information technology can apply.
- MCA graduates are also eligible to apply.
In Software Development, there are 5 levels,
- Software Development Engineer (SDE) 1 – College grads or 1-2 years of experience; 5 Interview Rounds
- Software Development Engineer (SDE) 2 – Minimum 3+ years of experience; 6 Interview Rounds (1 extra interview round is Design round)
- Software Development Engineer (SDE) 3 – 5+ Years of experience; 8 Rounds
- Principal Engineer 1
- Principal Engineer 2
How to Apply?
Amazon does recruit candidates from colleges. You can follow Amazon on LinkedIn to learn more about its recruitment programs and locations. For Freshers, there are 3 ways to apply for entry level Software Developer position.
- Networking and Referral : If you know someone working in Amazon, you can reach out to them to know more about the company and the various job positions and hiring. You can ask for their referral if there are opening for your desired position. If you do not know anyone working at Amazon then use LinkedIn to reach out to such a person, try to build a rapport with them. You can tell them about your interest in working for Amazon and if they can provide you with a referral.
- Update LinkedIn Profile
- Online Application
Amazon Software Development Engineer (SDE)Interview Process
The whole process is generally divided into 6 rounds:
- Round 1: Written Coding Test
It is mass testing where many candidates are pooled together for selection.It can be either Online Like HackerRank, or Pen And Paper in Amazon Office like a classroom test. If you are a remote candidate, then sometimes it will be taken on phone. On the phone there will be 2 questions instead of 3 because of time constraints:
- On phone you have to tell approach on phone
- Also, you have explain line by line code
- You will be having a shared editor
Following are some examples for some questions asked in round 1.
- Given two linked lists. Add them.
- Add two integers represented by singly linked lists to produce the resultant linked list which represents the sum as follows :
Linked List 1 : 1->2->3 (Number : 123)
Linked List 2 : 1->2->3 (Number : 123)
Resultant Linked List : 2->4->6 (Number : 246)
you need to handle all the edge cases.
- Given a binary tree and a sum, find all root-to-leaf paths where each paths sum equals the given sum.
- Given two link list that represents no. write a program to add two given two link list and return new link list that represents sum of no. represented by given two link lists.
- Given a string, write a program to find longest length palindrome from that given string
- Given a array find all the triplets which satisfy the triangle property(sum of 2 sides should be greater than third side)
- Given a array find whether it is majority array or not. Complexity: O(n) Space complexity O(1)
- Convert a sorted array to binary search tree.
- Round 2: Problem Solving
There will be 2-3 questions based on DS Algo specific topic. 3 Most Important Topics:
- Dynamic Programming
- 2D Array or Matrix
This is an elimination round, there is approx. 50% elimination. Keep these things in mind for round 2:
- In this round, expectation is not just code because you have already cleared written test so they know that you can code but this time they focus on communication. They expect you to tell the approach.Focus on approach, not just code
- Also, you don’t have to come up with just one approach but multiple approaches to solve the problem but they will expect you to do the trade off analysis.
What is trade off analysis?
It is identifying both pros and cons of both approaches and which one is better in different situations. There are 2 major factors involved:
- Time complexity: How much power and time CPU is taking to run the program.
- Space complexity – How much memory is getting used in running the program
Finally, you and your interviewer have to agree on one solution and then you have to write the code. Now, All this has to be done for 2 questions in 45 mins of interview. So, make sure you don't get stuck in the first question. Otherwise you will have very little time left for second question. You have to make sure that both questions are answered.
Following are some examples of questions asked in this round.
- Given a sorted circularly linked list of Nodes that store integers and a new Node, insert the new Node into the correct position. (Duplicates allowed)
- How many times will a robot need to retrieve bins if it is given an array of bin ID's and it can only hold N bins at a time? When the robot is already holding N bins, it will return the least recently retrieved bin and store the new bin.
- Given an array of unique integers, return a pair of integers that sum up to a target sum.
- Given an ArrayList of Nodes, with each Node having an ID and a parent ID, determine whether the List is given in preorder.
- Longest substring
- Reverse a string
- Judge whether two strings are permutation
- Find all permutations of a string
- Write breadth-first search in a matrix
- Division without divide operator
- Round 3 (Problem Solving):
Structure will remain the same as Round 2 however the interview panel will change. Following are some examples of the questions asked in this round:
- You are given a generic tree. Design a structure for it. Now for every node of the tree make the leftmost child of the node as a duplicate of the node itself and return the root of the tree.
- You are given a file with many words. You are given a word as an input and you have to find every anagram of that word in the file.
- When you ask Alexa “buy bananas”, we query different catalouges (Prime, Whole Foods, Pantry etc).Each one of these come back with a sorted list of items that we need to merge together to have only one list.Write a function to merge the results and display top 10 items.Also mention the time and space complexity of your solution.
- Implement a function to block a meeting room for a given time window.The meeting room cannot be booked for overlapping sessions.
Output:Meeting booked(If no conflict with all existing meetings)
Meeting rejected(If conflict with any existing already booked meeting)
- Round 4: Design Round
In Design round, there can be 2 Types of questions:
- Object Oriented Design (OOD) : Provide a problem statement where you have to identify objects, interfaces, how these interfaces are going to interact with each other, methods and data flow. You have to give high level design and low level design.
- High level Design: Tell in abstract way like what classes, objects and interfaces have been used.
- Low level design mean they will ask you to write a code.
Then if there is any time left, the interviewer will ask you for Implementation of a particular class or particular method.
- System Design: Typical questions are like Design twitter, Design Netflix, Design Food Delivery model. So while attempting the questions asked in this round keep the following things in mind:
- Amazon works on big scale. They ask for what type of issues can happen in your design in terms of scalability and availability. There you have to tell about your Frontend server, backend server, cache etc.
- First thing is that you understand requirements very well. You don’t have to jump directly into writing code. So, they expect you to clarify all the requirements first, this way they will test your communication skills. After asking all the relevant questions, you should be clear what is expected to design.
Users, number of transactions per second, allowed latency, prides, number of records to be read etc. All these things should be identified.They will also give you multiple options to decide the solution. Decide options in database, situation which is best, Application. Recent technologies,
- Application Layer:
- Cache Layer
- On every layer, you have to tell which latest technologies (open source or proprietary) are available and which suits your solution best. Tell Pros and Cons of each available technology; And which one fits your situation best.
Find the best solution and then you start drawing some boxes. Your solutions should be scalable and stable. Once you come up with a solution, the interviewer will ask cross-questions.For eg.
- DB server with single point of failure. How do you deal with that? How would you replicate that?
- Application Instance Issues: One instance go down or fail, How will you replicate and handle? – This is for resiliency, resiliency, Highly available and scalable application
- Round 5: Bar Raiser
In this round the interviewer tries to identify if you are better than 50% Amazon employees. It doesn't have any defined structure. The interviewer is a very senior person. This guy has spent time in Amazon and has taken a lot of interviews. Aim of this round is to increase hiring bar. He is increasing hiring bar. He makes sure that you are better than average Amazon hiring engineer. This guy doesn’t belong to your team. He makes sure that Hiring Manager doesn’t compromise with the quality. Sometimes they only hire 2-3 people out of 100 people. Sometimes they don’t even hire anyone. Amazon never compromise on quality.
- Don’t try to trick. They are trained to identify if interviewee is genuine. Be yourself.
- He has VETO power. Even if you have done well, he has the power to reject you.
- His question will depend on how you have performed in other interviews. He has feedback of all other interviews. What ever you are weak in System Design, then he will ask in system design. If he finds that you didn’t do well in Problem Solving then he will ask problem solving questions. Wherever you are lacking, he will reject you.
- Can ask Code and Approach + Normal question is about relocation + DS Algo questions are also asked.
- Jeff Bezos has has given his hiring managers three critical measures to analyze potential hires. Knowing them will help you a lot in moulding your answers according to that. The measures are:
- Will you admire this person?
- Will this person raise the average level of effectiveness of the group they're entering?
- Along what dimensions might this person be a superstar?
Some questions asked in this round are:
- Leadership principles followed by Amazon
- Do you know our CEO? How do you pronounce his name?
- About project.
- Which Amazon leadership principle do you resonate most with?
- Binary search tree into Sorted doubly linked list
- Set of strings are given in a dictionary order. The problem here is order is not as our alphabetical. It may be different. C may come before a,b, x may come before d,c. etc. You will have to find the order of characters by using given input.topological sort – complete code is required to write)
- how you measure your success?
- Have you done any innovative work?
- Do you think you'll reach a point where you storm off the floor and never return?
- Given two files which contain very large size of number, say the size of the file is 5 GB.That means that you can not load the whole file into memory. How would you add these two files and store the result in another file.
- Given a graph, find the nodes which are at less than k distance from the given node.Continuation: find all the nodes which are less than k distance from m nodes.
- Implement a queue using an array. All base conditions.
- Given a very big array of millions of integers, find sum of all the elements.
- Round 6: HR Round
In this round, the interviewer will be mostly your future manager. Interviewer will expect that you are technically sound so mostly behavioral questions are asked.For eg.
- What is the hardest technical challenge you have solved?
- Relocation question
- Behavioral Questions on Amazon 14 Leadership Principles
- Customer Obsession
- Invent and Simplify
- Are Right, A Lot
- Learn and Be Curious
- Hire and Develop the Best
- Insist on the Highest Standards
- Think Big
- Bias for Action
- Earn Trust
- Dive Deep
- Have Backbone; Disagree and Commit
- Deliver Results
Post interview Steps
Day 1 is typical stuff: badge photo, tax forms, health insurance and benefit overview. You get four hours of corporate-led New Hire Orientation, then are released to be picked up by your manager. After that your experience is highly dependent on your manager's style, business, and level of preparation. Get familiar with using the internal Wiki, it is the keeper of the tribal knowledge.
What if someone doesn’t get into IT company right after college?
It can happen due to any reason. However there is no need to panic you can take it as a chance to gain certain skills in development and testing, then participate in open drive, or referral. Once you gain some experience you can always apply for SDE 2 or SDE 3 positions to have a career at Amazon India.
||ALL THE BEST||