First interview with HR.
Second interview was a live coding challenge, which was really disappointing. Some considerations here:
Random (from Kotlin), which I had barely used before and couldn't remember how it worked. As you're not allowed to use autocomplete or search the internet, you need to know and remember how Random works. To properly test the assigned server, you also need to mock the random behavior (in Kotlin, Random is an abstract class). I mentioned to the interviewer that this wasn't a good approach, as it required manually injecting the random behavior into production code just for testing. I am also heavily against using mocks. However, it seems they follow an old-school style of SOLID principles everywhere, expecting you to create your own implementation of Random and inject it for testability.Random implementation, I ran out of time. They expected to finish this second step to move forward to the next stage.I must say that the HR interview was very good, and the interviewer was very kind.
Create a load balancer with a maximum of 10 servers, ensuring no duplicated servers.
The following metrics were computed from 24 interview experiences for the Revolut Senior Software Engineer role in United Kingdom.
Revolut's interview process for their Senior Software Engineer roles in the United Kingdom is extremely selective, failing the vast majority of engineers.
Candidates reported having very negative feelings for Revolut's Senior Software Engineer interview process in United Kingdom.