The interview was horrible. The interviewer didn't want to discuss anything or listen to my chosen solution and the reasoning behind it. He only cared about the code.
I decided not to write all the tests, but to discuss everything that I would test out loud. This was because 45 minutes is not enough time to write several implementations and cover them with quality tests.
In the end, I was rejected because I didn't cover the edge cases with tests. During the implementation, I optimized the solution from linear to constant complexity. However, the interviewer decided in his feedback that by doing so, I had simply complicated my code.
Implement a thread-safe URL shortener.
The following metrics were computed from 3 interview experiences for the Revolut Software Engineer role in Serbia.
Revolut's interview process for their Software Engineer roles in Serbia is fairly selective, failing a large portion of engineers who go through it.
Candidates reported having very good feelings for Revolut's Software Engineer interview process in Serbia.