I applied online by sending my CV. I was given a problem to solve. I attempted the problem in Perl. i think my approach was wrong. I think the process is straight forward. If you solve the problem correctly, i think that qualifies you for a phone screening.
Interview questions [1]
Question 1
Your program must accept two filenames as command-line parameters. These files will contain 7-bit ASCII text, and each line may consist of an IP address, followed by a colon, followed by a comma-separated list of numbers. The two files should be joined on IP address and the numbers from each file should be appended and returned, sorted and without duplicates. The results should be written to stdout as the IP address followed by a colon, followed by a comma separated list of the numbers.
For example, file1:
1.2.3.4: 1,3,4
1.2.3.5: 9,8,7,6
And file2:
1.2.3.4: 4,5,6
1.2.3.6: 1,1,1
Your program should print:
1.2.3.4: 1,3,4,5,6
1.2.3.5: 6,7,8,9
1.2.3.6: 1
Your program should handle errors, including malformed input, appropriately and should be of a sufficient quality that it can run on a production Linux system.
I applied through a staffing agency. The process took 1 day. I interviewed at Amazon (Bengaluru) in Sep 2014
Interview
Was called for interview through an agency. The first round consisted of written test. Two coding questions either to be solved in java or c++. The two questions were:
1. A given linked list consists of two sorted linked lists. So sort them.
2. given a binary tree subtract sum of nodes at odd levels from even level.
Apply on university jobs posting website. Get an on-campus interview afterwards. The interview lasted one and half hours, with two interviewers. First interviewer asked three easy programming questions, one is itoa. The second interviewer asked one difficult programming question, which was to search an element in a shifted and sorted array.