Skip to content

As part of the interview process, we would like to see how you write code.

Notifications You must be signed in to change notification settings

jobandtalent/Android-Interview-Demo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

4 Commits
 
 
 
 

Repository files navigation

Android-Interview-Demo

As part of the interview process, we would like to see how you write code. To do this we are going to ask you to submit a short demonstration.

What would we like to be able to see?

As we have previously mentioned in the first interviews at Jobandtalent, we value code quality and maintainability.

Consider the following points for your project:

  • You must use Kotlin as your main language. You can show us any other development that has helped in its implementation or testing.
  • Domain object and the separation between layers.
  • It must follow a defined architecture. We have no preference for any particular one. Some examples: MVP, MVVM, MVI, Hexagonal, etc. You must be able to justify it and explain its advantages and disadvantages.
  • It must use Dependency Inversion. There is no preference as to the dependency injection system. Some recommendations would be Dagger 2 or Hilt.
  • Follow SOLID principles. Any decision in your code will be positively assessed in terms of maintainability, scalability, and decoupling of responsibilities.
  • You are free to use any third-party library or even use code that you have already developed. Among the libraries we commonly use are Retrofit, GSON, Dagger 2, and Jetpack Compose.
  • If you would like to include a UI component, try to follow Material Design. We value positively if you use Jetpack Compose.
  • We value positively the tests that cover the functionality, both unit tests, UI, integration, etc.. You can use the framework that best suits your needs.

Options

There are 3 different options:

Option 1: Develop a small application (recommended)

We ask you to create a simple app that shows a list of items and a detail with further information. We know it sounds super basic, from this you decide what you would like to show us from your skills and knowledge.

The basic requirements of the app are as follows:

  • A screen with a list of items showing at least a title, description or photo. Example APIs: https://dummyapi.io/, https://jsonplaceholder.typicode.com/, https://random-data-api.com/
  • If you click on one of these elements, a detail screen should open with the same information and further details.
  • The iteration is basic: enter a detail, load information, and go back to the listing. You can add any changes you want or consider interesting to demonstrate your knowledge or skills with the Android framework.
  • The app must compile and run on an emulator.
  • You must include the future iterations you would add if you had more time along with your design decisions in a separate document or README. This will help us have a better conversation with you in the project review to assess your project.

Make sure to do all the work in a private repository and, once finished, invite the appropriate people to review your interview process.

IMPORTANT: we think that developing an app takes time. So for this code test we don't want you to spend more than 4-6 hours maximum. There is no deadline, we just want to make sure you don't spend too much time on the project.

Option 2

Show us code you have previously written in a side project or previous professional project.

Option 3

Any remarkable contribution as a Pull Request to an Open Source project that is public.

Important: any code you show us must be your own and, obviously, you should have permission to share it.

About

As part of the interview process, we would like to see how you write code.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published