Two non-technical phone screens followed by a technical interview.
The technical interview started by giving a 30 minute presentation on relevant projects and technologies I have worked with. Everyone listening was attentive and asked thoughtful questions. After the presentation, there were a few quick questions from the team about my resume. Following that, the team asked 4 or 5 programming questions. I overthought them sort of, but they were pretty straight forward (fizzbuzz, splitting a string, unit test a function, etc).
Lastly there was a one on one interview with the hiring manager and then an HR rep. That was mostly about culture and what I specifically was looking for.
I got an offer later that night, but wound up turning it down because there was no pay increase over my current situation.