I learned of summer internship opportunities at Google through a panel at my school. After filling out the online application, which included nothing more than basic information like major, project interests, and unofficial transcripts, I was contacted by email by a recruiter to set up a series of two back-to-back phone interviews. These interviews were technical in nature. The first interview required me to design and describe algorithms but did not require any actual coding. There was also a more general design question about how I would go about adding a new feature to one of the company's products. The second interview required live coding in a shared document.
After passing these technical interviews, I went into the host matching phase, where my information is placed into a database for the perusal of possible hosts. I was soon contacted by my recruiter, who told me that a host had selected me for a possible internship. My recruiter set up a phone interview with my host, who asked me a few technical questions, but he was satisfied with broad descriptions of general approaches rather than the more technical explanations required for my previous interviews.
My recruiter then contacted me to inform me that I had passed the host matching interview and extended an offer for summer employment.