I had 5 on-site interviews. 45 mins each plus non-interview lunch meetings with a Google employee. I gave correct answers with full code for all of the questions except the open-ended performance question (last one). Overall I thought I did very well but was quite surprised and shocked to know that Google thought otherwise. Upon requesting additional feedback, Google mentioned code efficiency and cleanliness was an issue. And the system design (last question on performance) was a concern.

- Generate a state map of all possible states with next moves in a tic-tac-toe game. Rules (in order) - if empty occupy middle, win if you can, stop winning of opponent, place somewhere randomly
- Serialize tree https://zigin.co/interview/detail/1842.page
- In the game ‘go’ (captured if all your surroundings are theirs but if you are surrounding yourself 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 a given string can be displayed in. Word or character can’t be broken. Imagine a method getWidth(char c, int fontSize) and getHeight(int fontSize) are given
- Optimize a web server implementation serving static content from local filesystem