Oct 29, 2011

My two phone interviews with Google North America

  I applied online in the Google's jobs homepage for a summer intern in North America. After a few days( less than a week ), a recruiter sent me an email for further details of my propensity of working locations and some other information like previous employers(I don't have one), etc. After I finished those forms, another recruiter contacted me to find my available date for interviews, and then a third recruiter scheduled two phone interviews for me on 10.26 Pacific Time.



  I prepared for the interviews for about two to three days. And the day came. The first call came at 1:00 am when I was in my lab. I was kinda sleepy at that time( I forgot to take a nap ) while I unexpectedly found that my interviewer was sleepy as well. He said he was doing his project late the last night. So he did not have mood to talk about my resume stuff and the interview went to the code phase directly. Due to the NDA, I won't reveal the exact questions here, I only talk about my experience  in general. And notice that all the coding was done via Google Docs. The first three questions were quite easy and straight forward, which was all about designing data structures and coding as required. Then there came two so called 'open' questions, that is, with no standard answers. And for one of them, the interviewer kept asking a lot on my answers to the previous questions until he thought we had gone really far away from our original question. And the last question was to optimize my algorithms in the first three questions. Actually what he was looking for is to find another ways to solve the problem, I offered two, which were all in the same big O running time as my original solution( And there is no better solutions in big O running time, I bet, because the I/O already needs O(n) time ). At last I asked what did he do in Google and he patiently answered.

  The second phone call did not came that night as the expected interviewer was detained by a meeting so this interview was rescheduled two days after that.

  I had this second interview yesterday. It seems that my recruiter changed the team which was supposed to interview me, but anyway we started the interview by introducing ourselves after the call came about 10 minutes late. This interview was not all about regular algorithm and data structure stuff, so at first I was kinda lost. But after several minutes, my brain began to work again. We talked and solved the problem and ended up by coding something about multi-thread. I could not believe I succeeded in finishing this problem. At last my interview gave me an extremely easy coding problem and I finished it in less than 3 minutes but with a bug, which is because I did not read the problem clearly enough. The interviewer hinted and I immediately find the bug and fixed it within 2 minutes and the interview ended. I asked the same question in my first phone interview( actually I am wondering what kind of people is handling interviews in Google, so I'm always asking this question. )

  To sum up, the two interviews went well as I expected except for some bugs in my program when I first finished them. And the interviewer were really nice and patient, I asked them to repeat their words several times due to the oversea bad signal, they all did happily.
  After these two interviews, I believe I'd better prepare myself comprehensively through every snippet of computer science just in case of the latter interview. The question in the second one can not be done if you do not have some extent of knowledge on that aspect.

No comments:

Post a Comment

What's your idea?