I applied through college or university. I interviewed at Amazon (Seattle, WA)
Interview
2 Rounds of interview. Both telephonic.
Round1:
(Q1) Asked to write code to merge 2 sorted arrays.Walk through an example.
(Q2) Asked to reverse a linked list witout using external memory. Wrote code using 3 pointers. He asked me to walk through an example.
Round2:
(Q1) Asked about OOP concepts with a real world example for each principle.
(Q2) Asked about merge sort vs Quick sort / time complexities /when to use which.
(Q3) Asked me write code about to check whether tree is symmetric.
Interview questions [1]
Question 1
Was confused abit about TREE SYMMETRIC question. He was expecting a recursive solution. But explained him a solution using tree inorder/preorder/postorder traversals. Explained him, and wrote code for different traversals and some functions to integrate all.
Finally he seems convincing with my approach and solution.
I applied online. The process took 3 weeks. I interviewed at Amazon (Seattle, WA)
Interview
Got an e-mail for phone interview request 2 weeks after applied online.
Two technical phone interview for the first round. 45 minutes each. 4 questions in total:
1. Find ten largest numbers in an array, optimal your solution(verbal)
2. Find the last Nth element in a list(coding)
3. Find the second largest int in an array(coding)
4. if_BST(Node * root); (coding)
Three days later, got the phone interview for second round, same as previous ones. 2 questions total:
1. Design a service similar as bit.ly. What are the considerations for the service. What data structures will you use? How to implement it? What's the complexity?
2. Coding questions about hash table. Use linear probing to solve collisions.
A week later, got the offer