The interview process had some good and bad parts. I would say from the start that I didn't get an offer.
The discussion with the recruiter was really nice and productive. She asked me a few things about myself and my experience (including some small technical questions) and then told me more about Revolut and their way of doing things. I kind of felt like it would be a good fit for me.
After a few days, I had the live coding challenge, and that went well. I was asked to implement three easy tasks, one depending on another. The only observation I would have here is the fact that the interviewer had a strange English accent, and a few times I had to ask him to repeat his question. All in all, he was a nice guy, giving me a lot of information about Revolut and how they work.
Then I moved to the third and last stage, for me. Here, everything was different than the previous interactions. Two guys interviewed me (although only one was actively questioning; the other seemed to be busy with other things). Right from the beginning, I felt like he was rushing to the finish. He asked me to introduce myself, and after I said a few words, he interrupted me, saying it was enough. That didn't feel nice.
Then we started the coding part of the interview, and I was asked to implement some concurrency exercise. I implemented almost everything the way he wanted, but at the end, I couldn't implement the last requirement. However, I described the solution correctly, as he confirmed. After the coding part, the real interrogation began. And I'm not exaggerating; it felt like an interrogation. He asked me a lot of questions regarding databases, concurrency, and some other things without providing any feedback or giving me details about how they use those concepts/patterns. It wasn't a pleasant discussion at all.
The next day, the recruiter called me and gave me the feedback. It seems I was not a good fit due to my technical knowledge. I was really surprised. They said I didn't know concurrency because I didn't implement the last part of the coding task (which had, kind of, three parts in total), even though I correctly described the solution. But the thing that really surprised me is that they said I don't know some concepts that I am 100% sure I answered correctly. I am not upset about that, but it's not something pleasant. All interviews have a dose of subjectivity, and I can live with the fact that maybe they didn't like me.
The suggestions I have would be, first of all, to increase the duration of the interview. I felt really rushed to answer the questions. The second suggestion is to send engineers with people skills to interviews. A "bad" interviewer gives a bad image to the company. It's not only about seeing if the person in front of you knows all the answers you have; it's also about making them want to join your company.
Concurrency Database Microservices CAP theorem CQRS
The following metrics were computed from 1 interview experience for the Revolut Senior Software Engineer role in Romania.
Revolut's interview process for their Senior Software Engineer roles in Romania is extremely selective, failing the vast majority of engineers.
Candidates reported having very negative feelings for Revolut's Senior Software Engineer interview process in Romania.