The Google Interview - A dream halfway through

Going through the Google interview process
published: (updated: )
by Harshvardhan J. Pandit
blog job personal image for The Google Interview - A dream halfway through

So there I was sitting in a window seat on a bus going back to Cork, lost happily in my own thoughts. I had just seen Interstellar, and was mesmerised by the film. I checked my phone for emails, and noticed an odd one that I could not figure out for quite some time.

My name is **** and I’m a part of Google sourcing team. I came across your LinkedIn profile during my research and noticed your experience with coding in several languages and Linux systems which is great. I think you could potentially be a great addition here at Google!

We are always open to speaking with top engineers for our engineering team based in Dublin which is a blend between systems engineering and coding.

If yes, then I’d be happy to schedule a call with you this week or next week and we can chat. :)

Looking forward to speaking with you!

The first response my mind made to this was, is this legit? For the next 15-30minutes, that was all I could think of. I checked the sender address, and it said *****@google.com. Ok, this really freaked me out. I cross-referenced the name on LinkedIn, and this really was from a recruiter! My luck! How and why did I ever get the call was a great mystery. I remember one of my friends saying, “Keep a good LinkedIn profile, recruiters use that to look you up.” I’m glad I listened to her! It had been a few days since I had given a talk on my research at Google Developer Group, Dublin, and I wondered if this had something to do with that (it didn’t).

When the feeling settled in, the excitement started in. I was so excited that I dared not reply to the email at that point for fear of saying something stupid. So the next day, I replied to the email and got a prompt reply asking me to rate myself on a few topics related to computer science. That was when I got my first scare. I really rated myself as being average, thinking that it is better to underestimate oneself rather than overshoot and miss.

When the call started, I had expected to be shot with an array of questions that would test my knowledge. But instead, I was asked to talk about my current research, what I like to do and what I wanted to do. Then I was told about the job opportunities at Google Dublin, which were mainly about System Administration. I thought about the job, about working at Google, which is a dream of mine. But then I thought about my interests, about my other dream of what I wanted to be working at in life. I want to work in context-related areas, making the use of technology to do things in better ways. Sure, system administration at Google is at massive scales, and probably one of the most exciting networking jobs, but I had never been interested in it. And so, with a half-sure mind, I said “no, I want to do something else with my life“. I got some flak from people over not taking a job at Google, and I wasn’t sure, except a tiny bit, that I had made the right choice.

A week later, I got another email from the recruiter with the news of software engineering jobs at Google, and that another recruiter would handle the process. Great news! I could get a software engineering job at Google! When I spoke with the new recruiter, I asked about the kind of jobs I would be doing, and was told that Google hires people who then get assigned projects. And if I ever felt like changing projects, I was free to do so without going through any interviews or screening process. That was great news, no wonder that Google gets rated as one of the best places to work. So we scheduled a date for the interview, and the recruiter sent me some material that I should study and brush up on. Unfortunately, this was in December, when I was smack in the middle of finishing my thesis. So I could not give the study much of my time, but whatever I did was just a revision of graduation concepts.

Soon the day of the first interview arrived, and I waited in suspense over what I would be asked and tested against. The phone rang up, and I answered, still lost in the feeling of awe of giving a Google interview. The first five minutes went talking about general introductions. And then came the real question. I think there is some google policy about not divulging interview questions, I am not sure. But I will anyway not mention anything specific. I was provided with a real-use case that contained a hidden problem. I had to identify the problem, and then choose the most appropriate approach to develop a solution. I was excited to go through the process. It made me think about problems in a way that I hadn’t done in a very long time. At the basis of the problem was a graph, or a travelling salesman problem. Given a set of edges of an optimum route, how do I identify the starting and ending points of the route, and the path from there onwards. It was exciting, and I got the right approach, but overshot the time for providing the code. I was sure my solution was correct, but I was not sure that my code was optimum. I was positive about the results.

A week later, the recruiter called me and said that while my solution was better, they wanted to do another phone interview to check up on my programming. This time I was stuck in a rut. I had to submit my thesis in two weeks, and the interview was right before the deadline. This prevented me from practicing much, and I felt half prepared as I faced my second interview. For the problem, it was all about trees, and I got the correct solution and proceeded to explain the process. But I got stuck somewhere in between, my unpreparedness showing when it came to handling trees. I knew right there in the middle of the interview that it was going bad. But I managed somehow to limp to the finish line. When the interview was over, I knew that I could very well not get past to the next stage

Sure enough, when the recruiter called and informed me that I did have what Google was currently looking for (a polite way of saying I’ve been rejected), I was prepared. But I got a nice surprise when I was told that the interviewer thought I had potential and I should study and try after a year. To me, this seemed like a new opportunity.

When I view what happened at the interview, and think what I need to do to make it through the next time, it isn’t much apart from practice, and more practice. I could get the problems, start on the solution, but where I lacked was representing it as a piece of code. In the past, I’ve been used to working on problems with a pen and a paper, taking my time, and going through a lot of divergent paths before settling on a solution, which I would then proceed to code. I need to change this to create a style of rapidly solving a problem, and the best way to do this would be to solve the kind of problems provided in coding competitions. So that is what I’ll be aiming to do this year. And also revising graduation concepts now that I have the time. I plan to do a few short project that will help me develop something (also for my resume), and would help me practice writing code.

I look forward to studying, and dream of one day working at a really exciting place. And for that, I have to work, learn and innovate.