One interview with HR, the usual stuff about employment history, etc. A technical interview with a team lead where we discussed different tech and implementation of micro services and databases and why I would make those decisions. Followed by a "code test" that ended up being a meeting with their architect where we sort of solved a problem together regarding the architectural and hardware needs for an example mobile app. Pretty interesting and dynamic. Followed by another interview with the same tech lead as before to refresh a bit on our previous conversation. Finally a meeting with HR where they offered me the job. In my case the process took about 3 months because after the first tech interview they told me they had to "re-eavluate their internal needs" and would contact me if the position was reopened.