Amazon- the interview
Interview and preperation
I will write about the interview in this blog and later update the result as it is not yet out. First of all I got this interview out of nowhere. I was randomly searching for jobs and thought of filling those forms in Amazon careers site. At the time I got this interview I was waiting for the Red hat Interview too. When I saw Amazon mail in my mail box I was overwhelmed!
After gaining my senses I slowly read the email and Job description. They have asked for a phone interview date, so I gave tuesday giving me time to prepare after the red hat interview on monday. After Red Hat which I thought went pretty well I did not feel like preparing much, so I should say I did the preparation for it haphazardly for one day. But I was able to regain my consciousness and read upon a bit on the next two days.
Travel
I should say the phone interview was unusual, I expected a lot more technical that the real interview. It was technical but its in the domain of web services and their site. The good thing I did was I prepared my behavioral answers well which I am sure they would ask. Why Amazon, why web services, why support position. I think this saved my day and was told the next day that I am selected for on site interview.
Traveling for interview was an unique experience that was the first time I went to west coast, to a coast, changed flights within US, stay at a good hotel. Actually I was initially booked for Grand Hyatt but unfortunately it was booked and I was booked for an Ok hotel called Andra. I boarded the flight at 2.20 and came to Cincinnati in around 2 hours. Since my flight was late, I had to run like hell in that airport to reach my connecting flight. This flight also started with some delay but I don’t care as I have nothing to catch upon. After 4 hours of boring flight I reached Seattle at 6.30 local time.
It was less colder than in Cincinnati. After some fiddling around the airport I found taxi and surprised to see Indians driving taxis. I have observed this at other places too many Indians take up this profession for money. As one of the drivers said its quite common to earn $250 a day and after a while they go back to India. Neat and quick way to get rich!
Well the guy who took me the airport was a kind of interesting, he kept me asking about my programming languages, what’s the difference, what I like more and say a simple hello world program in it. Allegedly he is learning C sharp for a while and he is intending to get a job in programming. I came to the hotel and should say rather unhappy about it, I missed the feeling of Hyatt. But I was delighted to see a lot of cookies in the room. I grabbed my favorite peanut MM’s and opened almonds only to later realize that they are charged if eaten. I found that very bad, one can’t keep all cookies, drinks in front of our eyes and ask us to pay for them to eat. Its very luring and a dirty way to do business.
Well, I had good bath and then went out in to feel the Seattle cold. It was only slightly snowing but I could see snow on the road and cars. I had a map and found a Indian restaurant in it. After some fiddling and groping around in nail biting cold, I found the restaurent and ordered the indian favorite dish Chicken Biryani. Partly due to my loss of appetite by MM’s and partly by the taste I did not like it all. I should have eaten some other food. Then I came back to room and saw TV for some time only to realize that they are trying to monetize that too. If you want to see a movie you have to pay money for it. Gross. Then I tried to sleep but then remembered 1408 movie and grew terribly frightened. I am alone in a big room, silence, only lights changing distinctly outside. Only then I realized that it was the first time in US that I spend my night where I could not speak to none in person.
Morning
Since I am an EST guy I woke up quite early and started getting ready. I made coffee and started preparing for some interview questions. Then at local time 8 I went out and had my breakfast and took some pictures. Then after some searching I found a Bank of America ATM inside a store and took money for taxis. After some failed attempts I gave up on getting a tie on my neck. So, finally I checked out took a cab and asked him to drive around, so that I can see some places. The taxi driver did that and it was fun. I reached Amazon by 11.30 and I advice others not do this because you dont know what to do. Sticking to schedule is fine but don’t rush. I came and clicked my camera for couple of times to get some good pics.
Interview
The first interview contained of many surprises, first it is a lunch interview, second its with the manager of the AWS support team which means she is the hiring manager, third it was quite long. I should have eaten by the time my first mistake, I couldn’t even look at my food in between my talk. I was kind of awkward, having a spoon in my hand and trying to answer her questions. After a while I decided to shove it off. All interviewers are writing furiously whatever I told them. This person almost filled two sheets of paper with what I have said. It was not technical, she once again briefly explained the position and kind of responsibilities and work involved. It was a half behavioral and half how much I studied AWS kind of interview. Some questions were - what is you most challenging project and why, what are your future plans, what are your weaknesses. Some technical questions are - what do you think of the AWS website, what other services do you want to have, what improvements in the support process can you think of. And there are some tell me a situation kind of questions- I quoted my chess coaching experience for which I did not have technical experience to quote an experience from my projects or internship. I guess the interview did not concentrate much on details but rather on getting an overview of me. I guess she will make the yes/no decision and the rest of interviews just augment her decision. I think I did an OK job because at couple of places she helped me to break the silence by asking a different question. But at the end I think I asked 2-3 good questions because she appreciated them. I don’t know what better I could have done in this interview except may be to try out AWS really seriously.
Second interview was with another manager from the business group and he asked me architectural kind of questions. He asked me explain me what are all the actions that occur when a person clicks on a link and page is displayed to the him. I think I went more into details than required and missed parts that he is seeking. I mean I really did not understand at what level to answer and I do not have the knowledge to answer it a managerial level. I said about DNS, IP, cache and he stopped me asked me to go at a higher level, so I said application server, processing, response. Then he asked me to draw a picture of architecture of youtube. I said — pay load server, server farms, and drawing inspiration from the webservices book I read, I said about application servers, database servers and said that SOAP can be used for messaging. Then he asked me how would the design change if they started using Amazon S3 as the storage for all the videos. I just put it at the end of DB servers. Then started role playing, he asked me what are the steps you would take if none of the videos are showing up. The CTO of youtube has called you and said that they have a problem with the S3 that their customers were not able to access any of the videos, he asked me what are the steps that I will take to troubleshoot that. I said first I will check if the load balancing is being reached, then a particular application server, then a particular database and then finally check for S3. Then he said that the problem is with S3 that some thing has gone wrong with it and you are still on the phone with CTO. So, I said if possible I will route youtube to a different S3 server or else say that I will get back to him as soon as figure out some thing out or within 2 hours which ever is the latest. And he asked me some other questions which I think are not yes/no kind of answers but quite open ended.
The third interview is with a guy who actually interviewed me over the phone. The first few mins I again explained to him my project then he went to role playing. He asked me to say what I would do in a worst situation, when there is no help. I said to him some alternatives he said they are not available. He too asked me the steps. I said something. After making the situation more worser he lightened it up and said that I got some clue. Its more like what I would do and so on.
Then fourth interview with another person in the team, she appeared quite friendly and she gave me a feeling that I already got the job. The questions were again role playing and some experience related questions. But I remember that I couldn’t answer how would one shut down a computer in linux from command line. I always used the GUI version, so I have no clue. She said one should use shutdown -h.
The next interview was with a guy from a related team and again some rhetorical questions. He asked me explain about some other projects I did. He seemed to be quite young but he said he has over 8 years of experience.
Then came the HR round. She asked me questions like will you be able to relocate and how about lease you are having now and such. She asked me about salary range and I said I will be looking in the range 80-90, I guess she did not like it or something. But nonetheless she explained the benefits package of Amazon in detail and how everything is divided. Man, I could feel that I already had the job, they can discuss salary later… why to tempt me.
The final round is one where they tested any real knowledge. It was mostly a programmatic interview. He asked me java questions. What is meaning of static before methods, what is the didfference between string and stringbuffer, what is the difference between int and Integer. what is the meaning of synchronized before a method. The last question I messed up, I said that a lock will be acquired on a method which is wrong he tried to help me. But I couldn’t guess, lock will only be on the object not on the method. Bummer. Then he asked me to write code for doing a variety comparision. Write code for the following mode of string comparision. The method should return true if the second string contains all the characters of the first string (order is not important) and you should consider duplicates. For example, first string is aabc, true for kbaac, abac.. false for abc.
Dont worry about the complexity. I guess the person just wants to see if I can write code. Also I think I got the correct idea in less than 30 seconds but putting it on the board took around 10 minutes. I said put all the character of the first string a binary tree(hash would have been better?) so that retreival takes only log n time. Then get the characters of the second string one by one and check if the tree contains that element. If true remove that element. Finally if the tree is empty they are equal and vice versa.
After this he asked me Select a topic of your choice and talk about it for 5 minutes. If you want I will time your talk.
This is a weird question and trying to appear technical I talked about object oriented principles. I covered 6 points from the head first design patterns book and then I asked him am I going in the right direction. He said that I am above 10 mins and he seems to like what I said.
Return
After 5.45 hours I am done with interviews and was feeling good. So, I went out roamed around Seattle a bit. And at night I was almost asleep when I boarded flight. Then a funny thing happened I lost my purse, I realized that only after reaching Atlanta. So I informed the airlines about it. So I could not have good food.
Awaiting
I expected them to call me back the next day as did for other people and me for the phone interview. The HR said she would get back to me surely by Friday and probably by wednesday or thursday. So, I was literally sitting beside my phone all the working hours. I did not hear.. no call.. not even on Friday. I did not feel like calling them up because I got a sentiment that things will get bad when the candidate contacts the company instead of the company calling the candidate. But I couldn’t resist I called on Sunday and left a voice mail. Gosh.. the worst happened.. “unfortunately the team is not moving forward with you”
Update- update
Result
Once more I got rejected. They haven’t given me a reason, I didn’t even bother to ask for a reason. One lesson I learned is that if the company did not contact you until you contact them, you are already rejected. So, I warn you all of you, don’t ask the employer their decision, their answer would always be a negative. If they hire you they will let you know. Its their need now.