### An Overview of Amazon’s Interview process

#### Amazon looks for the following in any candidate

- Programming skills
- Problem solving skills
- Knowledge of Data Structures and Algorithms
- Problem identification skills

#### Amazon’s recruitment/placement process is divided mainly into two parts

- The preliminary test
- The technical interviews ( 3 – 4 interviews in the span of a day)

#### The Aptitude / Technical Test

#### Programming Questions

#### The Interviews

#### Tips and Tricks

### The Questions

#### Preliminary

#### MCQ:

- Given a rectangle of given size what is the minimum no of squares needed to exactly cover the rectangle.
- Identify a given algorithm.
- Given several pipelines their time costs and the delay in starting each pipeline what is the time taken to execute a certain no of instructions that are depended on each other.
- What is the maximum number of processors that can run using 11 resources such that deadlock will not occur.
- Which of the following happens ( deadlock and starvation), deduce for the given code.
- Several output questions.
- One question to identify the suitable characteristics of a network to be used under specified circumstances.
- A question for speed distance and time.

#### The two programming questions are

- Given that amazon wants to recruit only one from a group of n equally qualified candidates, they have decided to make them all stand in a row and them ask the ones standing at odd places to go home, repeatedly till one exists. Given n by standing at what position shall ensure a sure recruitment by Amazon.
- Given a linked list containing a sequence of characters, reorganise the string such that all the vowels appear first and the consonants next and they be sorted in the order they appeared.

#### Interview Round 1

- Given that amazon wants to recruit only one from a group of n equally qualified candidates, they have decided to make them all stand in a row and them ask the ones standing at odd places to go home, repeatedly till one exists. Given n by standing at what position shall ensure a sure recruitment by Amazon. Assume that the list given is a linked list and all that you will have is the pointer to the start of the linked list.
- Print the elements in a n x m matrix diagonally and from bottom to top

#### Interview Round 2

- Given a stack add the following feature without changing any of the characteristics of the stack. getminelement() with unit complexity, O(1).
- Everything in the resume round.
- What are my best achievements and why I consider it my best achievement?
- What are my weaknesses and when and how has it affected my productivity?
- What are my projects and explain in detail what I did?
- Explain how I managed my team and concentrated my teams effort to achieve our aim.

#### Interview Round 3

- Given that the input is a binary tree connect all the elements in the same level or depth using links.
- Given the stack what additional modification can you bring to the stack such that you are able to check the presence of an element in the stack.
- Direct questions on Hashing( predominantly )and other data structures.

#### Additional Questions

- To swap adjacent elements of a linked list by modifying only the pointers. 1->2->3->4 becomes 2->1->4->3 and 1->2->3->4->5 becomes 2->1->4->3->5
- To sort the elements of a vector. Stable sort. The elements are sorted based on element%7. {1,2,3,4,5,6,7,14} becomes {7,14,1,2,3,4,5,6}
- To find number of sequences of the form 1…N such that each element differs from the previous by +1 or +2. N is the input. Bonus: Generate all possible sequences for given N.
- An array is given. Each element differs from the previous by +1 or -1. Best way to find the first occurrence of given number.
- Given an array of extremely huge size, find the sum of elements from ith index to jth index. There will be lots of queries even for a single array. So some sort of pre calculation is expected.