Had a phone screen with recruiter, then a one hour technical phone screen with developer. Did well on it, so I was given a 3 hour time limit coding exercise to do on my own time. Must have done well as I was invited for an on-site interview.
On-site lasted about 6 hours (lunch included). Spoke with 3 developers and 3 non-developers. Questions were both technical and behavioral.
A month after the interview, I was told my position has been cancelled, but I performed well in the interview so they kept my application opened.
A couple of months later, I reached out to the recruiter and was told that there is a new position available. I was then connected with the director and had a brief behavioral interview. I was then offered a position without needing to go through another round of interview as apparently, I did really well during my previous interview.