I applied through a recruiter. I interviewed at Google
Interview
Online screen and five on-site interviews. If you pass the online screen, you are scheduled with an in person interview. The on-site is lead by five different people from different teams, so you have an opportunity to get a feel for the scope of projects. After the interview, they do a panel review and extend an offer. The process was driven and schedules by the recruiters and they are really open with the details of the process.
Interview questions [1]
Question 1
Mostly technical algorithm questions with some testing and design discussions. Google does a good job giving a lot of prep material and what to expect, which matches the way the on-site and in person went. So make sure to read through all the information the recruiters provide. As well, they offer a mini prep session either via webcast or on-site and I recommend attend it.
I applied online. The process took 2 weeks. I interviewed at Google (Mountain View, CA) in Oct 2018
Interview
My impression is that Google standardizes interviews with a sort of grading rubric. Similar to standardized testing in education, this methods evaluation is biased towards a specific type of personality/skill set.
I went through a phone interview with someone on the Software Test Engineering team setup by a recruiter. Right off the bat, I felt this person was not enthusiastic about the interview. I'm sure due to the shear number of applicants that are interviewed at Google, it gets mundane to have to conduct so many.
At the start of the interview, there wasn't really much of an introduction, it was as if he has a list of questions prepared to ask and he got started right away. I didn't feel like there was any organic conversation that allowed the opportunity to communicate any of my experience or skill set. First question was simple but not well defined, "For the mathematical equation for search bar (addition, subtraction, multiplication, division), how would a test plan be organized and implemented?". I asked a couple questions for clarification and apparently took too long to formulate my answer because his reply was "ok, well that took a while". I correctly answered the brain teaser coding question, but pretty sure I had already failed the "answer a vague question with not enough information to allow a detailed response" portion of the rubric.
At the end of the interview, the interviewer thoroughly answered all of my questions about the team and the position which was nice. But overall throughout the interview I felt that with any questions I asked, the purpose of the reply was more to keep things moving rather than to add clarification. Which was unnecessary considering we finished 5 minutes early.
Interview questions [1]
Question 1
1. For the mathematical equation for search bar (addition, subtraction, multiplication, division), how would a test plan be organized and implemented?
2. Write a function to locate the first character in a given string which is out of alphabetical order and return the index to that character. (e.g. "dfhka" -> 4) "aBcDea" -> 5
I applied online. The process took 4 weeks. I interviewed at Google in Aug 2018
Interview
After application in about one week I have phone conversation with the first recruiter about background and desired position, then in a week another conversation with the second recruiter, more focused on the technical skills and interviewing process. The next step was a remote coding interview using shared google doc.
Before the interview recruiter sent me a link to interview guideline saying that the main focus should be providing at least one fully working solution with clear and well formatted code and then reviewing it with the interviewer explaining thoughts, ways to test it, corner cases, etc.
At the beginning of interview I was told that we have a hard time limit - one hour. Interviewer spent about 20 minutes asking non coding questions, like which libraries did I use in my previous work, what challenging tasks I met, etc.
Then I was given a programming assignment, and due to lack of time, started implementing it by the most obvious way. I was able to finish my solution in about 20 minutes (so 20 min left). Interviewer said, that my code will use too many extra space, though no limitations were given in the beginning.
We spent more than 10 minutes walking through the code, then interviewer admitted, that except the case, when two corner cases are applied simultaneously, it won't use significant amount of memory.
After it interviewer said that the solution is fine, but it was assumed the creation a code making an in-place operation (though it wasn't told) and proposed me to provide this kind of solution in 5 minutes left to the end of the hour.
I wasn't sure of my ability to create the full solution in given amount of time, so just gave a pseudocode algorithm.
I was denied, as they told "due to insufficient knowledge of CS basics".
Interview questions [1]
Question 1
I am unable to share due to NDA, but it was relatively easy question about changing the order of elements in basic data structure (like array, list, etc.) according the data in the structure and some additional parameters. It wasn't sorting.