First, I had an interview with the hiring manager to discuss my past experience and profile.
Second, there was a live coding round in Java to implement a data structure.
Third, I had a system design interview focused on distributed systems.
All rounds went reasonably well, but I did not hear back from HR for several weeks. After multiple follow-ups, they eventually informed me that they had selected another candidate for the role.