I applied through a recruiter. The process took 4 months. I interviewed at Google (Mountain View, CA) in Jan 2017
Interview
A recruiter found my info from an application several years earlier. We scheduled an informal phone call to discuss potential full-time position and decided to move forward. Next, we scheduled a technical phone interview with an engineer. This was done with a phone call and shared Google Doc (for coding). After passing the phone interview, I was contacted by more recruiters. We scheduled another informal phone call and on-site interviews. The on-site had four 45-minute interviews with an informal lunch in the middle.
Interview questions [1]
Question 1
All questions were software/coding based, mainly need to know algorithms, data structures, and performance. No tricks / brain-teaser questions, just nice logic/problem solving stuff. They discourage sharing actual questions.
I applied through a recruiter. The process took 1 day. I interviewed at Google in Oct 2016
Interview
I got an email from a recruiter of Google and talked to him on phone for 10-15 minutes. He had found me via LinkedIn and was basically looking for a developer. However I told him I am interested in doing a PhD program and asked if they offer anything. He said no but they have PhD internship programs, etc.
Interview questions [1]
Question 1
What is the average time complexity of Merge Sort?
I applied through a recruiter. The process took 2 months. I interviewed at Google (Sydney) in Sep 2016
Interview
I was poached by a recruiter who felt my skills aligned to SRE. I had a total of four interviews - an initial behavioural interview, a theoretical technical, a phone screen coding and finally an on-site. The whole process took about 2 months.
In my experience, Google tried to make the entire thing extremely smooth and 'fair'. They make you feel super special and give you a lot of information, study material and time to do your best. They basically tell you what to study.
The first 'technical' was sort of a gauge of my skills. I was asked a bunch of basic comp sci questions as well as other SRE fields that may be important e.g. O/S and Networking questions. I didn't have to do great in all of them but I'm guessing doing generally well in at least one area is important - I got all the programming/comp sci questions correct as well as a good amount of the O/S questions.
The coding phone screen was actually not so hard. I think they focus on what you claim you were good at - in my case it was Java.
The on-site was the 'hardest', however, I'd say overall it was fair. The questions were pretty much CTCI style and I didn't get anything too difficult. But I messed up the first round because the guy who interviewed me was a classic elitist and whenever I asked him questions he made me feel extremely stupid. He was getting noticeably frustrated and at the end walked out with a passive aggressive: "Well, good luck with the rest". The rest were *okay* except for the system design question. I was smashed with a sort of math-driven question with a bunch of numbers and components which really threw me off. I did terrible for this part and I knew it was over for me at this point.
I got a rejection email about a week later and was lucky enough to receive feedback. I can see where I went wrong. My advice to candidates is study extremely hard, focus on the important areas they hint to you, and finally - don't feel bad if you don't get it. I was told by the guys who gave me system design interview that probably close to 50% of the employees at Google applied twice before they made it.
Interview questions [1]
Question 1
Basic CTCI style questions - mostly around data structures
System design question with lots of maths and 'numbers everyone computer scientist should know'