Internship at Google 2013
Chapter 2: Screening interviews
I sent the applications in late November, and I was very excited about it. I have never done anything similar to this before. I was checking my e-mails and spam folder very carefully but after a few weeks I literally forgot that I applied. This was probably because of the pressure of paper submission deadline for ACM SIGGRAPH. And just before Christmas an email starting like this came to my inbox:
Hi Marek, We've reviewed your resume for the Software Engineering summer internship role and would like to learn more about you.
That was the moment I was hoping for! I was so happy about it! Shortly after the initial e-mail they scheduled me for two technical interviews for January.
Fast-forward to January, about a week before my interviews I was starting to be a little nervous about them. I decided to revise some basic stuff like algorithms and data structures. I wrote a quick sort and a heap sort. Both algorithms were not working on the first try. Then I went quickly over number base conversion and that was all I did. The day before the interviews I was searching the Internet for some interview questions.
First interview
Interviews were over the phone. I went home from school with my laptop to have silent environment. I have to admit that a few minutes before the first interview I was really nervous. My hands were sweating as hell and my head was full of mixed feelings. And then the phone rang.
The interviewer introduced himself and we went straight to coding. The coding itself was done in Google Docs while talking on the phone. His first question was about some back tracking algorithm which I solved with simple recursion. It was about 30 lines of code. While I was coding I completely forgot that I was actually very nervous. My interviewer was pleased with the algorithm and he asked me if I can optimize it a little bit so I did. Then he admitted that I was faster than he thought so he searched for another question for me. Second question was some playing with bits and bytes.
At the end of the interview I asked him what is his work at Google and he was from Android team working on low level stuff. The best moment of the interview was when I mentioned that I do not like Java too much for example because everything is signed and bit operations are evil there. He agreed with me and we spent 5 minutes "complaining" about Java.
I had a great feeling about the interview.
Second interview
The second interview followed 15 minutes after the first one. I was in good mood from the first one but still a bit nervous because I was worried that second interview will not be as easy as the first one. And then the phone rang again.
Interview itself started in quite similar fashion as the first one but then the phone went suddenly silent. The interviewer was trying to call me again with no luck. We apologized to each other and my interview was rescheduled for next week.
The embarrassing moment for me was when I figured out what was wrong. I had pre-paid plan for my phone and I did not know that US carriers are charging me even for incoming calls. I was confused because in the Czech Republic (and I think in many other countries in Europe as well) you pay only for outgoing services. Well, I learned the lesson the hard way.
Third interview
The third interview went as well as the first one. Questions were generally about algorithms and complexity. Nothing very surprising, definitely I haven't heard any crazy questions like "how do you get out of working mixer?".
I was quite happy after this first round of interviews and I was excited what will be next. In just 3 days after the last interview email starting like this arrived:
Hi Marek, Thank you for taking the time to interview with our team! Your phone interviews went well and we are excited to move to the next and final stage in the interview process.
My recruiter was "excited to move to the final stage", I was at totally blown! That was just so great and it came so soon! The next phase in Google internship process is called host matching phase.