This semester I sent my resume to one of Google university recruiters on Carnegie Mellon University, and then I got a call from Google Pittsburgh office to have an onsite interview last Monday.
Given timespan about 3 weeks from the phone call to the onsite interview, I prepared for the interview like crazy, literally, with really-demanding courses at CMU, reaching its finals. Those courses alone already ate my whole weekend for the whole semester. Having said that, it’s not a secret that only 25% of onsite candidates get hired. It’s really a huge challenge.
My interview was scheduled around 9.40 in the morning. There were 3 other people having interviews that day, all of them from CMU. Our recruiter guided us through the office, showing the working space area filled with engineers, free coffee shop, and a really huge hammock, enough for more than 10 people.
as seen in this Business insider article
Then, we ended up in a meeting room with a white board and a big meeting table. Turned out, that room would be my interviewing room for the rest of the day, the other three would have interviews in another rooms. After giving some brief explanation, the other three people left the room with the recruiter, and my interview started. There were 4 interviews that day, 45 minutes long each, with a lunch interview between the 3rd and the 4th interview.
The questions asked were really fundamental of CS, data structure and algorithm. The interviewers really cared for:
1. Our thinking process in finding solution
2. Big-O efficiency
3. Whiteboard coding. Proper code is important, despite very little details on syntax don’t count. I mean, if you forgot which one is correct between “ArrayToChar()” or “CharToArray()” or forgot ‘;’ it doesn’t really matter.
Having said that, I enjoyed the interviews so much. I can say this is the best interview experience I’ve ever had. The interviewers were very nice and very fun to talk to. They were there to help you, not to intimidate you. I enjoyed having discussion with them. I can only think that if I have this kind of discussion everyday, I can only get smarter and smarter every day.
I think I solved all of the problems, even though some of them were not really optimal, or maybe have a bug or two in the code. There was 1 interview where I could solve the problem in 15 minutes with an optimal solution, and the interviewer gave me another problem, then I solved it again even though it’s not very optimal. At the end, I have tried my best, and I’m still waiting for the decision. Even though if I don’t get the job, nothing to regret it since it has been tremendous experience.