Taro Logo

Senior Java Software Engineer Interview Experience - Madrid, Community of Madrid

October 1, 2025
Positive ExperienceGot Offer

Process

The overall interview process was well-structured and professional, consisting of four stages over about three weeks. Each stage had a short preparation call with a recruiter, which I found very helpful. Communication was timely and polite throughout.

  1. Initial Call: A short introductory call with the recruiter to discuss background, motivations, and basic role details. Discussed CQRS, Event-Sourcing, and DDD in high-level terms.

  2. Stage 1 – Technical (Load Balancer Design): Implement a load balancer with Random/Round Robin algorithms in TDD style. Covered concurrency handling, locking mechanisms, and TDD approach. The focus was on covering all scenarios with tests and SOLID principles.

  3. Stage 2 – Coding + Database (Account Skeleton & Postgres): This involved implementing a thread-safe account service given a skeleton and answering many detailed questions about Postgres—isolation levels, indexes (BTree vs BRIN), transactions, and performance optimizations. Replication, sharding, and partitioning were also discussed. DDD, CQRS, and Event Sourcing were covered again.

  4. Stage 3 – System Design (Apartment Booking System): A full system design round: designing an apartment booking platform with a third-party API that may be unreliable. I was expected to discuss service decomposition, consistency, and avoiding double-bookings through idempotency. TCC and SAGA patterns were mentioned, and the transaction outbox pattern was asked about.

  5. Stage 4 – Behavioral: The final round covered previous projects, decision-making, and collaboration style. I was asked to describe the best project delivered end-to-end in depth.

The process was thorough and technically challenging, but there was a lack of transparency around the internal leveling system. Despite being evaluated at a senior level throughout, the final offer corresponded to a mid-level grade, which led to a significant compensation mismatch.

Also worth mentioning is that even though there was very good feedback after each step, during the end offer discussion, there was suddenly bad feedback for each stage, some of which I personally find absurd (no mention of VPN during System Design even though there was mention of the OAuth2 protocol). Even if unintentional, I feel as if this is a "bait and switch" scenario. Furthermore, for such a challenging technical interview, I feel that the compensation was not adequate.

Questions

  1. Implement Load Balancer using TDD style with Random/Round Robin strategies.

  2. Implement a thread-safe Account Ledger given a skeleton.

  3. System Design an Apartment Booking application with a 3rd party API integration.

  4. Describe a project you delivered end-to-end in debt, focusing on innovation and initiative.

Was this helpful?

Interview Statistics

The following metrics were computed from 1 interview experience for the Revolut Senior Java Software Engineer role in Madrid, Community of Madrid.

Success Rate

0%
Pass Rate

Revolut's interview process for their Senior Java Software Engineer roles in Madrid, Community of Madrid is extremely selective, failing the vast majority of engineers.

Experience Rating

Positive100%
Neutral0%
Negative0%

Candidates reported having very good feelings for Revolut's Senior Java Software Engineer interview process in Madrid, Community of Madrid.

Revolut Work Experiences