Phone screen: 1 hour. Technical. Programming problem administered in a language of my choice via CoderPad. I chose Ruby, which probably got me bonus points (but definitely choose your strongest language if it's not Ruby). I chose to use TDD during all my coding interviews, which probably helped impress them.
"Life story": 1/2 hour. They say they're so proud of this step but I felt like it was pretty pointless. Person administering wasn't technical and so my story of my development career was pretty much lost on them.
Interviews: 1/2 hour setup time, 1 hour with a senior dev, 1 hour with a different senior dev, 1/2 hour break, 1 hour with a mid-level dev. (I asked for all this to be split over 2 days but that request got lost in the shuffle.) No more Coderpad for this one - I used my preferred editor and screen shared. Again, pure Ruby, no obscure algorithms.
The second of the above interviews wasn't coding, it was a "technical deep dive". I was asked to go into as much detail as I could on 1-2 projects I'd worked on in the past. I lined up a third project just in case and I'm glad I did, because I needed it to fill the allotted time.
Every interviewer was super-friendly; it was much more collaborative than adversarial. A couple times I got nudges that didn't give away a solution but definitely saved me from getting off-track.
If there was one weakness, I'd say it was the lack of Rails. My Ruby's really solid but I'm still pretty sucky with ActiveRecord, SQL, and JavaScript. I think they thought I was some kind of rockstar when really their interviews only tested my strongest skill.
Before they make an offer they require a reference from a previous (within last 5 years) co-worker and a previous manager. Hope you haven't been burning bridges!