Revolut Coding Interview Questions
25 Revolut coding interview problems with full optimal solutions — 10 easy, 11 medium, 4 hard. Every problem ships with multiple approaches (brute-force first, then the optimal), complexity tables for each, company-specific tips on what an Revolut interviewer values, and a FAQ section.
- #1easyfoundational
1. Two Sum
Find two indices whose values sum to a target, a Revolut warm-up that mirrors pairing two transaction legs to net a customer balance to zero.
- #2easyfoundational
2. Valid Parentheses
Use a stack to validate matching brackets, a classic Revolut warm-up that mirrors validating nested transaction blocks in a settlement message.
- #3easyfoundational
3. Merge Two Sorted Lists
Merge two ascending linked lists into one, a Revolut warm-up that mirrors merging two time-ordered FX trade streams into a single tape.
- #4easyfoundational
4. Same Tree
Check whether two binary trees are structurally and value-identical, a Revolut warm-up that mirrors comparing two ledger snapshots for reconciliation drift.
- #5easyfoundational
5. Single Number
Find the one element that appears once when every other appears twice, a Revolut warm-up that mirrors spotting an unmatched payment leg in a duplicated batch.
- #6easyfoundational
6. Majority Element
Find the value appearing more than n/2 times, a Revolut warm-up that mirrors detecting the dominant currency in a stream of FX trades.
- #7easyfoundational
7. Contains Duplicate
Decide whether any value appears at least twice in an array, a Revolut warm-up that mirrors detecting a re-submitted transaction ID before the ledger double-books it.
- #8easyfoundational
8. Missing Number
Find the one number missing from a permutation of 0..n, a Revolut warm-up that mirrors finding a gap in a sequence of FX trade IDs.
- #9easyfoundational
9. Reverse Linked List
Reverse a singly linked list iteratively in place, a Revolut warm-up that mirrors replaying a chain of ledger entries in reverse to compute an as-of balance.
- #10easyfoundational
10. Best Time to Buy and Sell Stock
Find the max profit from a single buy-then-sell over a price series, a Revolut warm-up that mirrors picking the single best entry/exit on an intraday FX feed.
- #11mediumfoundational
11. Add Two Numbers
Add two big integers represented as linked lists in reverse order, a Revolut staple that mirrors summing two arbitrary-precision currency amounts limb by limb.
- #12mediumfoundational
12. Longest Substring Without Repeating Characters
Find the length of the longest substring of unique characters via a sliding window, a Revolut bread-and-butter screen for streaming transaction-ID windows.
- #13mediumfoundational
13. Container With Most Water
Find two lines forming the maximum-area container via a two-pointer walk, a Revolut screen that mirrors picking the best buy/sell pair in an FX order book.
- #14mediumfoundational
14. 3Sum
Find every unique triple summing to zero, a Revolut screen that mirrors finding three transaction legs that net to zero across a multi-currency clearing batch.
- #15mediumfoundational
15. Group Anagrams
Group strings that are anagrams of each other under a canonical key, a Revolut screen that mirrors bucketing different spellings of the same merchant name for ledger reconciliation.
- #16mediumfoundational
16. Spiral Matrix
Walk a 2D matrix in spiral order with bounded pointers, a Revolut screen that mirrors traversing a partitioned ledger grid row-by-row without revisiting cells.
- #17mediumfoundational
17. Merge Intervals
Merge overlapping intervals after sorting by start, a Revolut staple that mirrors collapsing overlapping authorization holds into a single net exposure window.
- #18mediumfoundational
18. Unique Paths
Count distinct lattice paths from top-left to bottom-right of a grid using DP, a Revolut warmup that mirrors counting valid FX-conversion routes between two currencies through intermediate hubs.
- #19mediumfoundational
19. Insert Delete GetRandom O(1)
Design a set supporting O(1) insert, delete, and random pick, a Revolut systems-design favorite that mirrors picking a random active order from a hot ledger partition.
- #20mediumfoundational
20. LRU Cache
Design an O(1) get and put cache with least-recently-used eviction, a Revolut systems-design staple that mirrors caching the hottest FX rates with strict memory bounds.
- #21mediumfoundational
21. Coin Change
Find the minimum number of coins to make a target amount with unlimited supply, a Revolut staple that mirrors choosing the minimum number of pre-funded liquidity buckets to satisfy a payout.
- #22hardfoundational
22. Median of Two Sorted Arrays
Find the median of two sorted arrays in O(log(min(m,n))), a Revolut hard-screen that mirrors finding the median quote across two sorted FX-rate feeds in microseconds.
- #23hardfoundational
23. Merge k Sorted Lists
Merge k sorted linked lists via a min-heap, a Revolut hard-screen that mirrors fan-in merging of k pre-sorted FX-rate streams into a single ordered tape.
- #24hardfoundational
24. Trapping Rain Water
Compute the total water trapped between bars of varying height, a Revolut hard-screen that mirrors computing total locked-up reserves between peaks in a time-series of balance snapshots.
- #25hardfoundational
25. Sliding Window Maximum
Return the max of every length-k window via a monotonic deque, a Revolut hard-screen that mirrors computing rolling peak FX volatility over a sliding minute window.