My Google Interview Experience — Part I

This is the first of a 2-part series about my Google software internship interview experience (Summer 2019). I went through 2 on-campus interviews and 1 phone interview before getting rejected, and here I talk about the interview process and my experience going through it.

An image of Google, taken from the Google Careers page

The Interview Process

I’ve seen many questions about what the Google internship (Software Engineering) interview process is like, and so here’s a quick run-down of the process, based on my experience:

First off, the software engineering intern interview is completely different from the full-time software engineer interview. Based on my understanding (never having gone through this process before), the full-time software engineer interview consists of 2 technical phone screens and a full-day on-site with 4 technical interviews and a lunch break in between (after 2 interviews).

The Google internship interview, however, consists of just of 2 phone interviews and a team-matching round. The 2 phone interviews are technical, and your interviewer feedback from these 2 interviews is what is submitted to and used by the Hiring Committee to decide whether you move on to the team-matching round or not.

I never made it pass Hiring Committee, but based on my understanding, team-matching is the round where potential interns are basically matched with teams, and typically consists of phone interviews with various teams that might be interested in picking up a potential intern.

Google extends an internship offer only when a match is found, which means somebody could pass the 2 technical phone interviews but not be extended an offer.

Note that all this information is based on my experience, and I bolded those words because the process does change from time to time, and this is just my personal experience going through the process this Fall.

The rest of this post will talk about my personal experience with this interview process.

The Application

It all started before the application, actually: I knew a friend of a friend who worked at Google as a full-time Software Engineer, and so I reached out and asked for a referral about a month before the application (for the Summer 2019 Software Engineering Internship) opened¹. That was sometime in August.

Right when the application opened on September 17th, then, I submitted my application, which didn’t take too long (~10 minutes?) because it was a pretty standard form with some basic information about myself, my resume, various personal links (Personal website, GitHub, LinkedIn etc.) and I had prepared all of this before-hand.

About 2 days later (September 19th)², I heard back from a recruiter:

“Thanks for your interest in Google! We received your application for the Software Engineering Intern, BS, Summer 2019 — North America role. We recently sent you an email with two links — a coding sample and a Snapshot survey.”

Unfortunately, I’m not able to go into more details about what these documents contain, but suffice to say, they’re pretty straight-forward: the survey was a slightly more detailed version of the application that asks some basic information like your preferences, while the coding sample is really, really straight-forward.

I’m not saying this out of arrogance or because I’m some super intelligent CS person or anything like that; I remember my friend mentioning that the coding sample was straight-forward and me not really believing it, but after having done it I can definitely say that it’s a low-pass filter that isn’t super challenging or anything. Try to focus, then, on other ways you can distinguish yourself, like writing clean, modularized, code, for example, or leaving comments etc. That’s all I can say, unfortunately.

I submitted the survey the day I received it and the coding sample by the weekend, 3 days later. I then sent a follow-up email to the recruiter, letting her know that I’ve submitted the documents.

The next day, I got this email:

“Thanks for completing the Snapshot survey and coding sample!
The next step is to complete this brief (3–5 min) questionnaire so that we can learn a little more about you and your experiences. Google will use your answers to align your background, skills, interests and preferences with available intern opportunities. The team reviews applications on a first come first serve basis, so it would be to your benefit to complete this as soon as possible.”

Again, I filled up this brief and straightforward questionnaire and the next day, I got this:

“Thanks for completing that brief questionnaire. I have good news, you are onto the next step of the process! …I’ve passed your information along to the hiring team who will review your full application. If they would like to proceed they will reach out next week. “

The First Interview

I got the news that I had been selected for the on-campus interviews the next day (September 28th), an hour before my econ mid-term:

“Congratulations, you have been selected for on-campus interviews with Google. We have reviewed your resume and would like to interview you for a possible Software Engineering Summer Internship when we come to …”

I was thrilled, and needless to say, I spent a good half of the mid-term thinking about the interview and how I was going to prepare for it. The email came with a host of other instructions, including:

  1. a questionnaire on my availability,
  2. an (even more) detailed application form,
  3. some paperwork stipulating I’m not allowed to share the interview questions I’m asked,
  4. and a request for a copy of my transcript

I sent these over after my mid-term, and 5 days later (October 3rd), my interview was confirmed for October 9th.

I remember feeling really, really nervous in the days leading up to my interview, not only because Google was a childhood dream of mine (as it is for many), but also because these would have been my first in-person technical interview ever, and I honestly didn’t completely know what to expect.

On the day of the interview (October 9th), I showed up 30 minutes early and when the time for my interview came, I was brought to the room for my first interview.

My first interview was with a senior engineer³ on the Android Team, and he asked me 2 questions which I wrote solutions to on a whiteboard. I enjoyed this interview a lot because there was a lot of back-and-forth going on, and while I didn’t always get the answer immediately, my interviewer was really nurturing, supportive and in many cases, it felt like we came to the right solutions collaboratively.

Again, I can’t talk more about the interview questions, but I thought I did alright coming out of that interview.

My second interview, however, was a different story.

The Second Interview

Going into my second interview I had a better impression of my interviewer — he was closer to my age and we went to the same college, so I immediately felt a sense of rapport. The technical interview, however, was brutal. He gave me a question that seemed deceptively straight-forward, and I had full autonomy however how I wanted to work with the different objects and structures involved. It was here I tripped up, however, because I started off by making completely unrealistic assumptions about the structures I was working with.

When he pointed these out to me, I took a step back, considered various approaches, and came up with what seemed to be a working solution.

This was when things took a turn for the worse, however, because after I got a working solution on the whiteboard, my interviewer pointed out a portion of my code and asked how I might optimize it. It was here that I got stuck, and there was silence for a good 15–20 minutes as I thought through how I might optimize that portion of my program. I tried asking for some hints from my interview, but he said that I should think through this one by myself, and in the end, the interview concluded with me giving a strange, admixed, kind-of-murky solution to his question.

And so, walking out of the interview, I was pretty anxious — I had 1 interview that I thought went well, and 1 that I thought went horribly, so what’s going to happen? I read that if the Google Hiring Committee got 1 bad (“No Hire”) interview feedback, that was it, so was this the end of the road for me? But is what I read even true for sure? And was my second interview really so bad that it would be a “No Hire”? I did get a working solution out, after all, right?

Well, I was about to find out.

In part II (read it here), I will share the rest of my experience and the lessons I’ve learned through my Google internship interview.

fang.

Thank you for reading this! If you enjoyed it, please 👏🏽and share it so more people can get to it!


¹ Definitely wouldn’t recommend asking for the referral this early on, though; for more information, look out for a future post on how I think I got my interview with Google

² I don’t want you to walk away thinking that this is the time it typically takes for a Google recruiter to get back to you because the length of time really varies based on what I heard from some of my friends. My guess is I got a fairly quick response because I applied relatively early in the process when the number of applicants was still relatively low.

³ Senior by my observation, not senior as in Senior Engineer the designation