I applied online, and was quickly emailed back about interviewing. For interns, there are two technical interviews. One is with and engineer and the second is with a more senior person, who, if you get a job, is your hiring manager. The interviews were pretty typical data structure and algorithm problems, and were actually pretty easy.
After the two technical phone interviews, there's one more behavioral interview with an HR person. I'm not sure if this even counts as an interview, because when I had my HR call, the recruiter told me that I got the job, and the call was more about logistics, such as what kind of team you want to work on, what your benefits will be like, what the decision process will be like, etc. At this point, you've pretty much got the offer.
Now the offer part is a little weird. Firstly, after they tell you they're going to give you an offer, they don't give it to you. Instead, they let you continue with whatever other interviews you're doing, and once you're ready, you tell them to send you the offer. Once they send it to you, you get one week to make your decision. This is probably to make it more difficult to compare and negotiate, but you could probably still try.