I applied online. The process took 4 months. I interviewed at Google in Dec 2016
Interview
The first step is a simple application that required a < 1000 word essay and a resume.
The next step was 2 back to back technical interviews over the phone that are similar to leetcode easy in difficulty and style. They will test you on basic data structures and concepts. Each interview is 1 hour for a total of 2 hours.
After this are the host matching interviews which involve questions about university and resume. This step can take a while but if you can find a host that you click with then it is fairly easy.
Interview questions [1]
Question 1
NDA but study leetcode easy and know your basic data structures (lists, trees, etc).
I applied for the position online. A recruiter reached out and scheduled two back to back phone interviews. The first one was behavioral and included a code reading portion, and the second one was a technical coding question.
Short essay responses included with resume and then 2 back to back 45 minute interviews, both technical questions. Nothing very complicated (certainly not the level you get for the real software engineering internship) but they're still looking for smart people who absolutely know their stuff. It's important to review your computer science courses and understand fundamentals, but don't expect some crazy question from Leetcode to pop up.
I applied online. The process took 6 weeks. I interviewed at Google
Interview
Applied online and heard back about two weeks later. There were two technical phone interviews, 45 minutes each. Interviewers were super friendly. The interviews were mostly technical, and the second interviewer asked a few questions about my resume.