There were two rounds of technical interviews, both on screen, and one round to pick the team.
The first round was mainly technical questions about and algorithms. The questions were mainly focused on OOP and multithreading. The round took about 45 minutes and the most difficult question i remember was to explain the difference between a threadLocal and a shared variable in multithreading.
The second round took place a week later and it involved problem solving. I had to solve one problem and explain and code the solution. I was a graph problem, similar to leetcode's "number of islands". I would say it was easy to medium in difficulty.