The process began with a technical phone screen with an engineer. The questions asked were relatively basic, about programming, object-oriented design, testing, and terminal commands.
Afterwards, they flew me to New York and I interviewed for about four hours in their office. There were three technical interviews followed by a culture interview. The technical interviews involved some whiteboarding and some thought questions. The whiteboarding involved basic programming questions like anagrams, palindromes, etc. The thought questions had more to do with how one would test a certain application, make sure someone is notified when it's not functioning correctly, etc. A couple weeks after that they let me know they'd like to make an offer, but asked for my commitment before doing so.