I applied through a recruiter. The process took 3 weeks. I interviewed at Google (Mountain View, CA) in Feb 2017
Interview
Went onsite with Mountain View campus for position in google cloud division. Total 5 interviewers. Not sure how they selected the interviewers - end up 3 interviewers asking distributed system questions. One scheduled interviewer did not show up, so a replacement guy showed up with very little preparation. Another interviewer came from hardware group which is surprising (I am not a hardware guy, and the interviewer did not get to any kernel level question as well). They seem to have quite different background as I do, making the interview process somewhat out of synergy. It became an awkward process.
I applied online. The process took 2 months. I interviewed at Google (Mountain View, CA) in Feb 2017
Interview
Round 1: a recruiter calls you. They will ask you a few simple questions. Things such as "what's faster, quicksort or bubblesort". If you answer enough of these correctly, you get to the next round. If you fail here: stop moaning, go away and go improve yourself, there is no way you would have passed the later stages anyway.
Round 2: an engineer will call you, and interview you for 45 minutes. Only the "best" interviewers get to do what we call "first phone screens" because that's where the most people get kicked out.
Round 3: exactly the same as round 2, but with a different engineer. From the interviewer's perspective, second phone screens are infinitely better than first phone screens, because the totally incompetent have been weeded out already.
Round4: onsite interviews! you will have 3 interviews of 45 minutes, lunch, and 2 more interviews. These are basically the same as phone screens, but you get to see the interviewers face to face.
Interview questions [1]
Question 1
Imagine you are given 10,000 files each containing 1 Million integers. I would you sum all of them and give the final result?
---> Interviewer wanted to test scalability, distributed concepts.
He has written the basic code and wanted to improve upon that.
Here's the basic code.
public getSum(String[] file_names) {
int sum = 0;
for(String f: file_names) {
sum = sum + sumOfFile(f);
}
return sum;
}
Questions:
What's wrong with above code? Ans: Integer overflow
How would you implement sumOfFile?
What if 'sumOfFile' takes lot of time to finish computing?
How do you fasten the program?
I applied through an employee referral. The process took 3 months. I interviewed at Google in Jan 2017
Interview
It is the worst process I ever had. The interview is simple and straight forward. However it has the worst team match experience at all! It took me 2month and no team coonect me. The reason is that the internal transfer people (more than hundreds) is looking for team match. They din't consider people in the pool. If google dont have headcount, why you hire me?!