
Revolut Software Engineer Interview Questions
& Process
Real candidates share what happened, how many rounds they had,
and how the experience turned out.
Based on 285 interview experiences · FREE TO READ
Candidate interview experiences
First-hand accounts from people who interviewed at Revolut.
Software Engineer
I interviewed at Revolut in late August 2025, and the whole process from the first interview to the offer acceptance took about 2 months. It might be quicker for others, but I took my time between stages. The recruiter laid out all the steps and even had catch-up calls before each interview, which was super helpful. The first stage was a screening with basic questions that you usually get. Then came a live coding session with a simple assignment requiring TDD. I used Spock, but any framework is fine. I tested all scenarios and got stuck on testing random value functions, but the interviewer's hint got me through it. Stage 3 was a technical interview with two parts: live Java coding without tests, writing thread-safe business logic in SQL, and then a discussion on concurrency, thread safety, DB transactions, microservices, etc. The fourth stage involved system design for a banking system, including drawing the architecture and table structures. After clearing these, you're considered for the SWE role, but there's a final stage where you meet with potential teams. They'll decide whether to hire you based on the teams' feedback from that meeting.
- What resilience design patterns do you know?
- Which resilience design patterns are you aware of?
Software Engineer
The live coding interview felt a bit off because the interviewer seemed unprepared. I coded everything they asked for, but got rejected for not using mocks in my tests and skipping extra validations, despite me asking if there was anything else needed. It felt like they wanted me to guess what they wanted instead of just telling me? I was really open about my code, and since they didn't ask for tests with mocks, I figured my tests, which had 100% coverage, were fine. They also gave me a problem I'd never seen before (designing a load balancer). Since they simplified the problem a lot, I thought the validations I added were sufficient too. I asked multiple times if I was missing any validations and was told 'no, thats ok'. Then the rejection reason stated: 'being open to adding validation logic when prompted would have improved robustness and demonstrated stronger ownership of edge cases and input safety.'
- Could you design a LoadBalancerService that only has a registerServer() method?
- What's the approach to guarantee thread safety for this method?
- Can you implement a get() method that randomly selects from the registered servers?
Software Engineer
Recruiter reached out via LinkedIn, and things moved fast. They gave a heads-up on potential topics for each part, though the scope was pretty wide. Interviewers were more focused on getting exact answers rather than understanding how I thought. Even the initial HR chat had some technical stuff, but the interviewers seemed to just look for buzzwords without really assessing the answers. HR also seemed to lack interest in a real conversation. Some interviewers rescheduled without telling me. Revolut's known for a tough interview process, so it might be best to see it as a knowledge test and not stress too much.
- Can you discuss Java?
- What are your thoughts on concurrency?
- Tell me about databases.
Revolut Software Engineer Interview Questions
Quoted word for word from Revolut interview reports.
“Regarding the code snippet provided for finding duplicates using a seen set, what is its time complexity?”
Read reports →“What is the time complexity for insertions in HashTables, and how does it get affected if there's a hash collision?”
Read reports →“How would you generate a shortUrl from a longUrl, where the shortUrl consists of a constant string plus 4 random alphanumeric characters?”
Read reports →“How would you generate a shortUrl from a longUrl and seoKeyword, where the shortUrl consists of a constant string plus the seoKeyword?”
Read reports →“Given an empty Account class and a signature for a transferMoney operation (Account a, Account b, ???? amount), please implement the Account class and the transferMoney operation.”
Read report →“How would you implement a thread-safe Java class for transferring money from account A to account B?”
Read report →“What data structure would you use to achieve O(1) time complexity for data retrieval and modification?”
Read report →“When designing the currency transfer class, how would you ensure precision, especially when dealing with decimals versus integer cents?”
Read report →“Can you build a load balancer that supports a maximum of 10 servers and prevents duplicate entries?”
Read report →Formats, difficulty and experience
Across all 285 Revolut interview reports.