Unfortunately, it was the worst interview of my life. The issue wasn't the question itself, but an unprofessional approach to feedback and evaluation.
First of all, in every stage of communication, it was clearly mentioned that I would receive feedback within 48 hours, either way. However, this was not the case. It took 5 days to get a response, and only after I sent an email inquiring about the status.
The feedback itself was also totally baseless. The task was to create a "urlShortener." My solution was fully capable and working in O(1) time complexity. I even employed a TDD approach, and my tests were present and running.
I was rejected due to using "non-thread-safe data types, mutable statements, and objects." There was no requirement for multithreading in the task definition, and the interview preparation document even mentioned avoiding unnecessary overhead, such as multithreading and interfaces.
Another piece of feedback was that some tests were ambiguous, which again, I strongly disagree with. The task was simple, so the tests were simple and clear.
Write a simple URL shortener that gets the original URL and returns a shortened URL, and vice versa.
The following metrics were computed from 18 interview experiences for the Revolut Senior Software Engineer role in Poland.
Revolut's interview process for their Senior Software Engineer roles in Poland is extremely selective, failing the vast majority of engineers.
Candidates reported having very negative feelings for Revolut's Senior Software Engineer interview process in Poland.