The interview process involved five on-site interviews, each lasting 45 minutes.
Additionally, there was a non-interview lunch meeting with a Google employee.
I provided correct answers with full code for all interviews except the last one, which was an open-ended performance question.
Overall, I believed I performed very well but was quite surprised and shocked to learn that Google thought otherwise.
Upon requesting additional feedback, Google mentioned that code efficiency and cleanliness were issues.
The system design, specifically for the last performance question, was also a concern.
Generate a state map of all possible states with next moves in a tic-tac-toe game. Rules (in order):
Serialize a tree such that a | b c d | e.
In the game 'Go' (captured if all your surroundings are theirs, but if you are surrounding yourself, the perimeter grows). Write a method to detect if a point is captured.
Given a screen with a given width, height, and supported min/max font size, determine the max font size a given string can be displayed in. A word or character cannot be broken. Imagine that the methods getWidth(char c, int fontSize) and getHeight(int fontSize) are provided.
Optimize a web server implementation serving static content from the local filesystem.
The following metrics were computed from 748 interview experiences for the Google Software Engineer role in Mountain View, California.
Google's interview process for their Software Engineer roles in Mountain View, California is very selective, failing most engineers who go through it.
Candidates reported having very good feelings for Google's Software Engineer interview process in Mountain View, California.