The task was to build a service using Java. The ask is quite vanilla REST calls for basic CRUD operations. There should be 3 API calls (mainly for creating / updating data) and a GET call. key things: - validation - pagination - persistance - concurrency There is no template provided so you can feel free to make everything as you like from scratch.
Anonymous
I created a service using - Java Micronaut - Dockered Postgres - Flyway - JOOQ Controller layer exposing the APIs + Swagger docs Service layer for processing Repository layer for persistance. Tests for each of the layers I did pagination manually using SQL - basic offset I then did manual QA with screenshots to demonstrate the use-cases requested. At this point it was about 5 hours in and I could see a lot of improvements i could make. I figured I spent too much time already so time to wrap it up. I put together README which explained purpose of main functions Furthermore, I specifically explained some of the flaws in pagination (e.g. offset vs seek) and concurrency. for basic concurrency, I implemented transactional calls with db validations prior to writes - but they needed to be merged with my updates themselves + adding tests. I expected that we'd be covering this in the next stage to be honest, but they rejected based on those two aspects that I highlighted needed improvement in the README. So to me its unclear what the scope or requirement was from this test, pagination? concurrency? Concurrency would make sense, but then they should scope the test to focus on that, instead of making such a broad request.
Check out your Company Bowl for anonymous work chats.