The interview process was composed of three interviews: The first one was with a tech recruiter, who asked questions regarding my past experiences and also some technical questions, like algorithms used by database indexes, big O related questions, ACID properties, etc.
The second interview was with a software engineer, it was a live coding interview. He arrived 10 min late, blaming his calendar. The coding exercise was a simple problem: design and implement a really simple Load balancer. In that task he was evaluating my coding skills related to writing clean code, following solid principles, and mainly if the code was well covered with unit tests. No fancy or hard algorithm had to be implemented. First he presented me with a problem, then he asked me to extend the solution add some more features to it.
The third interview was with two senior engineers, but only one was asking questions. They called it a "Technical Conversation Interview".. Not really...
The interview was divided in two parts, a coding part and a Q&A part.
In the coding part he gave me a task to develop a method to handle money transfer from one account to another. He basically wanted me to use locks on both account objects. I kind of struggled to understand what he was looking for as an answer: double synchronized blocks (who would implement this in a production code?)
The second part was mainly database related questions, query optimization, indexes, concurrency control (optimistic, pessimistic), isolation levels, partitions.. He asked vague questions and expected really in depth answers. There were so many database questions that it seems like those guys really have problems with database in their system.. Also asked me questions about how to scale databases, then moved the subject to streams, event sourcing, CQRS, how to scale, fault tolerance, and other related questions.
As result got rejected with the feedback that my answers were too vague, not in depth knowledge, even though he seemed satisfied with my answers during the interview. Also said that I struggled to solve the double coding exercise, probably the double object lock locked me as well..
Be aware of the following:
- The interviewers were not even a bit friendly, lacking some basic social skills, not even trying to make me comfortable during the interviews, maybe this is a cultural difference, eastern Europe, so be aware of that.
- The interviewer gave me tips in a few moments, and this seemed to have affected my evaluation as well
- They ask vague question, but required in depth responses