Status: Software Engineering Intern at Cyr3con, current MS CS @ ASU
Position: SDE intern at Amazon
Location: Seattle
Date: March 18, 2019Interview process:
Round 1: was divided into two parts.
Part 1: Included around 30 - 40 aptitude questions. The questions were not that difficult rather were
towards the moderate side. The main problem in this round was the time.
Views: Mostly people who solved ~34 (doable) questions got the link for the next part.
Part 2: Included 7 debugging questions. The code was already written on the screen but had some typos and errors (not syntax but logical errors). The task was to find the logical error and rerun the code. If all the test cases are passed, you get a point.
Views: People with 4 - 5 right answers got the link for the next round.
Round 2: Amcat online coding round.
This round has 2 questions which were leetcode medium level. The GUI was similar to hackerrank which had all the options which HR has.
Question 1: Given a list of product IDs and review scores, write an algorithm to find the most positive aggregate for each product.
Input:
scoreCount: count of review scores for all the products (integer)
reviewScoresOfProduct: list of numbers where each element of the list consists of an integer representing the product ID and a real number representing the review score of the product.
Output:
a list of numbers where each element of the list consists of an integer representing the product ID and a real number reporesenting the most positive aggregate score of the product.
Solution:
I made use of PriorityQueue in this question as only top 5 product reviews were needed for the ansswer. So, as you read the list just keep on adding it to the priority queue and the compare logic of the PQ does the work for you.
Question 2: Find maximum number of substrings in a string with 'K' distinct characters. If no distinct characters are found then return 0.
Input:
inputString: the string from which the substrings need to be found.
num: integer representing the number K.
Output:
An integer representing the number of substrings with exactly 'K' distinct characters.
Round 3:
Amazon chime: Video interview
Behavioral + technical
Intially, the interviewer asked about my background where in I told him about my work experience and discussed some projects.
Later, he asked if I have some experience with any of the front end technologies like Vue, Angular or React and was very interested in knowing if I have experience with TypeScript. Had a discussion on the same (no questions, just a conversation).
Then, the interviewer asked me 3 behavioral questions which completely revolved around Amazon's principles (can be found by doing a google search).
The last part of the interview was a desgin question.
Question: design a screen-saver system which supports 3 functions:
1. insert(image): which inserts the image in the list
2. remove(): remove the last inserted image
3. getRandom(): returns an image randomly in O(1) time.My thoughts: