Ask HN: People who made it to Google. What was your experience like?

30 points by yankoff ↗ HN
Probably all people I know who interviewed at Google and got rejected has a horror story to tell. On the other hand, it seems like people who made it there (although I don't know the whole lot) often have the same story "It wasn't hard, they just asked me DFS". It'd be curious to read stories of people who made through a complicated interview and got an offer.

19 comments

[ 3.5 ms ] story [ 45.4 ms ] thread
Hi,

maybe I am not the best person to answer this question because I got rejected. I got to the onside interview. I recognised that it was unable to evaluate your performance. I thought my system design was bad, but they were impressed.

I'd say the questions are not that hard, but they try to figure out, if you understand the corner cases. Can you really understand the problem, do you understand your own implementation? It's a difference if you solve the problem or understand your solution.

You know there are people who pass the interviews but still don't get an offer, right?
Yeah false positives are everywhere.
How do they know they passed? They solved everything, but got no offer? I haven't heard of such stories. Share if you know any.
This happened to me, I was going for the Customer Solutions Engineer role.

After the phone interview, they flew me to Mountain View. All day of one to one interviews; some face to face, some over Google Hangouts, did a coding-problem using Google Docs.

Got a phone call from the recruiter a week later saying I had passed all the interview however they had to go with a person who had a bit more experience in the particular customer industry they wanted to place the role. Judging by the questions and angle they were asking, I think it was Television (I come from the movie industry).

They still phone me from time to time again, asking if I'm interested in other roles (had an interview in London last year with their Android Team), so I guess time will tell if they find a position for me.

Interesting. I wonder if they will make you go over the interviews again if they find a position ;)
I'll be starting work at Google a week from Monday as an SWE. It was my second time interviewing(first time was 2 years ago as an SRE). This time I had actually put in effort into preparing for the interview, CS Fundamentals, Systems Design and all...

Every interviewer brings his own personality. Most people(probably all) will stay to-the-point. Actually the more to-the-point they are, the more time I get to solve the problem, so that's kinda by design. Emphasis on behavioral stuff is near zero. But a couple of people asked me questions related to stuff on my resume. E.g. one interviewer asked me a VHDL/Verilog related question(I think of it as a sanity check question, to make sure I'm not BSing on my resume), the other had already asked me two questions, so he used it as a topic of chit chat. Some interviewers are poker face to the point that you feel the pressure, one interviewer wasn't big on hints(at one point I could hear the wall clock ticking so loud, I wanted to throw it on to the floor and smash it), one interviewer liked to make encouraging comments and was somewhat chatty. The others were like just any dudes you might run into at a party, very casual.

The CS/Coding Questions covered topics like Dynamic Programming, trees, arrays, bit manipulation. The questions were not easy. I think I did ok in 3 of them(one/two might be even slightly below par). The Dynamic programming question I solved in 15 minutes, then I got asked a second question(which was easier in my opinion) I finished that too and I still had 10 minutes left. I imagine I impressed that interviewer. That might be the reason I got through.

The system design question was a very interesting one, I loved it. But it wasn't your typical large scale system design question like designing a service and so on. It was about designing a file system. I enjoyed it so I thought I did well there. Since I seemed to have talked all I wanted to about that question, I got asked a second systems question(in the same interview), an open ended question about internet system. I did ok in that one.

I didn't ace most of the interviews(Dynamic Programming interview being the exception). I thought it could go either way, since Google has a reputation for being very picky.

I had put some time into preparation this time. Friend of mine is coaching for interviews, so he provided me very well defined structure to focus my efforts, including videotaped mock interviews and feedback on it( interviewkickstart.com for anyone interested. Highly recommend!). Through the mock interviews I realized that I was talking too much, both in behavioral questions and during problem solving. Not only could that test the interviewer's patience, it also meant I had less time to solve problems. So I had to strategize about that. I think that helped me go that last mile.

Lunch interview was very casual. The guy was very friendly and liked to chat. I asked him whatever I thought I should about Google and the people there. Got some insight into Google that way, even though I know friends who work there already so I could have asked them anything.

Thank you for such a detailed answer!
Can you talk more about your preparation and the resources you referred? How did you prepare for system design and what level of detail was required? Thank you!
I interviewed and was hired almost 5 years ago. My experience was largely positive, though the process took a long time.

I had 5 interviewers. I made it clear to each up front that I had never worked in one of the canonical languages (Java, Python, C++, Go) and that my background was mostly C#. All of my interviewers seemed to take that point, so the questions I was asked were mostly pseudo-code. The one language-specific thing was about Java iterators, so I had to ask about the Iterable/Iterator contract before I could start. My pseudo code was pretty C#ish and that's pretty close to Java, so I was able to intelligently discuss differences or explain my intent.

