Revolut's coding rounds heavily feature problems with a fintech twist—think transaction processing, fraud detection, or real-time systems. Prioritize clean, production-ready code with strong error handling and OOP design, alongside standard DSA. Expect problems where scalability and low-latency considerations are implicit, so practice explaining trade-offs for data structures like heaps or hash maps in a high-throughput context.
The Bar Raiser is a behavioral and leadership round focused on Revolut's core principles (e.g., 'We Question Everything,' 'We Think Big'). Prepare 8-10 detailed stories using the STAR method that demonstrate impact, ownership, and challenging the status quo. Research Revolut's recent product launches (like crypto or stocks features) and align your examples with their fast-paced, product-led growth culture.
For SDE-2, expect a 45-minute system design round focusing on distributed systems for a fintech scale. Master design of payment gateways, idempotency, eventual consistency models, and microservices communication (gRPC/REST). Be ready to discuss data storage for transactions (SQL vs. NoSQL), caching strategies (Redis), and handling PCI-DSS compliance constraints. Practice designing systems for 10k-100k TPS.
Top mistakes include writing inefficient code without discussing trade-offs, ignoring edge cases in financial contexts (like currency conversion or overdrafts), and failing to ask clarifying questions about scale. In system design, candidates often overlook monitoring, alerting, and data consistency requirements. Always verbalize your thought process, as communication is graded as heavily as the solution.
The process typically takes 4-6 weeks: 1-2 weeks for initial screening, 1 week for technical phone screen, 1-2 weeks for onsite (4-5 rounds), and 1 week for final decision. You'll usually hear back within 3-5 business days after each round. Delays often occur during team matching for SDE-2/3 roles, so patience is key. Proactively email your recruiter if you haven't heard in 7 days post-onsite.
SDE-1 focuses on strong DSA and clean implementation; system design is high-level (e.g., design a queue). SDE-2 requires deeper system design with trade-off analysis and expects mentorship examples. SDE-3 expects architecture design for multi-team systems, technical strategy, and influencing product decisions. The Bar Raiser round becomes progressively more strategic, assessing scope and impact alignment for senior levels.
Study Revolut's engineering blog (revolut.com/en-PL/engineering/) for insights on their microservices (Kotlin/Java, PostgreSQL, Kafka, Kubernetes). Review their public talks on YouTube about scalability challenges. Practice with problems on fintech-specific platforms like CodeSignal's 'Fintech' category or design payment systems on Pingarooni. Understand their monorepo structure and how they handle real-time transaction processing.
Revolut prioritizes practical, maintainable code that could ship to production. While algorithmic efficiency matters (they expect O(n) or O(n log n) solutions), they heavily weight code organization, readability, and robustness—especially for financial data. In coding rounds, explicitly discuss how you'd test your code, handle failures, and document it. A 'good enough' solution with excellent engineering practices often scores higher than an optimal but messy implementation.