Phone Interviews
The first two phone interviews were back-to-back and lasted 45
minutes each with a 15 minute break in-between. Both interviews had a
mix of questions pertaining to programming, algorithm design, work term
experiences, school projects and fundamental programming and computing
concepts. The interviews were well-rounded and had good breadth and
depth in terms of coverage.
The third interview was solely to test my coding skills. It was a
45-minute phone interview as well. I was given two problems and I had
to talk through my solutions and provide detailed pseudocode over the
phone. Then, I was instructed to submit actual code files to the
interviewer’s email address within an 1-2 hours after the interview. I
was given freedom to use whatever programming language I saw fit. I
made sure my code compiled and I put comments for better readability. I
also cleaned up my code for any redundant or unnecessary variables.
After a week or so, I was told that there were no more positions
available in the smaller offices but that they had an opening for the
Software Engineer in Test position at the Mountain View campus, if I
was interested. Of course, I said yes. So, I got flown down to Mountain
View to interview with the Test team. It was a nice 3-day reprieve from
winter chills.
On-site Interviews
I was scheduled to meet my recruiter at 10am. She gave me a good
tour around the Googleplex and talked about Google as a company and
some of the employee perks. Then, she brought me to the interview room.
There was a Google bag with other Google goodies that was for me to
take home after the interview.
Technical Interviews
I had three technical interviews. The first 2 interviews were held
before lunch, and the third one after lunch. Each interview lasted
around 45 minutes and had an average of 3 problems each . All the
technical interviews were held inside the same room. Although there is
a whiteboard in the room, I was only asked to write on it during my
third interview. For the other interviews, I mostly wrote on a pad
paper. For some reason, I was allowed to write using pseudocode but I
think it is still better to write real code. Most of the problems I was
asked were just common coding problems or algorithms and to give ways
to test them. Two problems I was given were search-related and for one
of them, I was asked to scale the solution to a distributed file system
that comprised of thousands of servers. I’ve compiled a list of technical interview tips and guidelines, as well as a list of helpful interview resources.
Lunch Interview
I was introduced to another member of the team and he brought me to
the biggest cafeteria in the Googleplex. As everyone probably knows by
now, one of the best Google perks is free food and tons of it. There
was a wide variety of food and drinks. I decided to get food from the
Japanese station. The sashimi was really fresh and sumptuous. Anyway,
on to the casual interview. Most of the questions during lunch were
just about which aspects of software or computer engineering I liked
the most. I also talked about some of the projects I worked on in
university as well as in my work terms. There was no technical question
at all. I think they just wanted to see whether my interests and
expertise are a good match for their team.
Original story