I was initially contacted by HR, who asked about basic questions such as VISA status, expected graduation time, willingness for locations, etc.
After this screening phone interview, I had a phone interview with several members from the group I applied. They explained their daily works to me and asked me to briefly presented my research on phone. It was a good phone call.
After that I got the on-site interview in Boston, and it was a day long interview. I first had a conversation with the group manager at the beginning for about half hour, then gave a presentation about my research to the whole group, and answered some of their questions. The presentation including Q&A lasted for about one hour.
After that, I had person-to-person interview with each group member. Some of them had some follow-up questions about my presentation, some talked more about their works in the company. Each person talked about half hour. Two group members took me out for lunch in the middle, which lasted for about one hour.
After met with all the members, I took a test. The test had two parts. Part 1 included some basic mathematical questions, as well as some modeling questions. Part 2 was a programming test, you can use any language to write a small piece of code to solve a simple question. You do not need to compile and run your code, just write it down, either on paper or on a computer.
After the test, one member walked me out and the whole interview was done.
I got the offer in about 3 weeks.