Round 1: Aptitude test
- An aptitude test was conducted, comprising of 20 MCQs and 2 coding questions. MCQs were very easy. MCQs were based on data structures/asymptotic notations/data structure and quantitative and verbal aptitude.
In coding section there was an easy question which was based on strings and brute force based.
The question was to check if the substring of one given string is an anagram of the other.
Input: zamo amazon Output: Yes
- Second question was of moderate level in which input is an expression string and you have to evaluate that given string is valid. If yes return the value of the expression, else return -1.
Input : 5+7*2 Output : 19 Input : 5++4 Output : -1
I solved one complete and one partial.
Round 2: Technical Interview 1 (around one hour)
- After Aptitude they selected 18 candidates and announced that interviews would begin within next 15 minutes.
Firstly he introduced himself and then asked for my introduction, it was just for creation of amicable environment. After that I was asked technical questions.
Question 1:You have been given an alphanumeric string extract maximum numeric value from that
Input: 100klh564abc365bg Output: 564
Answer: I gave him a o(n) approach, he gave me a few test cases and tried to prove my logic wrong, for one case I was wrong because I had used int data type so as to rectify the mistake, I told him that I would be using long int instead. Then I asked him if I can use string.h library? He said yes sure, then I gave him iotn() approach. Then he told me to write the code.
- Question 2:You have been given a generator string ab from which any number of strings can be generated recursively by inserting ‘ab’ at any location. You have been given an input string to check if that given string is valid or not.(i.e. generated by given with given string.)
eg. Input: aabbab Output: valid Input: abbaab output: Invalid
First I gave him o(n^2) approach then he told that he wanted o(n) approach. After about 5 minutes I gave him o(n) approach involving two pointers. Then again he told me that I would be traversing the input twice. What if I wanted to achieve it in one pass? Afterwards I gave him solution using count variable. (It was PDA problem there is also a stack based solution but I didn’t give that solution because that solution didn’t strike at that time)
Then he asked me,”Do you have any question for me?”
I asked him about job profile,his projects and his experience in Amazon
Round 3: Technical Interview 2(1 Hour)
- After one hour of round 1 they told me that I was selected for round 2. Just like round 1 he asked me to introduce myself. Then he started asking technical questions.
- Question 1: Delete a node from doubly circular linked list.
Answer: It was easy question, so I asked him about constrains, like if there was any condition that node can exist or not and data constrain. After listening to constrains I wrote a code covering all possibilities and hence we checked few test cases manually for that code.
- Question 2: He observed that I was little tensed he asked me the reason of my nervousness. I answered saying, as it is my first interview and I was feeling anxious. He asked me why why was that so, though few companies had visited campus before Amazon, guessing that I must have had at least one interview experience.
Answer: I told him that I was not eligible because of low pointer then I told him that why my CPI was low and how I’m good at coding. 😛
Then He encouraged me which was very good and positive thing for me(usually interviewer will do it if you show your positive side). Then he asked few question related to my hobbies to make my mood fresh.
Coming back to technical stuff …
- Question 3: You have been given stock prices for n days and find optimal buy and sell day i.e. maximize the profit.
Answer : I told him that I have solved similar question in Morgan Stanley Hackathon, Then I gave him o(n2) approach and told that when I implemented this approach in the contest I got TLE(time limit exceeded) message hence I had modified it and found a o(nlogn) solution which got AC(all correct) in contest. Then I explained o(nlogn) solution using STL. He told me not to use STL and asked me if I can solve this question in o(n)? I replied I shall try. Then after 10 minutes, with dp approach I successfully solved that question. We then checked some test cases.
After this question he asked me if I had any questions. Taking reference from first interview we discussed for around 10 minutes about projects currently going on in amazon and his experience in amazon.
(I think this question matters a lot because this question reflects your confidence about selection as well as your interest.)
Couple of days after the interview I received a mail stating I was selected for the internship hope you will also get a similar mail.
How to prepare for internship?
- Quant and Verbal Aptitude:
- indiabix.com is more than enough.
- You can also use RS Agrawal books.
- Technical Aptitude:
Any book of DSA and DBMS you can use.
- Data structures made easy is awesome and enough for DSA
You must solve MCQs on quiz.geeksforgeeks.org
- This is totally different from MCQs. You have to write and debug code, so practice is very important for this round.
- To study algorithm and data structures’ implementations refer geeksforgeeks, also try to solve questions on practice.geeksforgeeks.org
- For standard algorithms follow codemonk series by hackerearth.
- Logic development usually takes more time so try to practice on codechef and hackerank. Also try to participate in live contest of codechef (every months codechef long challenge).
- In technical interview you should be aware of commonly known data structures and algorithms. Learn that from geeksforgeeks and implement on codechef. If you are prepared for coding round then preparing for interview is a cake walk and all you have to be is confident. To answer the coding questions impressively I would suggest you to go through the career-cup questions once.
- ‘Cracking the coding Interview’ is best book for tips of technical interviews. Also if you have studious friends’ circle, try to conduct mock interviews with friends. (And to be honest, everyone gets serious once internship procedure starts so you can easily manage that.)
Lastly I would also suggest coding on interviewbit.com if time allows.
Few Tips(Specially for SY’s reading this) :
- try to Keep your CPI above 8 else you will miss some opportunities. And another thing CPI matters only for qualification after that CPI is just a number nothing else . So TY’s reading this if you don’t have decent CPI then tie your shoes for coding (MY CPI was just 7.8).
- Try to code on codechef and hackerank and try to participate in live contest
Wish you all the best! 🙂
If you like GeeksforGeeks and would like to contribute, you can also write an article and mail your article to firstname.lastname@example.org. See your article appearing on the GeeksforGeeks main page and help other Geeks.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above
Attention reader! Don’t stop learning now. Get hold of all the important mathematical concepts for competitive programming with the Essential Maths for CP Course at a student-friendly price. To complete your preparation from learning a language to DS Algo and many more, please refer Complete Interview Preparation Course.