The crazy thing about my interview (and the interviews of most people that I talked to) was that I thought that I crashed really hard. One guy let me fumble around for almost the entire time trying to answer his questions (it dealt with statistics and big data). Of the five, I feel like I knocked it out of the park with two of them, flubbed it with two of them, and the fifth was meh.

Later, I talked to the recruiter about it. I was feeling a lot of impostor syndrome (very common) and trying to understand why I was hired and make sure that it wasn't an accident. In the end, recruiters are looking for very high or very low scores from your interviewer, and interviewers give a lot of points for trying. Even the ones that I thought I failed on gave me medium scores because I did a good job of connecting with them on a personal level, and I talked through my work as I did it. So I ended up with 3 moderate scores and two high ones, which was enough.

As for passing but not getting hired, that's a little different. You don't really pass the interview. You do a phone screen and then the recruiter decides whether to proceed. After that you come in for interviews, and once you're scored again the recruiter decides whether to proceed. Then you go to hiring committee, where they decide hire or no hire. The recruiters have a pretty good idea of what hiring committee will say, and they tend to send borderline people. After hiring committee you go to offer committee and then you get the offer letter. After you accept the offer, if you're a general purpose SWE, then you talk to teams to determine placement. The whole process took about 3 months for me.

For my prep, I actually went on other interviews and read books (particularly on solving by induction - these things show up often on interviews).

Everybody has a different experience, but when I read posts by people who claim they were passed over because they couldn't solve a specific problem, I suspect the problem was really poor culture fit, resulting in low scores across all of the interviewers.

By comparison my sister had a truly horrible interview experience (long ago, some of her problems have been addressed). Ultimately, if you're in CS, you're in demand so they bend over backwards for you. If you're not in CS there are thousands of competitors for each position, which makes it much much harder.
How the team placement looked like? You weren't actually assigned to a team and were given a choice?
It was pretty awkward. I was given three teams to pick from and was told that if none of them were really a fit I could reject them all, but it was kind of frowned on. I had already given notice at my job (where my boss literally said "you'll never work in this town again"), so I felt a little forced. But that was probably my own biases. When I mentioned to my recruiter that the second option was literally a shill for the first, she seemed very happy to go find me another team. But I ended up selecting the third team.

Each of the teams dealt with problems that my background could help with (two in finance where I worked for 8 years and the third was C# which was my stack of choice), so they weren't random placements. Also, they're really big on mobility, but they strongly prefer that you stay in a role for 18 months before you transfer. If it's "transfer or I'm leaving the company," they'll usually let you (barring special circumstances), but it's a bit of a pain.

I suspect there's a tendency to push new hires towards less glamorous positions, but I've seen newcomers in all departments. I suspect that more glamorous positions are usually filled quicker and with a more valuable asset via internal transfers.

> I suspect there's a tendency to push new hires towards less glamorous positions

That was also my impression after talking to several people from there. No much flexibility and very hard to get into a team you want. And lol at your old boss, what the hell? :)

> where my boss literally said "you'll never work in this town again"

Oh, please tell. How long had you been working there? Was it a small town? That's a very odd thing to say!

It was in Silicon Valley. The company was owned by a huge conglomerate on the east coast, but was mostly left alone and entirely managed from Silicon Valley.

I had worked there for almost 2 years. I was originally hired at about 2/3 of my previous pay (it was a rough time to look for work), and they suspected I was looking around (it's stupid not to at least look once in a while). They tried to retain me by making me a lead over 2 other engineers (don't care) but not by modifying pay, though I made it clear that that would help.

When it was clear I was still looking around, boss called me in to try to get me to sign a "pledge" to stay at the company for 2 years. I refused.

A couple weeks later I got my offer and gave two weeks notice. There were a few meetings with management where they claimed they were going to make a counter offer, but they never actually offered me anything.

That meeting was the last one. Immediately afterward the lead counsel called me in for a meeting and apologized. He said that the other meeting was supposed to be a substantial cash offer (significantly more than Google was offering), but I declined pointing out that I wasn't ever going to be able to work in this town again; certainly not for him at least and the lead counsel said he didn't blame me.

I tried to help with transitions and stuff, but I was told that I'd be paid for my 2 weeks, but to not bother coming in. I hear it didn't go very well after I left.

> boss called me in to try to get me to sign a "pledge" to stay at the company for 2 years.

Wow, in return for what? It's so ridiculous someone would do something like that.

quiz != interview
That was my experience. I was quizzed about Java, no questions about my background. Maybe life is better when you aren't living on the farm.