Another Phone Interview

In nearly one hour I will be having my third, and hopefully final, phone interview. This one will be conducted with a software engineer from Google Zurich office. By the way, I have been busy prepping so I totally forgot to tell you all that my work location has been decided at last. It is not, as I had hoped, Sydney. It is Google’s EMEA (which stands for Europe, Middle East, and Africa) HQ at Dublin. I am actually very happy, because the job description states my position as an anti-abuse engineer, which indicates that I will be involved with a whole array of Google products, from mail, to AdSense, to YouTube. That’s actually quite promising.

I got another GoogleDoc shared with me, by “James Bond”. I now feel somehow that I’m applying for a super-spying company, rather than a tech corporation, given that my previous interviewers had the aliases “Anonymous Cheetah” and “Anonymous Possum”. Anyhow, I am nervous as hell. This time I will hopefully get to actually meet my interviewer face-to-face as the interview is going to be conducted over Google Hangout — if SSL-filtering does not break it for me, that is.

Well, off to do some last-minute studying and review.

Second Phone Screen

I got my answer in about three weeks. A rather long period of time, based on the normal time reported by other people.

But it was good news, so I wasn’t too mad. What had happened was that apparently it was Google recruitment season finale and my recruiter was swamped. So, anyway, I got good news, but they told me to study more data structures. It all relates to a data structure question I had to answer, but had to invent my (coincidentally correct and working) own data structure because I had not encountered the actual data structure before.

Anyways, I got to it. Studied CLRS some more, read Cracking the Coding Interview some more, and then it got time for my second phone interview. It happened two weeks ago. This time, the interviewer was more business-like. No chitter-chatter to get me to talk about my background. Just jumped right into coding answers to the questions on the shared Google Doc.

I got the first question right, and stumbled my way past some optimization to my solution. He was happy enough and gave me the next question. I had to first illustrate that I understood the question well enough and had the rough sketch of an answer before he would let me write some code. I chose Java since it’s the language I’m most comfortable in.

I made the silly mistake of sorting an array and getting the first item by way extracting the minimum, instead of the obvious O(n) way. He caught me on that, and I said shit out loud and apologized and fixed my code.

He was happy that I could detect my own mistake at one point, and finally asked me to tell him how I would make an O(km) answer run in O(m lg(k)) by using the proper data structure, but told me no further coding was needed as we were nearly out of time.

I told him, and he said his good day to me. I asked him to tell me how I did before he hung up, but he wouldn’t. He hung up and I waited for an answer.

Four days later, my recruiter called me, giving me a very positive feedback. He pointed out these points (from a feedback report, no doubt, as he confessed himself to be not-so-technical):

  • very adept at algorithms
  • converts algorithms to codes very easily
  • competent codewriting
  • made sure functions terminated without errors
  • no issues understanding the problems
  • sophisticated coding
  • should be brought in for the face-to-face

Anyway, I was thrilled. He told me should the same feedback come from the face-to-face, I could consider myself hired. I was overjoyed. Right until he told me that Google — unfortunately — would not be hiring anyone outside of the US for its US-based offices, this year.

Now, I am faced with the choice of going somewhere else in the world, or postponing the whole deal for a possible future date. I would love it to happen and should it be for Australia, I would be extra happy. But I have to wait for the recruiting officer for outside-of-US offices to tell me what options I have, exactly, location-wise.

Anyhow, that’s how it has been so far. I will be studying some more, practice coding on paper and a whiteboard, since that is the hardest part, I hear. I will also be reading more in-depth algorithms to be as ready as possible. Who can ask for more, right? Anyway, if there is anyone out there reading this, please do wish me luck.

 

First Phone Screen

Okay. I had my first phone screen with Google on October 16th. Unfortunately, the phone connection broke down five times and the interviewer (who, incidentally, was called “Anonymous Iguana” in the Google Doc shared with me for the purpose of the interview) had to postpone it. My recruiting coordinator wanted to reschedule for a week later, but since the anticipation was grating on my nerves I had to object and the interview was set up for two days later, the same time.

Anyways, I finally got interviewed. At first, there was an overview of hashtables. A pointer to those who want to take the interview upon themselves. If there is something that is specially emphasized in the prep material you should take it as seriously as possible. For instance, in my case, hashtables were singled out as being really important.

Then there were questions into my background. The usual, really; what was your biggest challenge, how did you face it, how have you liked the different areas you have worked in, etc.

After that, there were two questions, one regarding bit manipulation, and the other high-end system design. I had seen both questions previously, but it didn’t make them any easier.

I cannot share the questions with the public, but I can advise everyone to read the material available online as well as the book, Cracking the Coding Interview.

I have not yet received any feedback from Google staffing, and I’m dying to hear from them.