Dhaval Kapil is a 4th year student of Computer Science and Engineering. Read on as he recounts his experience of interning at Amazon.
The selection process for Amazon SDE Internship is pretty straightforward:
Online Round: The first round is an online round, where you are asked around 20 MCQ questions and 2 coding questions. The MCQs cover topics such as basic algorithms, data structures, and basic probability(without any negative marking). The coding questions were based on algorithms and data structures. Anyone comfortable with problems on websites such as ‘geeksforgeeks’ and ‘interviewbit’ won’t face any issues in clearing this round.
Second Round: The second round consisted of a technical interview. Again, direct or slightly modified questions from ‘geeksforgeeks’ were asked and we had to first discuss our solution with the interviewer and then write the solution(pseudocode) on paper. Corner cases and minor bugs were pinpointed instantly. The level of difficulty was higher than the ones asked in the online round.
Third Round: The third round, again, consisted of a technical interview. The interviewer scrutinized my resume thoroughly and asked me about my projects in detail. Discussion about one of my projects went over for around half an hour. Next, I was asked a ‘design problem’ wherein I had to design a real-time leaderboard system. The interviewer was impressed by my solution which involved a combination of ‘heap’ and ‘trie’ data structures, as well as latest technologies like Elasticsearch and Memcache. As far as I can infer, this round revolves around your resume. One of my batchmates was asked algorithmic questions in this interview also.
According to me, going through the algorithms and data structures section of ‘geeksforgeeks’ and basic knowledge about networking, database, operating systems is sufficient to crack the Amazon SDE internship. As such, your CG has no relevance in the process.
Amazon is an American electronic commerce and cloud computing company. It has a flat hierarchy and is characterized by small teams of size 7-10(generally). At Amazon interns are treated at par with other employees. A good thing about teams in Amazon is that a particular team handles operations throughout the world, irrespective of its location. The team is responsible for designing, developing, testing, deploying as well as maintaining their services. So basically, every member of the team has full control of their software.
I was assigned to AFT Receive Team. It consisted of 6 developers and 2 interns. My team manages the receiving of products from vendors within Amazon Fulfillment Centers throughout the world. There are associates in FCs who are trained to use our software to aid them in receiving external products. I was assigned the project ‘Auto population of Expiration Date’. Previously, the associate had to manually enter the expiration date for an expirable product. This introduced human error and took a considerable amount of time. My project aimed at automating this process.
My work involved working with a lot of technologies such as Java EE, Spring, AOP, Elasticsearch, and Memcache. For anyone new to any of these, it would have been a very good learning experience. I had the freedom to plan and set goals for my project. During the last few weeks, I was even given access to the actual servers so that I could deploy and test my work.
The work culture in Amazon(or any other company for that matter) depends mainly on the team and manager. I found my team to be pretty amazing. There was a good balance of work and fun. I was assigned a mentor who was very supportive. The whole team used to have meals together and also go for frequent outings. There were facilities for playing table tennis, pool, Xbox and even indoor cricket! On every Friday night, we, along with 1 or 2 other teams, used to play Mafia.
As such there were no ‘office hours’, but I usually did 12-8. The work was pretty relaxed and I used to spend a significant part of my time watching videos on Youtube and working for my GSoC internship. In my free time, I managed to look into other projects and helped to improve/fix any bugs along the way. I also spent a lot of time participating in Amazon’s internal Capture the Flag Competition. I managed to secure 2nd position worldwide which later on led to the Seattle Information Security team in contacting me :)
I was placed in Bangalore, which has an amazing weather. Also, my office was in the World Trade Center, which is a beautiful building located in an integrated lifestyle.
As I had already worked with the technologies that I was using during my internship, I didn’t find my work technically exciting. However, apart from my project, I learned a lot by studying the source code of other projects and interacting with highly skilled people.
If you have an internship story you’d like to share, get in touch at firstname.lastname@example.org