Google Interview Prep
The interview will focus on three main areas (and may dabble in a fourth depending on whether or not your experience matches up):
- APIs/System Design
- Web Tech/Networking (high to mid level)
- May dabble in Linux/Unix (basic command line, not too deep)
Below is an extensive amount of additional resources, likely overkill, but you may find some of it helpful before your interview.
To brush up on your coding skills use the following sites: Hacker Rank, Project Euler, or Interview Cake. I also highly recommend the book Cracking the Coding Interview - you can find it for sale online, and a used 5th edition should be just as good as a new 6th edition.
Technical papers on the Google Infrastructure:
Troubleshooting / Problem solving:
Interviewers are looking for a logical and structured approach to problem solving
Troubleshooting example - Scenarios dealing with faulty systems, App Engine outage, etc.
Unix/Linux Systems (this most likely will go more in-depth than the interview will):
Know what's happening under the hood!
Sample questions: Kernel, Libraries, System Calls, Memory Management
Online book - The Art of Unix Programming
Book - Advanced Programming in the Unix Environment
Interviewers are looking for depth of knowledge and understanding of network theory
Sample questions: Different protocols (TCP/IP, UDP, ICMP, etc), MAC addresses, IP packets,
DNS, OSI layers, Load balancing
Book - Computer Networking