Interviewing at Revolut – Senior/Lead Role
The interview process at Revolut was structured and transparent. The recruiter was very friendly, supportive, and guided me through the process thoroughly. Before each interview stage, we had a preparation call, which helped me focus on the key topics.
Stage 1: Recruiter Screening A general screening call covering high-level concepts such as ACID, CQRS, microservices, and cloud fundamentals. Straightforward and pleasant.
Stage 2: Live Coding (Load Balancer Implementation) The interviewer was professional, and the session focused on implementing a basic load balancer. I received positive feedback and advanced to the next stage.
Stage 3: Live Coding + Theoretical Questions This stage included a practical task (money transfer between two accounts) and a deep dive into system design fundamentals—patterns, database indexing, deployment strategies, distributed transactions, observability, etc. The interviewer was friendly, and the discussion was technical and engaging.
Stage 4: System Design (Apartment Reservation System) This round was unfortunately disappointing. The interviewer had an unapproachable communication style, which made the experience uncomfortable. I was told my design was overly complex and did not pass the round. However, due to strong feedback from the earlier stages, the recruiter invited me to retry the system design interview after 3 months.
Stage 5 (Reattempt): System Design (Card Issuing and Delivery System) This time, the interviewer was respectful and constructive. The task was to design a card issuing and delivery system with low load, and the discussion was mostly around handling distributed transactions. While I covered 2PC, TCC, and SAGA, I was unfamiliar with the "transactional outbox" pattern, which the interviewer expected. I was told that for this role level, Revolut does not allow any unanswered questions, and thus I didn’t pass.
Despite the outcome, the interviewer stayed on to answer my follow-up questions about Revolut’s engineering practices, which left a very positive impression.
Implement a simple load balancer with different balancing strategies.
Implement the account transfer service (with locks and without).
Design an apartment reservation system.
Design a card-issuing and delivery service.
The following metrics were computed from 1 interview experience for the Revolut Sr. Software Engineer role in Portugal, Portugal.
Revolut's interview process for their Sr. Software Engineer roles in Portugal, Portugal is extremely selective, failing the vast majority of engineers.
Candidates reported having very good feelings for Revolut's Sr. Software Engineer interview process in Portugal, Portugal.