Status: Graduating in 2021, B.Tech Computer Science, Tier 3 college, India
Position: SDE intern at Amazon
Location: Hyderabad, India
Joining: January, 2021
[On Campus]
ROUND 1: ONLINE ASSESSMENT
The assessment had three sections, platform was AMCAT:
• Debugging Round: These are basic segments of code, we had a choice to either attempt the section in C++ or in Java. I chose C++ , the changes needed in the code snippets were quite easy, just needed to be found out in quick time and pass all the test cases.
Simple for loops errors, missing statement terminators, condition checks and other trivial errors, overall, an easy segment. I was easily able to solve all of them, passing all the test cases.
• Coding Round: This was the game changer, we had two questions with 16 test cases in each. I was able to solve both of them easily, with all the test cases passed. The questions were:
Write an efficient algorithm that searches for a value in an m x n matrix. This matrix has the following properties:
Integers in each row are sorted in ascending from left to right.
Integers in each column are sorted in ascending from top to bottom.
https://leetcode.com/problems/search-a-2d-matrix-ii/
Given two non-empty binary trees s and t, check whether tree t has exactly the same structure and node values with a subtree of s. A subtree of s is a tree consists of a node in s and all of this node's descendants. The tree s could also be considered as a subtree of itself.
https://leetcode.com/problems/subtree-of-another-tree/
• Logical Reasoning Round: Questions covered different aspects of logical and quantitative reasoning, with an all-round check of aptitude and general English grammar checks. The questions were not very hard, on the easier side, the challenge was to get through the questions quickly.
ROUND 2: TECHNICAL INTERVIEW – I
Both the interviews solely checked on problem solving abilities, sound knowledge of Data Structures and Algorithms was a must. Questions were being asked from a wide pool of topics ranging from array, strings to trees and graphs.
The thing that they were checking was not the end solution, but your thought process, how well you can optimize the code you have written and at what pace do you figure out things.
Step by step every thing was needed to be explained and then implemented, the interview went on for 1 hour and 20 minutes.
The platform used was Amazon’s LiveCode, a code editor which is shared with the interviewer in real time. Amazon Chime was used for the video call.
I gave out the entire step by step algorithm for the questions, kept having a discussion and was thinking out loud all the time. The interviewer did help whenever I got stuck with some ideology.
Questions asked in round 1
ROUND 3: TECHNICAL INTERVIEW – II
Again, after a quick intro and general discussions, the interviewer made me jump right into coding questions again.
The questions needed high levels of optimizations, the implementations were basic, but the most important thing is to think out loud and always continue to have a conversation with the interviewer.
2 question were asked, the interview went on for 1 hour and 20 minutes.
Questions asked
Given a 2D matrix, with only 0s and 1s, each row in the matrix is sorted. Tell that which row has the maximum number of 1s in it. (Many opitmizations invovled)
Given a binary tree and a target node, return the root to target path in the tree if the target exists in the tree.
Out of 1700 people giving the intial assessment, 7 got selected, I was one of them!
A big thanks to the entire leetcode community, I have learnt a lot from the people here and I will always be grateful.
All those hours spent while scratching my head with LC medium , hard sections and spending long hours even in the discussion section, someday surely pays off! :)
Also, if anyone is there who got into Amazon as a 6 months intern, I would love to know any tips or points of advice to try and convert this into a full time opportunity!
Any queries? I'll be happy to help!