My recruiter was great and extremely nice. He helped me along the way to prepare before the java interview.
Now, the interviewer in the java interview is where the negative experience came from. First, it took him a total of 5 days to get my results back to my recruiter. Second, his English was at a B1 level (at best) for listening and speaking. Although this has never been a problem in my experience, expect no answer or help when you are confused on what he is asking you to implement. Just expect confused face looking back at you.
The first 25-ish minutes were spent with the interviewer looking confused on how I understand a load balancer (the industry standard). I asked questions about the implementation, load balancer, etc, and was told to continue. I even used TDD to show what I was going to implement with test cases covering the logic and all edge cases. As I was implementing the load balancer to industry standard, my interviewer still just looked so confused. I was communicating very clearly from start to finish of my interview. He had trouble keeping up with my code… not when I started the impl, but when I was doing the test cases in the beginning! I promise I have extremely clean code and value simplicity over complexity. Always. The interviewer just seemed to lack logic skills ironically.
I followed and completed the requirements once I was able to correctly pick up what the interviewer failed to communicate in broken English. What he AND the requirements failed to communicate, was that this “load balancer” class is really just a server class. The class should just represent a single server IP. It doesn’t delegate anything. The only thing the class should do is accept a maximum of 10 unique strings. That is it.
Industry standard, a server (with one IP) in a load balancer class is not 1:1 with the class. Ever. That does not make any sense... but yet this is what was failed to be interpreted by the interviewer. A load balancer instance holds a collection of servers. "Load balancer" comes from the implementation of delegating user IPs to the collection of servers, and the interviewer was having trouble keeping up when I was writing this logic.
Once I coded to the interviewer’s warped understanding of a load balancer, he asked about concurrency. I answered every question correctly without hesitation and went above and beyond. At the end of the interview, the code was accepted by the interviewer and he agreed it followed the requirements in a clean manner. The code consisted of around 5 unit tests and the class had 4 lines of code. I was exceptional at showing my coding ability especially in Java, adapting to changes, communication, and everything a company would want from a Java developer.
After 5 days, I asked yet again for the result of the interview. The result and feedback I received is a general template and shows that interviewer really should NOT be involved in interviews for a MULTITUDE of reasons. The feedback can be found below.
“We appreciate the time and effort you’ve put into our recruitment process for the Software Engineer (Java) role. Your responses have been thoughtful and articulate, and we enjoyed getting to know you and your professional background.
However, I regret to inform you that after much consideration we have decided not to progress further with your application. Please check the area of improvement from your previous interview:
While the code produced is consistently clean and well-structured, there is room to improve the speed of delivery.
There have been instances where the implementation did not fully align with the specified requirements.
There were noticeable gaps in adhering to the specified requirements.
The task required considerable guidance and support throughout. Building greater confidence in independently tackling problems and seeking solutions proactively would be beneficial for future.”
A few notes showing that this is just a template:
- My speed was exceptional. The interviewer had a problem keeping up with my typing.
- “Instances of not following requirements” was not the case.
- “Noticeable gaps”? There were no gaps.
- “The task required considerable guidance and support throughout”. The interviewer didn’t help me with anything. He didn’t understand English that well. If anything, I taught him more about Java and how load balancers are defined in the industry.
Overall, I am quite disappointed with Revolut. Interacting with the company from my perspective shows they are somewhat disorganized and are willing to hire mediocre engineers that only have base level understanding. I am also disappointed that they have no English requirements for interviewers.
I suggest you give the interviews a shot, but please expect unorthodox processes throughout.