I found the Unity3D Developer Kabam through their jobs site, and applied directly to them. I received an email back within two days to schedule a phone interview. The phone interview began on-time, and the person interviewing me was the hiring manager. He asked a range of high-level C# programming questions (what is a virtual function, what happens under the hood when a virtual function is called, when would you use an interface instead of an abstract class, checking knowledge of design patterns, etc.). We seemed to connect on a human level, as well as a profession level.
A few days later, I received an email asking for me to complete a programming assignment. I was asked to create a specialized chess game with some specific game-logic and initialization constraints. It wasn't overly challenging, and fun to do.
A few days after I turned it in, I was asked to fly to SF for an on-site interview. It was grueling, but everyone was super-positive, and accommodated the fact that I was jet-lagged. The types of questions they asked were clearly targeted towards the job I'd be doing (developing Unity3D games), and there were no "how would you move a mountain 2 feet to the left" kinds of questions. My favorite part of the interview was with the first guys I met. They had me design an isometric tower defense game for a mobile device, and walk them through how I would do it. They called me on a couple of choices I made that were clearly weak, and they gave me a chance to adjust, and I did. At the end of it, I had 2 whiteboads filled with drawings, pseudo-code, and a game object hierarchy. That was a lot of fun.
Overall, this is one of the best interview processes I've been through. I was disappointed that I didn't get the job, but I had a great experience with these guys. I hope to cross paths with them again in the future.