The interview process took me about 7 weeks. It started with a LinkedIn message from a recruiter. The message was a clear job opportunity with salary ranges for mid and senior level positions. After agreeing to join the process and sending her my information, I received an e-mail scheduling a call with the recruiter that followed me throughout the process.
Even though the list of contents for the technical interviews was dense, there was always a call with this recruiter a few days before in order to make sure that I was prepared for the technicals interviews.
There were 3 technical interviews:
1. Coding and algorithms
2. Brand technical interview (thread-safety, databases, scaling, production practices, etc)
3. System Design Interview
Coding and algorithms was a hour-long call where I had to code a load-balancer. The interviewer barely intervened at any moment and new requests were many to enhance the functionality.
The technical interview had a lot of questions about a lot of topics. Many of them involved concurrency and thread safety, but also databases, transactions, indexes, scaling, product practices, CI/CD and more.
The System Design Interview was the hardest one for me, even though I already had some practice with the interview model. I didn't manage to come to a convincing solution within the interview length, but the people involved in the process agreed to make me an offer as a junior developer, given that I had done really well in the previous two.
After the System Design Interview, I had one last Team Fit interview which also went well. The last call was actual offer call. Due to all the checks that Revolut performs and to the fact it was almost December, I only started in the company 42 days after receiving the offer.