Taro Logo

Software Engineer Interview Experience - Mountain View, California

July 1, 2016
Positive ExperienceGot Offer

Process

Emailed recruiter (June 19) I had when I applied last year, asking to apply again.

On June 30th I was contacted to schedule a phone screen for July 7th. Then we scheduled a phone interview for July 12th. The phone interview began with solving a fairly straightforward technical problem. Then, after coding it in Google Docs, we talked about how to solve the problem so that it is scalable. This went really well, so I was called the next day and invited to come on-site.

On-site (July 27th) consisted of 5 interviews:

Interview 1:

  • Straightforward tree problem, solved without much of a hitch.
  • Extended the same problem to work for a forest of DAGs. I had to rewrite the entire code, but this was actually easier.
  • Discussed a third, more difficult problem. It was very similar to a problem I had already seen before, which I told the interviewer, but we continued, and I gave him the solution after a bit of remembering.

Interview 2:

  • Straightforward array-of-objects question, went smoothly. I did a little bit of optimization that made it use constant memory in some instances.
  • Float array problem, which I told him I had seen before. He said, "Let's move on," but I told him I had an answer which I thought was better than the more obvious solution. I told him it, and he said he'd never seen that solution before and agreed it was better for many instances.
  • Complex int array question. I was stumped for a while on this and needed some help. Eventually, I got a solution in O(n^2), then the day after, when I was thinking about it, I figured out an O(n log n) solution, so mine was suboptimal.

Interview 3:

  • Int array question, told him I'd seen it before, but he said that was okay. Solved without issue.
  • Tree question, solved with a little bit of help. It was a little messy and suboptimal; I came up with a much cleaner solution after the interview.
  • System design-y question. I had about 3 minutes left. Told him my thoughts; he said it was in "the right direction," but I'm not sure.

Interview 4:

  • Int array question. I blurted out a solution immediately (which I kind of regretted), but he said, "Okay, then code it," which I did without a problem. After coding it, he asked how to make it faster. I thought about it and got the optimal solution without help, but he didn't want me to code it.
  • String array question. Again, gave a brute-force solution, then coded it. However, I had a lot of trouble getting better than brute-force. Maybe 5-10 minutes of not getting anywhere (at least, it felt like it).

Interview 5:

  • Talked very briefly about a project I did last summer. Seemed like she wanted to get past it ASAP.
  • She asked two questions, both of which I had seen before, which I told her. I rattled off the solution for both, and she didn't ask me to code them. The first question was a string/palindrome question. The second was a question about a series of lightbulbs.
  • Third question was an extension of the first, which I solved, but needed a little guidance at the end. She seemed happy with my use of StringBuilder.

3 business days after the interview (Wednesday), I was told by my recruiter that she got the feedback from 3 of the 5 interviewers and they were "very positive." That Friday, I was told the hiring committee had recommended me for hire. The following Friday (what a nerve-wracking week) I was given an official offer (August 12).

Advice: BUY "CRACKING THE CODING INTERVIEW." I went through the entire book, cover to cover (skipping programming-language specific chapters and the databases chapter, as well as the "hard" chapter) and wrote solutions down on paper. About a month before my interview, I started writing solutions down on a whiteboard and began talking about the problems out loud while doing them. I highly recommend this.

About 2 weeks before the interview, I studied the problems on careercup.com, which I thought was very influential to my success. If you do this, it is essential that you tell the person interviewing you when you are given a problem you've seen before. If you don't, they may see how quickly you solve it, and this could hurt your interview rather than help it. Also, telling them gets you honesty points, which can help. Four of the questions I was asked I had seen before exactly.

Finally, don't give up! Two years ago, I tried to get an internship. The phone interviews went terribly. The next year, I got on-site, but the interviews only went okay and I was rejected. This year, I prepared for months, and it really does pay off, even if your previous interviews were not so good.

Questions

The NDA makes me paranoid.

I don't think the questions are technically confidential, though.

Was this helpful?

Interview Statistics

The following metrics were computed from 748 interview experiences for the Google Software Engineer role in Mountain View, California.

Success Rate

20%
Pass Rate

Google's interview process for their Software Engineer roles in Mountain View, California is very selective, failing most engineers who go through it.

Experience Rating

Positive64%
Neutral23%
Negative14%

Candidates reported having very good feelings for Google's Software Engineer interview process in Mountain View, California.

Google Work Experiences