My Google Interview Experience for Application Engineering Internship, Summer 2021

[Reject, yet fruitful]

It was the day after my birthday when I woke up in the morning and found something dropped into my mailbox. It said, "2021 Application Engineering Internship Opportunity with Google India!". I realized it was important so I dropped the folded sheet on my bed and started reading. One of the recruiters at Google contacted me for the Application Engineering Internship role at Google which was recruiting for the first time for this role. They wanted me to fill possible dates for interviews I would have to take if I am shortlisted for further process. They also said there would be two interviews - coding and application design and would be conducting an interview prep session if I am shortlisted.

The initial "Google" anxiety

After I filled the dates convenient to me, I went through the few resources sent by Google which explained how they hire and what they look for in a candidate in an interview. I had an initial "Google" anxiety whether I would be able to face it. I wanted to prepare hard so that I would be able to overcome it. I started practicing Leetcode. After nearly a week later, I received invitation for the interview prep session which happened the next day.

My preparation strategy

I knew that I lacked my basics in few topics in data structures and algorithms which were the core of the first coding interview. So, I wanted to streamline my preparation so that I revise basics and practice reasonable number of problems in each of the topics. Some of the resources that helped me revise are

  1. Data Structures and Algorithms Made Easy by Narasimha Karumanchi [Book]

  2. Cracking the coding interview [Book]

  3. Leetcode, Interview bit, Geeksforgeeks [Platforms to practice]

Apart from DSA, I had to prepare system design concepts for the application design interview. Before I actually delved into system design, I understood that I had to revise some computer science fundamentals so that I would be able to design an application from scratch which would be the exact way that happens in the interview. The few resources I followed were

  1. Some curated notes I had in databases and operating systems.

  2. System Design Playlist by Gaurav Sen & Tushar Roy

  3. A few other YouTube videos for making sure I was clear with some basics

After I covered most of the topics, I tried designing a scalable system for one of my projects.

It's time

When it was time for me to give my interviews, I was not scared about it as I did a reasonable preparation although I was a little nervous before it actually began. I had both of my interviews on the same day being approximately 2 hours apart. These interviews were the best I had given. The interviewers were friendly. Both of my interviews were more like a discussion where I shared my approach and how I would tackle the problem. They gave hints when I was stuck. The system design interview is my favorite because I enjoyed it the most. When both my interviews were done, I was not worried whether I would be shortlisted, but I was happy as I did reasonably well and had fun in both the interviews.

Result

I hadn't heard back from Google for a very long time. So, I contacted my recruiter about my candidacy and further steps. I was informed that the hiring team was not moving forward with my application and one of the recruiters would reach out to me if any role suited my profile in the future.

Learnings

Although I was not selected, I gave my best. I got to revise a lot of fundamentals, learn new concepts in design & development and practice problems. It was an encouragement for me to keep practicing and look out for more opportunities.

Tips

Never freak out whether you would be capable. Prepare hard. Stay cool. The interviewers mainly look for how well you are able to communicate your thought process apart from just solving and optimizing the solution. Like Google said, it's important to think out loud. Finally, it doesn't matter whether you are selected if you gave it a good fight. Keep learning!