Software Engineer

Software EngineerSenior Software EngineerHard

This interview process is designed to assess candidates for a Senior Software Engineer position at Revolut. It evaluates technical proficiency, problem-solving skills, system design capabilities, and cultural fit.

Rounds·4

Timeline·~14d

Experience·5 - 10 yrs

Comp band·US$140000 - US$180000

Interview time·195 min

Evaluation

What they measure.

  • Problem-solving ability
  • Algorithmic thinking
  • Data structure knowledge
  • Code quality and efficiency

Preparation

How to prepare.

Tips

  1. Review core data structures and algorithms.
  2. Practice system design problems, focusing on scalability and trade-offs.
  3. Prepare examples for behavioral questions using the STAR method.
  4. Understand Revolut's products and values.
  5. Brush up on your chosen programming language(s) and relevant frameworks.

Study plan

Fig · Study plan — 04 phases

01 / 04
01

Phase 01 of 04

Data Structures and Algorithms

Weeks 1-2: Data Structures & Algorithms (Medium/Hard)

Weeks 1-2: Focus on fundamental data structures (arrays, linked lists, trees, graphs, hash maps) and algorithms (sorting, searching, dynamic programming, graph traversal). Practice problems on platforms like LeetCode, HackerRank, focusing on medium to hard difficulty.

Questions

Commonly asked.

  • Design a URL shortening service.
  • How would you design a system to track user activity on a website?
  • Explain the concept of eventual consistency.
  • Describe a situation where you had to deal with a production issue. What steps did you take?
  • What are the advantages and disadvantages of microservices?
  • How do you approach code reviews?
  • Tell me about a time you failed. What did you learn from it?
  • Design a rate limiter.
  • How would you optimize a slow database query?
  • What are your thoughts on test-driven development (TDD)?

Locations

Regional differences.

Fig · Regions — 03 locations

01 / 03

Location

London

Interview focus

Emphasis on practical application of distributed systems concepts.Strong focus on leadership and mentorship experience.Deep dive into problem-solving methodologies.

Common questions

  • How would you design a distributed caching system for a high-traffic e-commerce platform?
  • Describe a time you had to mentor a junior engineer. What was your approach?
  • Discuss a complex technical challenge you faced and how you overcame it.

Tips

  • Be prepared to discuss specific examples of large-scale systems you've worked on.
  • Highlight instances where you've influenced technical direction or mentored teams.
  • Practice explaining complex technical concepts clearly and concisely.

Rounds

Round-by-round.

Expand a step for evaluation criteria, sample questions, and prep notes.

Hard

Technical Interview (Coding) · 60 min · Software Engineer / Technical Lead

This round focuses on your core technical skills. You will be asked to solve coding problems, typically involving data structures and algorithms. The interviewer will assess your ability to write clean, efficient, and correct code, as well as your problem-solving approach and communication of your thought process.

What they look for

Logical thinkingAbility to break down complex problemsClean and maintainable codeUnderstanding of trade-offs

Evaluation

  • Problem-solving skills
  • Algorithmic proficiency
  • Coding efficiency and correctness
  • Understanding of time and space complexity

Sample questions

  • Given an array of integers, find the contiguous subarray with the largest sum.

    ArrayDynamic Programming
  • Implement a function to reverse a linked list.

    Linked ListPointers
  • Find the kth smallest element in a binary search tree.

    TreeBinary Search TreeRecursion

Prep for this round

  1. 01Practice coding problems on platforms like LeetCode, HackerRank.
  2. 02Focus on understanding the underlying data structures and algorithms.
  3. 03Practice explaining your thought process out loud.
  4. 04Be prepared to discuss time and space complexity (Big O notation).

Common rejection reasons

  • ×Inability to articulate thought process clearly.
  • ×Lack of fundamental data structures and algorithms knowledge.
  • ×Inefficient or incorrect solutions to coding problems.

DSA

Coding questions at Revolut.

Frequently reported on Revolut loops

Other guides

More at Revolut.