I applied through a recruiter. I interviewed at Google
Interview
This is for the Software Engineer and not the System Engineer SRE position. 1 HR screen, 2 technical coding phone screens and finally an Onsite interview.
Onsite interview consisted of 6 rounds. 5 coding rounds and a 45 minute lunch interview. The SRE folks at Google seriously lack basic communication skills. The only thing they look for in a candidate, is if the the candidate can code like a trained monkey.
Not one of the interviewers asked me about my background or even attempted to understand why I was genuinely interested in the role. Each interview will begin like
"Interviewer walks into the room and the first thing he says is lets start coding". If you finish the coding in time they will entertain a few questions. But then again, it is completely a 1 sided interview. You are never given a chance to speak of how you would make a good fit for the role, or even what value you bring to the table.
You're only job is to get the output. I solved all the questions I was asked and solved them in an optimal way, but i did not get an offer. For reasons which baffle me till today. I did have to think through some of my answers and double check my logic. But apparently this is not acceptable.
I dont think the interviewers understand the pressure a candidate is under when there is so much scrutiny. You have to write the code and logic flawlessly the first time around with no room for error or correction. They dont care about the though process either. If you cant manage that, dont get deceived by their smiles you are going home to read a reject email from the recruiter.
The SRE's really need to be schooled with the art of basic communication and manners. I really ponder how they would perform if the roles were reversed and they were under the gun doing the coding.
The questions asked were of good quality no doubt. But the interviewers are just trained robots.
Interview questions [1]
Question 1
Merging intervals
Merge lists/arrays
Implement read() using read4k()
1 round of distributed system and large scale system design
Compress string "aabcaaaaade" to "aabc5xade". Only compress if it shortens the string. 5xa means char a is repeated 5 times.
Question on 2 lists and their union/ intersection/ remove elements present in L1 which are also present in L2
The process was standard for what I had read about Google in the past. I was contacted by a recruiter who was my contact point during the process. He was professional and informative, and overall made the process enjoyable. I was set up with 3 phone interviews, and after the third, I was told that I did not have enough practical experience for the position. Honestly, that was probably correct, and they were courteous about telling me that.
I applied through a recruiter. The process took 3 months. I interviewed at Google (Mountain View, CA) in Jan 2015
Interview
Prepping for a Google interview is time well spent. Especially for technical positions. Purchase and study the book "Cracking the Coding Interview" for several weeks prior to interviewing. Practice wipe boarding with your coding skills. Interview questions varied from complex to very simple. It is sometimes beneficial to provide a simple short answer and then ask if they would like a more extensive description.