Skip to content

Conversation

@KUMAKO55229
Copy link

No description provided.

@campofernando
Copy link
Contributor

campofernando commented Nov 27, 2025

Hello Franck! Thanks for your submission. Just letting you know that we got your pull request and are in the process of reviewing it. We will soon provide you with our considerations.

@campofernando
Copy link
Contributor

Hello @KUMAKO55229,

Thank you for taking the time to complete our technical assessment and for your interest in joining our team.

After careful review, we've decided not to move forward with your application at this time. While your submission showed effort and potential, it didn't fully meet the technical requirements we're looking for in this particular role.
Please don't let this discourage you. The hiring process is often about finding the right fit at the right time, and this decision doesn't diminish your capabilities as a developer.

We genuinely appreciate the time you invested in this process and wish you all the best in your career journey. Below you can find some considerations regarding your delivery.

Best regards,
Fernando.

User Stories and Functional Requirements

1 - Quiz visualization and answer submission

  • As a user, I want to load a question with a set of alternative answers, so that I can choose the one that is right. 👍
  • As a user, I want to choose an answer for a question from a set of alternatives and submit it, so that I can know if I made the right choice. 👍

2 - Quiz navigation

  • As a user, I want to move to the next question once I have received the result of my answer submission, so that I can get to the end of the quiz. 👍
  • As a user, I want to know the final score for the quiz once I have submitted 10 answers, so that I could share it with friends. 👍
  • As a user I want to restart the quiz with new questions, so that I could get a new score. 👍

3 - User management

  • As a user, I want to register my name or nickname, so that different users could use the app. 👍
  • As a user, I want to save the score of every quiz I made, so that I can visualize the score of every user at all times. 👍

Mandatory Technical Requirements

  • The application must be written in Kotlin using Kotlin Multiplatform. 👍
  • The application must run for Android. 👍
  • Use a data persistence mechanism to store players and scores. 👍
  • Use Jetpack Compose for the views. 👍

Bonus Points (Optional Requirements)

1 - Best Practices & Architecture

  • Use Dependency Injection to manage the application's dependencies. 👍
  • Use Kotlin Flow/Coroutines for asynchronous operations. 👍
  • Use consistent design, animations, icons, etc. 👎
  • [x ] Divide the solution into layers of responsibility (e.g., Api, Application, Domain, Infrastructure). 👍
  • Implement some design pattern. 👍
  • Implement consistent error handling, with appropriate HTTP status codes (e.g., 400 for validation, 404 for not found, 500 for unexpected errors). 👎

2 - Quality & DevOps

  • Write unit or integration tests for the main business logic. 👎
  • Create a README.md file with clear instructions to run the project locally (either with Docker or manually). 👎

Final assessment:

The requested behaviors were implemented in a basic but functional way. A single bug was noticed in the quiz counter, which shows 11 on the last question. The architecture follows good practices and SOLID principles and used design patterns to create the entities.

However, the code was delivered in a single commit, not following good practices of continuous integration and agile development. It was not possible to track the development process of the application. Although it meets all functional requirements, the animations and design were very basic. Error handling was simple, without using domain-specific errors to handle various failure scenarios. The error screen displays to the user the error returned by the framework, with little relevant information for someone using the application. At some points, the application shows an unknown error and the only solution is to close the application. Only two tests were implemented, covering few scenarios and not considering unhappy paths.

Since the candidate is applying for a mid/senior-level position, we consider that the necessary requirements were not met.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants