I gave them my resume at a university recruiting fair. The representative encouraged me to apply online as well, so I did. I was contacted by an HR representative two weeks later, who set up an in-person interview at my university.
There, I talked to two recruiters. The first interviewer introduced himself, talked about my interests, and then gave me an easy warm-up question, which I answered quickly (it had to do with finding duplicates in a list). He then presented a problem whose solution was essentially a convoluted definition of randomness, which I only arrived at after being heavily prodded. We ended up debating the validity of the problem for the rest of the interview, which I found enjoyable.
The next interviewer gave me a problem that involved recursion in manipulating a 2D matrix. I handled the problem quite well and ended up discussing some deep image processing concepts. He mentioned he had a lot of fun and had never gotten that far in the problem before.
I was then contacted two weeks later, informing me they wanted me to go onsite. They flew me down to Mountain View, where I interviewed with three software engineers and had lunch with a recent graduate. Each interviewer briefly discussed my background and interests and then presented a lengthy problem.
The first problem was a sort of systems design/navigation problem. Though my coding may have become a little sloppy, I thought I performed well. The next problem involved graph traversal. I quickly figured out the optimal algorithm for this one and had time to code the solution slowly and carefully. The last interview was a peculiar string manipulation/recursion problem. I got a little lost in this one, but grasped the general idea, and the interviewer said I did fine, noting that the problem was intentionally messy to assess how candidates break down large problems into smaller ones.
Three weeks later, I went through hiring committee, who wanted to ensure I found an appropriate team before submitting my candidacy for executive review. The following week, I spoke on the phone for 30 minutes each with three hiring managers from various teams. I emailed the recruiter about my preferred team, and they wanted me on that team as well, so it was a mutual fit.
Two weeks later, I went through hiring committee again, then to executive review, and was offered the job!
Overall, my interviewers were very nice and tried hard to make me feel less nervous throughout the process. My recruiter was exceptionally organized and contacted me frequently with updates. I also commend Google for giving someone with a non-standard background an opportunity (I am a biomedical engineering and physics major with extensive coding experience and an interest in computer science; you don't necessarily need a CS major to be hired at Google).
String manipulation/recursion problem. It was a pain to parse the format of the string they gave me. I got kind of flustered in some of it, but the recruiter said it was okay and that it was a messy question designed to see how you break up a big problem into smaller parts.
The following metrics were computed from 2 interview experiences for the Google Software Engineer Recent Grad role in United States.
Google's interview process for their Software Engineer Recent Grad roles in the United States is fairly selective, failing a large portion of engineers who go through it.
Candidates reported having very good feelings for Google's Software Engineer Recent Grad interview process in United States.