I applied to the job using Google's career website and sent my resume. I received a call from the recruiter shortly after my application. The recruiter's communication was good and prompt.
We scheduled a phone interview, and it took them 3-4 days to get back to me with the results. Unfortunately, I didn't pass the phone screen.
I was first asked a programming question: Design and implement a class that returns a random string value from a set with an arbitrary probability distribution given by an array of probabilities. Using an existing random number generator with a uniform distribution (e.g., Random.nextFloat()), return the string for the random float value based on the strings' probability distribution. This sounded hard due to the wording, but it was easy to implement.
After I completed the coding question, we had plenty of time, and I was asked a bunch of floating-point number-related questions:
The answers to these questions lie in the IEEE Standard for Floating-Point Arithmetic (IEEE 754), and you can find sources online.
I got really frustrated with this series of questions because they had nothing to do with the coding interview. After struggling to find answers, I finally ran out of time. I was so relieved, though, that the interview was over because it really felt like torture in the end, with the interviewer beating a dead horse.
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.