I applied online. The process took 3 weeks. I interviewed at BVNK in Nov 2022
Interview
Process included the following steps: 1. Initial Talent Acquisition call - 30 minutes 2. Pair Programming Interview - 45 mins 3. Tech Interview (Architectural Design) - 60 minutes 4. Culture Interview (C-Suite) - 60 minutes Initial Talent Acquisition call was with a single Talent Acquisition person. This was a pleasant typical introduction chat. For Pair Programming Interview I received a simple zipped Java, Spring Boot, Gradle project via email 60 minutes before interview. I used 60min before call to familiarize with a project. Project was a typical Spring webapp, had few controllers, services, repositories, unit and integration tests. Interview was with a single Software Engineer person. I shared my screen all the time. I was asked questions like: How to validate HTTP request parameters? Where would I put validation logic? How to make a controller method which serves HTTP POST requests? How I would handle exceptions? How I would fetch an entity from a database? How to write unit tests for methods which I wrote in previous steps? Straightforward things which should be easy for people who have fresh experience with mainstream Java + Spring apps. I liked it, as we had discussions along the way about WHY I'm doing things this way and not some other way. For Tech Interview I had to prepare draw.io online tool. Interview was with a single Staff Engineer person. I shared my screen all the time. I was introduced to a simple domain model: banking transactions, transaction history, reporting. I was asked questions like: Could I draw a design of microservices for this model? Which way they would communicate? How would I model their storage? Which kind of storage this would be (relational, non-relational, file storage)? I was lead to split the design into separate services for command and query. Etc. Again, I liked it. Person on the other side asked the right WHY questions where I could demonstrate my way of thinking. For Culture Interview there was no preparation. Interview was with CTO and VP of Engineering. I was asked questions like: Why would I like to join BVNK? How would I resolve certain situations during my daily work: like not having enough knowledge or skills for certain challenge. Or how would I act in cases of disagreement with other colleagues?! I was asked about side projects, and efforts which I usually use to improve myself. Which domain do I like to work with? I was asked about crypto in general. We had a pleasant chat about most recent events on crypto market. I was also asked about the business model of BVNK and what do I think about it? And again, I liked it. Got an offer which 100% fulfilled my expectations. I didn't accept the offer because I got an offer from another company which was at a time more attractive to me. Overall, super positive experience. I would recommend it for all skilled and experienced engineers.
Interview questions [1]
Question 1
How to validate HTTP request parameters? Where would I put validation logic? How to make a controller method which serves HTTP POST requests? How I would handle exceptions? How I would fetch an entity from a database? How to write unit tests for methods which I wrote in previous steps?