I applied through a recruiter. The process took 2 months. I interviewed at Revolut in Mar 2023
Interview
Two technical rounds. First one with live coding and writing tests, second with little coding and technical discussion. Coding exercises related to multithreading. After technical rounds feedback was decent. Later I got 3 "team fit" interviews and got declined without any feedback.
Interview questions [1]
Question 1
Multithreading, partitioning, sharding, transaction isolation levels, db indexes, generally stuff from Designing Data intensive applications book
Hi there,
Thank you for letting us know about this.
Sincere apologies for the lack of feedback. We're concerned about your comments due to the fact that we are radically truthful about each other’s performance and providing feedback is a crucial component of our workplace.
We will use the assessment to make us better and to ensure this doesn’t happen again.
Wishing you all the very best!
I applied through a recruiter. I interviewed at Revolut (Porto, Oporto)
Interview
There were several interviews. Technical interview: coding task about concurrency (synchronization, read/write locks), deadlock. Also discussion about concurrency, DB, ACID, optimistic vs pessimistic, services, distributed systems. System design: task about designing net of ATM and checking their cash/balance.
Interview questions [1]
Question 1
Compare optimistic vs pessimistic DB locking and when to use?
I applied through a recruiter. The process took 2 weeks. I interviewed at Revolut (Madrid) in Jun 2023
Interview
I was approached by a recruiter. I had an initial interview with her, in which she asked about my background, and did some technical questions. Then I had a pair coding session to develop a Service Registry. Focused on TDD, and following up questions about concurrency and strategy pattern. My final round was a tech interview with 2 guys. It was a coding session to create a class for transferring money between accounts. Its main focus was concurrency. Then following up questions about isolation levels, indexes, optimistic locking, distributed patterns, DDD, CQRS. I have to say it was a weird moment when I said PKs are btrees by default in Postgres, and clustered indexes. One of the guys replied that I was wrong, and that PK by default are hashes. I think replying to your interviewing is a red flag over you, so I preferred not to. Looks like he did not have enough knowledge about what they were asking, and feels strange. On the next day, I received a generic rejection email. Through all the process, I feeled a bit "ignored" personally, in the sense that they do not want to know anything about you as a person. They only ask for a 1 minute presentation, literally. I had a lot of doubts about Revolut regarding their culture after reading reviews here and in other pages. This fact was just reinforcing that bad perception. Anyway, overall a good experience, with nice people and interesting questions.
Interview questions [1]
Question 1
Develop a Service Registry using TDD. It can only have 10 records, and no duplicates. Then implement a get() method with 2 strategies: random and Round Robin. Develop a method which receives 2 accounts and makes a transfer. Has to have into account concurrency. Then following debate about SQL statements to make it concurrent, isolation levels, optimistic locking, indexes in DBs, DDD, CQRS, distributed logging, monitoring.