I applied through a recruiter. The process took 1 week. I interviewed at Revolut (Berlijn) in Sep 2021
Interview
The interview process for this position consists of 4 steps:
1. Short call with the recruiter with some tech questions
2. Live coding challenge
3. Main technical interview
4. System Design & architecture related interview
Interview questions [1]
Question 1
1.
Short introduction from my side and the recruiters side as well. Suddenly he switched to tech questions like: What is DDD, CQRS, ACID, SOLID, Concurrency, locking.
He asked me about my experiences and how I assure code testability overall.
2.
For the coding challenge you need to have an IDE open with a new project. The interviewer sends the requirements via chat and you need to start coding the solution right away.
The requirements are easy overall but you need to take care about coding speed, maintainability, testability (solid principles) and write unit tests for the given scenarios to assure code quality. It is not an easy task to do it right so you need full focus to pass.
3.
This round was unfortunately the last one for me though I really liked the whole interview process at Revolut. I was prepared for Solidity coding and smart contract deployment and testing but it was not necessary at all. The interview was 100% theoretical and blockchain related. They asked about cryptocurrencies, what is a cryptocurrency? What is oraclization? Smart contract testing and decentralised application testing, consensus algorithms, Ethereum 2.0 - Proof of stake. How would you design a backend service to communicate with a smart contract, what would be the architecture?
The interview was very intensive with a lot of technical questions regarding blockchain and if you are not certain with even only 1 or 2 of your answers you won't pass. (Thats what happened to me) You need to be 100% certain and have very deep understanding about everything related to blockchain technologies and development.
I applied through a staffing agency. The process took 2 days. I interviewed at Revolut (Dublin, Dublin) in Sep 2021
Interview
At the first stage, I had an interview with the recruiter and I was asked about solid principles, ACID, unit tests, and some other questions about Java.
Then I had the technical test to develop a load balancer that receives a Collection of URLs.
Interview questions [1]
Question 1
What are SOLID, ACID, TDD, why unit tests are important?
Then there was a code test to develop a rough Load Balancer, in which the idea is to receive a Collection of URLs in the constructor of a class and then validate duplication of URLS, number of URLs, and so on.
If you take a little longer in any of the code implementations, you will be disqualified, so be sure to finish them as quickly as possible.
Break down the code into separated methods and have your Java 11 with JUnit 5 created beforehand for the interview. If you don't use Java 11 methods you can be also disqualified.
Make questions, and don't assume anything, the interviewer will know about the requirements of the problem.
Recruiter reached out to me via LinkedIn and we setup a screening call which was fine. This was one-to-one video call. After this first round was live coding round.
Interviewer came and initial hi-hello (with out telling the format of interview and expectation) he gave a very simple problem to solve. Then he asked me to write test cases for that. After it he changed the requirement and asked me to modify the code and unit tests, which I did. Again he changed the requirement and asked me to do, at this time I realise that this is typical TDD/Scrum kind of live coding where you keep refactoring the code as per requirement. I went till 4 such iteration during the interview.
After couple of days I received response that I was not able to finish the problem in time. I am not judging but I wasn't aware of the problem and had no idea what they were looking for.