Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save JonasMoreira5/e4818ad82a5eac16f7b4c81f7e883e27 to your computer and use it in GitHub Desktop.
Save JonasMoreira5/e4818ad82a5eac16f7b4c81f7e883e27 to your computer and use it in GitHub Desktop.
Desafio de Programação - Processo Seletivo Elo7
Como parte do processo seletivo do Elo7, gostaríamos que você fizesse uma
pequena tarefa. Conforme seu resultado daremos continuidade ao processo te
convidando para uma sessão de pair-programming.
Durante o desenvolvimento dê preferência para implementação em Java ou Scala.
O objetivo dessa tarefa é avaliar como você vai desenvolver o código em termos
de estilo, eficiência e qualidade.
Crie um projeto no seu Github para que vejamos os passos feitos através dos
commits para resolver a tarefa.
A tarefa é a seguinte:
Desenvolver um sistema de agendamento de transferências financeiras.
1) O usuário deve poder agendar uma transferência financeira com as seguintes
informações:
- Conta de origem (padrão XXXXX-X)
- Conta de destino (padrão XXXXX-X)
- Valor da transferência
- Taxa (a ser calculada)
- Data do agendamento
- Tipo (A, B, C, D)
2) Cada tipo de transação segue uma regra diferente para cálculo da taxa
A: Operações do tipo A tem uma taxa de $2 mais 3% do valor da transferência
B: Operações do tipo B tem uma taxa de:
$10 para pedidos com agendamento até 30 dias da data de cadastro
$8 para os demais
C: Operações do tipo C tem uma taxa regressiva conforme a data de agendamento:
maior que 30 dias da data de cadastro - 1.2%
até 30 dias da data de cadastro - 2.1%
até 25 dias da data de cadastro - 4.3%
até 20 dias da data de cadastro - 5.4%
até 15 dias da data de cadastro - 6.7%
até 10 dias da data de cadastro - 7.4%
até 5 dias da data de cadastro - 8.3%
D: Operações do tipo D tem a taxa igual a A, B ou C dependendo do valor da transferência.
Valores até $25.000 seguem a taxação tipo A
Valores de $25.001 até $120.000 seguem a taxação tipo B
Valores maiores que $120.000 seguem a taxação tipo C
3) O usuário deve poder ver todos os agendamentos cadastrados.
Nota: A persistência não precisa ser em banco de dados.
Fique à vontade para criar em cima dessa idéia!
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment