The best VPN 2024

The Best VPS 2024

The Best C# Book

How I (almost) got an internship at Google

Spread the love

Weve reviewed your resume and would like to learn more about you. We are interested in speaking to you about a possible summer Software Engineering Internship in one of our North American offices. To start the process wed like to collect a bit of information from you:

Which of the following data structures guarantee O(lg(n)) look up:

I got a solution working, but it wasnt terribly short or clean.

Abinary searchin C. Of course, she didnt tell me it was binary search, didnt actually tell me anything else. Once I got a recursive implementation seemingly working (I never actually tested my code afterwards) she told me there was a bug. This process repeated a few times as I looked for bugs in my index calculation and forgot to handle the not in list case (return -1).

Modify it to remove the nthinstance of a given element to be removed

This interview was much more difficult. And that was because I had to write real code.

I heard nothing for a month and a half. And then, on Friday, February 25th, at 5:06pm I got an email from member of the Engineering Staffing Team, Hadas:

Thank you for filling out the forms. I have forwarded all of your information to Becky (ccd), the recruiter, who will be reaching out to you.

I was called by a Site Reliability Engineer who has worked in the industry for 30 years. He was the nicest of the three technical interviewers, and this interview went best.

She had sent me a link to a Google document and asked that I open it up. I opened it up, and she told me the question:

I could do this in Python. The input parameters and everything else were up to me to decide. Luckily I knew something about sudoku puzzles. Sadly I hadnt solved one in years.

If you got all the way down here, why not keep reading. Checkout myebookand learn how you too can get a top notch internship!

I was originally told that I would only have two of these technical interviews. Later that evening after the interviews I got a call from the recruiter. She told me on the phone that they actually wanted to have a third interview with me. Im not sure exactly why this was, and she wouldnt elaborate. My guess is that I did well enough to move on, but not good enough to straight out hire me. We planned the third interview for Thursday.

Disclaimer:This post has received hundreds of thousands of visits including being onTechCrunchandHacker News. Some people liked it, and some absolutely did not.

Implement an algorithm that checks whether asudoku puzzleis correctly solved or not.

This didnt end up being the process for me. I actually had three technical phone interviews (instead of only two), but Ill get to that later.

Im glad I had the experience interviewing, and after having had trouble finding information on the internship application process and what to expect I thought I should write up my own story.

At 9:30pm that same evening I got another email back:

Thank you for taking the time to interview for the Software Engineer Seattle/Kirkland Internship position. All the feedback has been reviewed from the interviews and at this point we wont be moving forward in the process. I know this wasnt the outcome we were hoping for. We cant thank you enough for your interest in Googles careers and unique culture; we hope you will remain enthusiastic about our company. If you have any questions, please feel free to contact me.

Splay tree- no (they have the property that recently accessed elements are quick to access again, but this causes look up to be O(n) in the worst case.

Ok, now, change the function to remove the last instances of duplicates instead of the first instances.

Lastly, a few Python language specific questions:

In exactly one week I had gone through the entire process from being contacted to having three technical interviews and hearing back. By far the fastest process of any company I talked with.

The next day I got an email from the recruiter (she called me when she wanted me to proceed with another interview, so I assumed an email was a bad sign):

Implement the following algorithm in valid C in the shared Google document:

I immediately filled out the forms and responded.

Next he asked me some questions that should be implemented in Python. I only needed to describe the solutions and did not need to actually code them up. Each question began simple and got increasingly difficult as he added on functionality or requirements.

Like most every Computer Science student looking for a summer internship, I applied to Google.

Id like to point out that given two full hours and any high-level language (including pseudocode) only 10 percent of professional programmers implemented binary search correctly,according to Jon Bently.

What does theasteriskmean before a parameter in a function declaration.

What does a double asterisk mean before a parameter in a function declaration.

He asked what had been my hardest projects, and then we got started. He wanted me to write some code, but he had not set up a Google doc like interviewer 2, so he said I would just tell him what code to write down over the phone. This sounded miserable. I suggested that he create a Google doc, and he did. The problem was:

Write a function with the following specification:

I wanted to figure out my summer plans as soon as possible, so I scheduled two back-to-back interviews for the following Monday. At this point I had heard from them on Friday after 5pm, and had interviews scheduled for Monday. It seems Googlers dont mind working on weekends.

I submitted my application on theirwebsiteon December 31st, 2010 and received a thank you email. About ten days later I was sent an automated email asking me to fill out a Google spreadsheet Beta candidate preference form.

This single question took up most of the 45 minute interview, and I dont remember any of the other questions.

I was called by a guy, who unfortunately, was not as nice as the first interviewer. He asked me which Computer Science classes I had taken, and sounded condescending hearing my response (I was a sophomore and in my fifth C.S. course at the time).

My interviewer was somewhat new at Google and was working on the Webmaster Tools Team. She graduated three years ago from Carnegie Mellon and said that Google was her first job.

Are you wondering how to get a great internship with a top company? Grab a copy of my ebook to learn what the what it takes to get a job with companies including Google, The New York Times, and startups.

After a quip that since I was still in school and these were fresh in my mind I was asked some questions about data structures.

She explained the process of applying:

I really had the feeling that luck was a huge part of it. If I had more recently implemented a binary search, something I had to do last year in a class, and it was fresher on my mind, I might have done it more quickly and with less errors. If I loved solving sudoku, the second problem would have likely been easier. In the end, if you get lucky and the question you are asked is something you are familiar with, then youre in luck. I had the sense that they did not care very much about prior experience. It only mattered how you did on your interviews in response to a few specific questions.

He sawDjangoon myrsumeand asked me a few questions about the templating system. Something along the lines of:

A limited liability company in beautiful Portland, Oregon

To give you some background, here are the steps for applying for an internship at Google: First youll do 2 technical phone interviews (45 minutes each). If the interviews go well, your information will be shared with potential intern hosts to review as we work to identify a project that is in line with your background and interests. Once a strong match is determined, I will contact you to set up a host interview (30 minute phone call).

I emailed the recruiter, Becky, and the next day heard back from her. At this point I was increasingly impressed by their responsiveness. I had been talking to other companies and everyone had been very slow and unorganized responding to my emails.

I got an internship with The New York Times the following week.

His actual last question was if I had any questions for him. We chatted a bit and then he let me go so I could relax for ten minutes before the next interviewer called.

I did not share anything I was asked not to share, and I have received no requests to change or remove this post. Thehiring processis complicated, and I believe an open discussion about current practices in our industry is important. If you are going to interview me and have an opinion/concern about this article, bring it up. Lets chat.

I had to read and sign a few forms before the interviews. I read through them very carefully and it didnt seem they explicitly forbade me from discussing the interviews. Hopefully I dont get a letter from Google lawyers informing me I broke some agreement. Although acease-and-desistletter from Google would be a nice wall ornament.

I hadnt written any C code for at least a few months. As I began trying to remember proper syntax knowing I was being watched, I wished I had studied up on C before the interview.

Leave a Comment