Revolut logo

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

2.6 Rounds average
Average Typical difficulty
34.7% Positive experience

Candidate interview experiences

First-hand accounts from people who interviewed at Revolut.

Showing 3 of 285
Revolut logo
Revolut

Software Engineer

Engineering · half a year ago

Mid Average Positive experience Accept offer 5 rounds
Interview process
Recruiter call Technical screen Technical screen Technical screen Onsite Background check
Interview formats
Behavioral Coding Technical System Design

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.

Confirmed questions2 questions
  • What resilience design patterns do you know?
  • Which resilience design patterns are you aware of?
Revolut logo
Revolut

Software Engineer

Engineering · nearly a year ago

Entry Average Negative experience No offer 1 round
Interview process
Technical screen Onsite
Interview formats
Technical Coding System Design

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.'

Confirmed questions5 questions
  • 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?
Revolut logo
Revolut

Software Engineer

Engineering · nearly a year ago

Senior Difficult Negative experience No offer 3 rounds
Interview process
Recruiter call Technical screen Onsite
Interview formats
Behavioral Technical Coding System Design

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.

Confirmed questions5 questions
  • 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.

Interview formats

Technical 37.1%
Coding 31.7%
Behavioral 19.6%
System Design 9.9%
Other 1.1%

Interview difficulty

Easy 24.2%
Average 54.4%
Difficult 21.4%

Candidate experience

Neutral 20.7%
Positive 34.7%
Negative 44.6%