I applied through university. The process took 3 weeks. I interviewed at ITA Software (Cambridge, MA) in Mar 2010
Interview
You must first submit a code sample from a previous project. I spent a long time on mine, others I know have simply picked one of the challenge puzzles from previous years and completed that in an afternoon. If one of the managers finds your application interesting, you will get a phone interview where they will describe the position and ask you about your experience.
The next round is in-person interviews, wherein I was interviewed by a few of the people in the group, talking about the project, how you might approach the problem, and the company culture. Then they give you a programming puzzle to solve there, as well as some time to talk over the problem and ask questions. Then you get cracking. Don't get too nervous, focus on getting a naive implementation done first and optimize when you are done. Your goal is to show them you know how to approach a programming problem.
They then ask for references. They got back to me two weeks after the interview.
Interview questions [1]
Question 1
In actuality, the questions they asked me were not general interview questions but more specific to the internship project.