I applied through recruiter. The process took 10 days or so.
After short conversation with recruiter, she offered me to do offline coding task.
The task was about to implement some backend REST service, with very vague requirements and no use-cases. I was given a freedom to implement it, using my own vision.
Recruiter acted as a proxy between me and those, who were checking assignment.
Since there was no exact requirements, I interpreted it on my own. I created a project on github, and documented all assumptions in the supporting document.
In my opinion code was written in decent style (i gave it for review to fellow developer before send to Revolut), using SOLID principles, design patterns, and having unit test coverage nearly 90%.
The task was rejected, with short explanation: "no concurrency handled, and we decided not to proceed with this candidate". There was no any requirement of concurrency, also it is not expected business case in my opinion, but since this was kind of one-side communication, I had no chance to respond and explain my design decisions.