A recruiter contacted me via my old school email, stating they had my resume on file from an interview a couple of years ago.
I spoke with the recruiter very briefly over the phone. He described the role and asked if it was something I would be interested in, as it seemed like a very heavy software coding role. I confirmed my interest, and then he asked me to send an updated resume, after which he would set up a phone interview.
The phone interview was scheduled for a week later.
The interviewer called on a very poor phone line, and was likely on speakerphone. Fortunately, we moved to a Google Doc that was set up for the interview, and when I couldn't understand the interviewer, he would type the information in the doc.
The interview was fairly straightforward. The interviewer asked three questions: two dealing with arrays and one dealing with a linked list.
I struggled a bit with the first question. I worked through it, and the interviewer then asked typical time complexity questions and how to optimize the solution.
For the second question, I struggled for about five minutes to come up with a solution. I was explaining my thought process to the interviewer as I tried to devise a way to solve the problem, which seemed to confuse him. He asked if I would just code it, but I wasn't coding it because I had no ideas yet on how to solve the problem.
After about another minute, I came up with a solution. I started coding it, and once the interviewer saw that I had a solution and could code it without issues, he asked me to move on to another question. This was the linked list question, and I knew a solution immediately and coded it without any problems.
Somewhere during the interview, he asked me, "Do you have experience designing backend databases?" This is a question I would typically expect for a DBA role, not a standard software engineer interview. Regardless, I answered him, and that was pretty much the end of the interview. He asked if I had any questions, which I did, and he provided a good response.
This was my second interview with Google; the first one was a disaster, so I was quite pleased with the outcome of this one. I struggled a bit, but was able to answer the questions.
Two weeks later, I emailed the recruiter to ask if he had heard any results from the interview. He set up a time to talk, and when he called, he told me that I had performed well in the interview but that they had found another candidate better suited for the position.
Overall, it was a pretty good experience.
Randomize an array, ensuring no items are in the same position they were in originally.
The following metrics were computed from 3,728 interview experiences for the Google Software Engineer role in United States.
Google's interview process for their Software Engineer roles in the United States is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Google's Software Engineer interview process in United States.