Skip to content

Creditas/challenge

Repository files navigation

Code Challenge

The assessment proposal which we'll develop together is provide a person with the loan types suitable for her, given some variables:

We must provide the following loan types:

  • Personal Loan. Interest Rate: 4%
  • Collateralized Loan. Interest Rate: 3%
  • Payroll Loan. Interest Rate: 2%

Listed below are the business rules for conceding a loan based on the person's profile:

Personal Loan Collateralized Loan Payroll
Income <= 3000 Yes Yes*** No
Income > 3000 & < 5000 Yes Yes** No
Income => 5000 Yes Yes* Yes
  • * Clients under 30 y.o.
  • ** Clients residing in SP (São Paulo state code in Brazil)
  • *** Clients under 30 y.o. residing in SP

App usage:

The application must receive the following data as input:

input
{
  "customer": {
    "name": "Erikaya",
    "cpf": "123.456.789-10",
    "age": 29,
    "location": "SP",
    "income": 3000
  }
}

For the sake of simplicity, consider we'll always receive the correct data (types and formats)

And must respond the following data:

output
{
  "customer": "Erikaya",
  "loans": [
    {
      "type": "personal",
      "taxes": 1
    }
  ]
}

Before the interview

  • Since this will be a pair programming interview, make sure that you'll be able to share your screen on Google Meet
  • Set up the project on your language of choice. The instructions are inside the respective folders. This will save precious minutes during the interview.
  • Take your time and become familiar with the challenge, files and project structure

During the interview

  • This challenge will be tackled alongside our crew, in a pair programming dynamic
  • This pair programming dynamic tries to simulate the crew's day-to-day practices, so feel free to raise any question, ask for suggestions, etc. There is no right or wrong, we're only interested in understanding how you approach problems!

After the interview

  • The code written during this interview is confidential, and MUST NOT be shared with anyone other than our crew.

Setup

  • Install dependencies

Run the tests

You may execute the following command via CLI:

$ ./gradlew test

If tests are failing, then you succeeded. Fear nothing!

Now it's all about coding.

Good luck!