You will have an initial interview with human resources, where they will get to know you and ask some questions about your familiarity with certain technologies and methodologies. In the second interview, you will need to code a practical example in Python or Java and add tests. For this reason, I recommend being prepared with a framework or tool for testing, as it will be necessary.
The third interview involves more technical questions, starting with a coding example in Python where you will implement a simple transaction between different accounts and also build tests for that (similar to the second interview on this part). After that, they will ask various questions, such as about ACID principles, types of deployments, and how to avoid concurrency issues in databases.
The fourth interview is focused on system design, and I believe it's crucial to be proactive in identifying gaps in your logic before the interviewer points them out. This was the interview I didn’t pass; they asked me to design a system to refill ATM machines.