Recruiter contacted me via email or linkedin, can't remember exactly. Asking if I would be interested in Google. I have a long resume and somewhat specialized set of skills in embedded systems so I said ok I will give it a go, but that I am not quite sure how my skills would be useful at Google. They waived the phone screen and moved me directly to an onsite interview. They send you a list of things to go over to prepare for the interview that looks like something out of college computer science course. I was really busy at my current job so I had little time to go over it, but it was fun revisiting the basic algorithms and data structures.
Onsite was 3x45 miutes 1on1 interviews, lunch and 2 more 45 mins sessions. All back to back, no breaks other than lunch.
1st session: Interviewer introduced himself gave me time to introduce myself for the 1st 10 mins. Then asked 2 questions. 1st was arrays didnt require to writ code, 2nd was dynamic programming asked to wrote code. I did well on both so we had 10 more mins to spare where I asked him questions.
2nd session: Introduction took a really long time, interviewer talked at great length about himself and his work. Asked me if I am interviewing for real or just there to get some interview experience, because apparently thats what he did initially himself. When we got to the question there was only about 15 mins left. Tree related question, that in my opinion wasn't really presented very well. Code was required. I started solving it but he was basically walking me through every step. Not sure if he just wanted to pass me or realized that he already spent too much time talking. Got the correct solution, but I felt like I was being lead to it.
3rd session: Embedded systems engineer, asked me a lot about my actual resume. In the end asked me a pretty basic question embedded system specific, asked to write code. Was really easy for me, did really well. Probably the most enjoyable session.
Lunch: The weirdest part of the day. Interviewer only got notified the night before, didnt look like wanted to be there. Didn't even know where the closest cafeteria was. Ended up walking for about 15 mins around the campus. Dropped the tray when getting food and spilled lunch over clothes, got really upset. Then suggested we sit outside because its quieter there. But the day was hot and it was really uncomfortable, I was glad to get back inside.
4th session: Usual introductions. General distributed systems question. Went pretty well in my opinion, but then I am not a distributed systems specialist, so cant really judge.
5th session: The worst one ofthe day. Usual introductions. 2 Questions. 1st question supposed to be a warmup, really simple bit manipulation, but for some reason my brain just went into a feeze, not sure if it was the stress or the sun from the lunch. Anyway I worked manually through some samples and did come up with an algorithm and a correct solution. In fact the interviewer corrected something in my solution, but when I started running it through a test case it turned out my initial code was in fact correct, so we reverted it. Because 1st question took so much time, we only had about 10 mins for the 2nd one which was supposed to be the main question. So we didn't really finish it.
Recruiter called me a week later saying that they decided not to go forward with my candidacy at this time. I am not really too bothered since I am pretty happy at my current job and this was more of a learning experience, but I admit that if they did make me a good offer, I would've seriously considered it.
While driving home I did come up with a really good solution to that unfinished question from the 5th session. And then also found every single question that I got asked in my interview on programming websites. So looks like if I wasn't so busy and just spent more time preparing, the interview would've gone much smoother. I thought just experience would be enough to pull me through.
Other than the lunch person and the 2nd session interviewer, everybody else was very pleasant and enjoyable to talk to.