OA
Online Assessment Overview
The assessment consists of three components:
a coding challenge with two scenarios (up to 90 min)
a “describe your approach” section to discuss your coding solutions (up to 15 min)
a work style survey (up to 15 min)
a feedback survey (5 min)
Question 1. Given a list of list processes with processing time and priority, Execute the highest priority processes first.
Solution: Did use Priority Queue
Question 2. Given two lists of list processes with ID and execution times and a max capacity number. Select the best pairs (one from given two lists) that uses the max of the capacity.
Solution: Using a Hash Map.
HR电话
He asked in-depth questions from my resume, my interests and a couple of changes I would do to my project if I had more time. Asked how would I manage a server or what server architecture I would use being said that usage will drastically increase. Whether I had considered customer when developing the project
Onsite
8:00 am - 12:00 pm, Four rounds, Informed one round will specifically be for design.
HR told me that, I will be evaluated on: Algorithm Design, Use of Data Structures, How easily I can convert my idea to code and designing skills(Defining functions when needed, Using Classes appropriately)
第一轮 : Two managers: They were from different teams and said they don’t know much about the team I am Interviewing for.
20-30 minutes: LP-based questions
25 minutes: Coding question, How would I design, to suggest friends in a messaging application.
GIven list map of the ID of friends
Input: List Map: [[1:2,3,4,5][2:6,7][3:6,9,2][4:12,6,7,9]] (Here user with ID 1 have Users with ID 2,3,4,5 as friends)
Output: For 1 my suggestion list will be this [6,7,9]
Explanation: I should return mutual friends of 1 who repeats more or equal to twice. Here when I count all mutual friends of 1 using another map, It looks like this {6:3,7:2,9:2}
5 minutes: To clarify my doubts about Amazon
第二轮 : This is also with a manager from the same department but a different team.
20-25 minutes: LP-based questions
25-30 minutes: Coding question
Input: Given a singly linked list. Flatten the linked list and sort. (Follow up: sort in place, no extra memory, Should do it in O(N log N))
Input:
5->4->1->5->9
|
3
|
2
(Here 5 has two pointer, next(4) and down(3) and
Output:
1->2->3->4->5->5->9
第三轮 : This is by the manager of the hiring team
30 minutes: LP-based questions(Lot of follow up questions)
25 minutes: Design Chess game
What will be your classes, relation between different classes, represent board, represent players, How will you begin the game?
I didn’t perform well in this round ,
第四轮 : By Senior Developer:
20 minutes: LP question
Rest: Coding problem
Given a list of processes and their dependencies on other processes, Return order of the process to be executed in so that given all the processes will run
Input: p1->p2,p3 (Here p1 is dependent on p2 and p3)
p2->p5
p3->p4
p4->p5
p5
Output: [p5,p4,p3,p1,p2] or [p5,p2,p4,p3,p1] (because p2 is only dependent on p5)
Disclaimer: For behavioral questions mostly people think It is enough if they prepare a scenario justifying LP principle\s but remember the Interviewer gonna always ask a lot of follow up questions and they will be noting down every word you will say. So be prepared to answer all possible follow up questions(extensions).