I originally applied for a Tech Lead position and conducted the first stage with this in mind, but the role was pulled a couple of days later. Sedex were good enough to offer a continuation of the process, but for a Staff Engineer role that they had open. Admittedly, this was not something I really had a lot experience of (more technical management), but I gave it a shot regardless.
The first stage was a phone screen with their internal talent manager to gauge my experience.
Second stage was a technical pairing exercise with a senior and tech lead. This was focused around refactoring an existing codebase that was written in Kotlin, but reeked of code smells that needed addressing. The focus was less on syntactical awareness, and more about how you communicate your thought process and good software engineering practices.
The third and final stage was a technical stage with a Staff Engineer and Senior Engineering Manager. This was a set of technical questions, opportunity to share a high-level architecture of a previous system I worked on and then a dive in to various parts such as caching and testing.