I went in for the face to face. The people were nice and friendly in the office. I did have a fairly nasty incident the night before, though.
Needless to say, travel costs including taxi fare were all covered by Google, so I hardly spent a penny.
I went out 10 something at night to grab some dinner. It was late and there were few places open. I started eating and then a guy came and sat next to me. Now, as the place was very small and it was one of the only few operational places left open, I did not think much of this, as it was already very cramped. He started talking to me and it soon became clear that he was from Cyprus and was here on business. I told him I’m also on a very short trip.
He ate a lot of food, and then left for the rest room. In the meanwhile I finished my meal and asked for the bill. The guy brought me my bill and I looked at it. 1200 Turkish Lira. My mind was blown away. I checked and realized that it was four times the number of items I had eaten, and mine was just amounted to 70 Liras — in retrospect, the hotel would have charged me somewhere near 100 Lira, with the difference that it would have been brought hot to my room and of a superior quality. Not to get sidetracked, I called the manager, a stocky short guy with a huge mustache. He told me that “my friend” had left and I had now to pay for him. He had three bottles of 250 Lira wine and lots of food. I dug into my pocket and realized that fortunately I didn’t have much money with me. Around 100 Lira just so that I could buy dinner, as that was the purpose for which I had set out in the first place.
I got into an argument and then he called his second, a tall guy, that I thought was going to beat me bloody. We counted my money. 110 Lira and 30 Euros. He suddenly looked at me and said in a heavily accented Persian, “Are you from Iran?” and I looked at him and said yes. He told me that the guy was probably with the manager, and that this was all a ploy. But he cautioned me that things might get ugly, and fast, and I told him that I was a student and this was all my money and that I had come for an exam and that my hotel was Topkapi in Aksaray. Fortunately, I didn’t have any identification or hotel information with me. If they had realized my real hotel was in the best part of the city things might have changed drastically.
He looked at me and then said because you are “Fars” and because I’m a student he will cover my back. He took all my Liras and 10 Euros and gave me back 20 for the ride back home. He went to the manager and signaled me to leave. I left quickly, shaken.
Well, that story left aside, let’s get to the actual interview.
There were three separate interviews. Two with senior engineers from Ireland, and one with one engineer in Mountain View, California. I am not at liberty to divulge the names or the particulars of the interview — I think 😀 — but I will talk about the general theme of it, and will now go into as much detail as possible.
The first interview opened with some small talk about the position I was going for, and I was asked whether or not I knew anything about it. I was then asked why I was interested in the job anyway, and what did it mean to me?
Then I was asked whether or not I had ever run into a major bug, in if yes, how I dealt with it. I went into as much detail as possible. I think it is always a good idea to give them the general idea of where the bug came from, and then if it is required, hint that you can go into more detail if necessary.
I was then asked about a particular subsystem of Google and how it could be designed from scratch. It was more like a two-person design brainstorming session and I think it was very much helpful in the way I answered it, since it stripped away my nervousness. I was then asked why somebody would want to abuse this product, and how would they go about it? Then I was asked to reverse the roles, and stop the attacks.
I was then given the time and opportunity to ask my own questions.
This one was more along the lines of my previous phone interviews, as it contained data structure and algorithms questions. It cannot be overstated that Google apparently cares a lot about bit manipulation as the topic again came up in this interview. I was also asked to design a game board for a certain, popular game.
Then, I was again asked to design a major feature of the Search product from scratch and describe what sort of data structure and algorithms were necessary for that product to operate in a reasonable fashion.
I was then again given the opportunity to ask my own question. This interview was observed by a younger interviewer-in-waiting and I was given the chance to interact with him as well by asking him questions about the whole company culture at the end of it.
The third interview was conducted with a gentleman working for Google’s PQO at the Mountain View offices. He gave me a general rundown of the whole job description in a minute and asked me to describe a major bug I had faced. I told him that I had already been asked that, and if necessary I could discuss the same thing with him, but if not, I was ready to answer another question.
He thanked me for telling him that, and asked me instead to describe a design challenge I had faced. I did, and he then gave me a somewhat data structure related question about one of Google’s anti-abuse strategies.
He then asked me a question in the same vein as the brainstormer from the first interview, this time about another particular sub product, and I gave him a design rundown. He then asked me to abuse and anti-abuse the product.
It was concluded by a friendly chat about the position and its technical aspects, as well as the whole culture of the company.
All in all, it was a pleasant, surprising, and very difficult process. It took over four hours and I was beaten up by the end of it, and could barely get myself back to my hotel. Hopefully, it will have gone well, and I will be receiving a positive feedback. But if not, I will be buckling my belt for the next round that life will present me with.