Getting There
As I stated in my first blog (here), Google gave me a call saying they would like to fly me out to Mountain View on Tuesday, Nov 1 and I almost shit myself, yada-yada. The plan was for me to fly out the Thursday following my Microsoft interview. Not quite. I didn't even find out when my interview was until that Thursday (Nov 10), and it was the following Monday (Nov 14). So I filled out all the paperwork that night and hoped that I could find a flight. 2 days in advance.
I called the travel agency Google uses, and luckily was able to find a flight, but only just barely, and I basically had to waste 3 hours flying to, and waiting at, Dallas (keep in mind Dallas is in the WRONG FUCKING DIRECTION). But I made it work, and got a bit further into my book (A Clash of Kings, fuck yeah GRRM) so things were okay.
The flight from Dallas to San Jose was actually a pretty great one. It was long, but I sat next to an interesting individual who works for Samsung, used to be a Software Engineer, and switched out of it to get his MBA and become more of an interface between the market and the engineers. The view was also phenomenal. I got to see the Grand Canyon for like a second before a cloud positioned itself dickheadedly between the plane and the entire canyon. By the time the cloud was gone, so too was the canyon. Also I got to see the Rocky Mountains, which was just enthralling. I'm looking forward to that on the flight back.
CALI, BABY~~
When I got into San Jose's airport, I was brimming with excitement to see Silicon Valley. The airport was quite beautiful and picking up my rental was a breeze. Everything up to this point was still handled well by Google and their travel agency, so points to them. I got a light blue Nissan Versa (this thing) which I just thought was a pretty cute little car. It handles well and is pretty fun to drive, but honestly it looks goofy as hell.
Heading out, I got a nice scenic view of the valley (I saw Nvidia!) and I didn't almost die like in Seattle. So things were going well so far. Got to the hotel problem-free, got my room key, and unloaded my junk in my room. The room's nice, two beds, lot of desk space, accessible outlets, free internet. No real complaints aside from low water pressure in the shower, and fuck low water pressure.
A friend of my girlfriend lives in San Francisco who also works at Google, and let's call him Ricardo to spice things up a bit, so I got in contact with him a couple weeks before this point, and he seemed cool to hang out with in SF. Within a couple hours I was back out on the road heading to SF proper. Sweet, I get to see some of one of the biggest, hippest metro areas in the US!
The Horrors of Driving in San Francisco
I didn't do a whole lot of studying up on the SF area and where I was in relation to the actual city, so I was a bit surprised that it was going to take about an hour to get to the corner where I was to park and meet up with Ricardo. But hey whatever, commuting can be fun. It wasn't fun man. I'm not a very strong driver to begin with because I've fallen out of practice, and this is one of the most crowded areas in the US to live so it just took forever to get anywhere on the highway.
Then I got into the actual city and I would like to have a word with whoever designed some of these intersections. I got to an exit that basically turns into this awful hook where if you don't KNOW it's coming you won't be able to get in the right lane to turn and the GPS is giving me all kinds of fucked up directions. So I'm getting that feeling like "oh dear." This compounds with the fact that my phone is about to die.
This compounds with the fact that Ricardo gave me a pretty general area of where this parking garage is (around 16th and Valencia) and I realize I don't know the first place to look. I begin making blocks and looking about for where he might mean, but now I'm starting to panic because I have no phone, and no idea where I am in a huge city. Eventually I find the place but I'm starting to get pretty strung out.
Ricardo and I meet up and head over to a nearby sushi place (sushi is amazing). We order and chat about various things. The area, what he does for Google, etc. Sushi comes and goes fairly quickly afterwards (sushi is amazing) and he offers to ask me some mock interview questions. Cool, great idea, I need the practice. They were good questions, and way above the quality of questions I normally am asked, so I felt a little overwhelmed and intimidated, but I was interested. Overall it was a good night even though I was really really exhausted by the time I had to drive back.
Made it back okay, and got some good sleep preparing for my next day.
On Campus
I woke up this morning at about 7:00 am PST, and my interviews weren't until 10:30 am, so I had a good bit of time to eat, shower, dress, and get to campus. All occurred uneventfully, so I'll breeze through that.
Parking was an utter pain in the ass, but I ended up finding a spot reserved for interview candidates. I headed inside, printed my nametag, and socialized with some of the other candidates for a bit. I wasn't feeling the same airy optimism as I did in Redmond, at all. I knew the interviews would be crushing, and I would come out the other end feeling like dogshit unworthy of graduating, let alone getting a job at Google. I was shaking a bit and just hoping that I would be more focused during the actual interview, as I usually am.
The recruiter called for me and we took a bit of a browse through the building, not really getting into the cubicle areas but more of a kind of "here's a little kitchen, here's an exercise room, here's a cafe, etc." Just bouncing between buildings for the most part, until we landed in the area that would be my first interview room. She handed me a very nice little duffel bag with some schwag in it and I sat down with my first interviewer.
Just to clarify, the structure of Google interviews is two back-to-back 45-minute interviews (no break), an hour of lunch, and then two more back-to-back 45 minute interviews.
Interview One
We introduce ourselves, shake hands, and I sit down. About the second sentence he says to me is "alright we're going to start with a coding problem." Oh god. Already? Can I talk about how much I like computers first? How about you ask me what excites me in life? No. Fuck you, Mitchell, you've got to work for this.
Despite it all, I hammer the first problem to death and feel pretty good about myself. Then he says "well this is inefficient, we need to make it better." And I'm just absolutely drawing a blank on how, but eventually I work through it with a few hints and a lot of sweat. The next problem I really didn't know how to do and he stopped me because we were running low on time, but the answer was fairly straightforward and I just didn't see it. I made it into a problem that was more difficult than it should have been and I felt foolish.
The last problem was honestly quite ill-defined. I knew how to solve it intuitively, but he led me to believe that I needed to be careful about bounds issues, so I waffled a bit and didn't give him my answer after all. Turned out, my answer (in my head) was the answer he was looking for, even though the problem would never work in a practical sense because of the bounds issues I had asked about earlier. I offered a counterexample where the answer he wanted wouldn't work and he said "it's just a thought experiment." So I was upset about that.
The entire 45 minutes were spent on coding problems, so I didn't get to ask him any questions at the end. But honestly I did like the guy so don't take my complaints about the guy to mean he did a shitty job overall.
Interview Two
This didn't go terribly bad. The problem dealt with trees, which scare the shit out of me, and recursion, the reason why trees scare the shit out of me, so I expected to crash and burn.
It was a two-part problem, and I got the first problem such that he and I were convinced that it worked. And it employed a bit of a depth-first search kind of algorithm so I felt pretty damn smart. All was well. Then I realized during the second part, that a critical problem lurked, such that my answer would work but would be much more difficult during the second part. I couldn't finish it up before we were running low on time so we moved on to my questions.
That took the wind out of my sails for interview two.
Lunch!
From here, I met up with my lunch "interviewer" (he doesn't submit feedback, nor ask questions) and we headed over to one of the many cafes located at Google. Keep in mind eating at these cafes is FREE for employees. Breakfast, lunch, and dinner. Free.
We decided Asian. I got a full plate of rice, some other kind of grain, some type of vegetable, noodles of some sort, grilled chicken and spinach, kimchi (<3), and sushi rolls. I wish I could be more specific about the kind of food but I had no idea what it was. It just looked good.
We found a place to sit, and talked about Google, Austin, San Francisco, what he liked about the company, what he disliked, training as a new recruit, and what I am interested in working on at Google. It went well. Probably because he didn't ask me any hard questions. The food was great and I could see losing a lot of weight working at Google, because it's so easy to get access to good, healthy food.
Unfortunately it came to an end, and I had to go back to being under the gun for the next hour and a half.
Interview Three
This was a disaster. I walk into the interview room and there are two people. One is my interviewer, the other guy is shadowing him. So I was going to make myself look like a fool in front of two people.
The first question was an absolute monster. It didn't seem like it would be bad and I decided to use Python to code it up because that just made the most sense at the time. But when I got into the actual coding it just blew me away how many corner cases there were. I think I can think of 5 or 6 just off the top of my head. I wrote as much as I could before he said we had to move on, and he pretty much said that my code had a lot of holes in it.
The next question was just describing the complexity of a problem, and it was a nice brain teaser but it was a concept that my brain just refused to comprehend. Looking back on it I feel like I could explain it better but I was terrified, stressed, and in a bit of interview despair. I actually want to take some time at the end of this post to describe my encounters with this thing I like to call "interview despair." I asked them each what they do at Google, and it was time for my final interview.
Interview Four
This was a breath of fresh air I think. He recognized that I had been asked a lot of coding questions (5 so far) and decided to ask me more conceptual questions. The first involved me playing a little game on his laptop, and finding a way to represent the problem in a way that could be solved by a computer.
I recognized the problem as a graph-theoretical construct, and described how it could be interpreted as such. Then he asked me how we would use that to come to solve the game. I knew of the type of algorithm that would do it, but was having a hard time mapping it to the specific problem, and he seemed understanding of that fact.
The next question was totally open-ended. Like a type of problem Google is able to attempt, but only because they have the resources (both computing and data) to be able to do. It was all about applying heuristics to a lot of unstructured (maybe semi-structured, I don't know the difference all that much) data, and making a lot of assumptions, to mold this data into something coherent and useful to an end-user. With each new heuristic I proposed, he asked me what type of problem could arise from it, and how we could minimize the problem. That involved using another heuristic, usually.
I think this question was really to show to me the type of difficult, down-the-rabbit-hole kind of questions that Google attempts to answer. How something sort of simple, like relevant videos, or top news stories, or relevant ads, can be so difficult to even wrap your head around, but Google attempts it every day. It gave me an appreciation for what they do.
But...
After my last interviewer showed me out of the building, I started thinking, and thinking. I began getting quite upset, as I came to a hard realization. I drove around a little, and parked in a McDonald's parking lot and just kind of sat there.
As Google has lived its life as a company, they've time and time again showed me that they make excellent products. I grew to love them and what they do. Their impact on the computing world has become evident in many domains. Gmail, Chrome, Google search, Google Reader, Android, Google Docs, Google Maps. The list goes on. Each is considered by a good number of people to be the best in their respective fields. I wanted so badly to be a part of that.
But in that car, following a grueling and painful day of interviews, I realized that Google is able to do this because they hire very, very smart people. People that can wrap their heads around these big problems, boil them down to something manageable, and provide the users with something good. People that are the best.
And I'm not the best.
Final Words
I called my girlfriend, and my mom, and told them each about the day a little bit. I told them I didn't do very well. That I had indeed been crushed, but worse off than I think I had anticipated. I didn't see an offer on the horizon. I even told my girlfriend that I thought it would be a mistake on their end if they decided to offer me a job. I met with Ricardo, and told him about the situation over some very good coffee. He listened, and lifted my spirits a bit although I was still upset.
I'm doing better now, and I don't know if I believe what I was saying anymore. But I wanted to capture the feelings I had, as they happened.
I headed home afterwards, intent on two things. One, to take a shower because I was pretty gross. And two, to write about my day.
So here it is. You'll hear about the results when I do, TL. Thanks for reading.
A note about interview despair
I don't know if this is a common occurrence during interviews, but I have had these feelings before. Today it happened once or twice but I fought hard. At Microsoft it happened two or three times, and I fought even harder. Microsoft was more difficult because I had felt from the get-go that things were going very well and then I hit road blocks that dug great wells that were a struggle to climb out of.
What I label "interview despair" is the acute perception that you can't solve a problem. That the ability to come to terms with the question given forth is just one iota out of reach and there is nothing you can do about it. It is the feeling of your heart growing smaller and icy cold in panic, that you are moments from giving up entirely, or leaving the room, or just breaking down in a way most unfitting of an interview candidate. That your future prospects at working for this company is vanishing before your eyes, and you just aren't smart enough to stop it.
But so far I haven't given in. I just calmly look at the board, rubbing my chin, asking clarifying questions until the hold breaks and dissipates.
I would greatly like to hear if this is a familiar feeling for people. I guess it is similar to a small panic attack, so I would assume it has happened to others, but I want to hear some stories, if you'd share.
(3000+ words. Cool. :D)
EDIT:
On November 18 2011 08:30 Triscuit wrote:
Just got a call earlier. Google decided not to extend me an offer. That's okay though, when I was there I became very concerned that the work culture was not what I was looking for in a company. I think maybe Google wasn't a very good fit for me on a personal level, just as maybe the San Francisco Bay area might not have been a good fit for me on a personal level either.
I think overall Microsoft is a better fit for me, but I wanted to prove to myself that I have what it takes to be offered a job at Google. I'm not going to take the rejection very hard, I'm mostly just excited for what my future holds.
Thanks for reading, everybody. I am going to be writing a blog pretty soon (maybe over Thanksgiving) about what it's like to be a CS major at a university that's considered to be pretty tough (University of Texas at Austin). It's going to be long, maybe twice the length or more of my previous blogs. Hopefully that doesn't turn too many people away. <3
Just got a call earlier. Google decided not to extend me an offer. That's okay though, when I was there I became very concerned that the work culture was not what I was looking for in a company. I think maybe Google wasn't a very good fit for me on a personal level, just as maybe the San Francisco Bay area might not have been a good fit for me on a personal level either.
I think overall Microsoft is a better fit for me, but I wanted to prove to myself that I have what it takes to be offered a job at Google. I'm not going to take the rejection very hard, I'm mostly just excited for what my future holds.
Thanks for reading, everybody. I am going to be writing a blog pretty soon (maybe over Thanksgiving) about what it's like to be a CS major at a university that's considered to be pretty tough (University of Texas at Austin). It's going to be long, maybe twice the length or more of my previous blogs. Hopefully that doesn't turn too many people away. <3