Teste Dev Backend Senior

O teste é o mesmo do Teste Dev Backend Pleno, com as seguintes modificações:

  • a senha deverá ser armazanada utilizando algum algoritmo de hash.
  • a “complexidade dela” deverá ser validada através da API do haveibeenpwned.com.
  • Ter 2 intâncias distintas não é mais uma opção pra nós e agora os clientes americanos e brasileiros irão acessar o mesmo ambiente e inclusive fazer transferências entre si.
  • Para atender o item acima temos os seguintes critérios:
    • no cadastro, é necessário que o cliente informe seu país (BR ou US).
    • cada cliente deverá ver os valores na sua moeda.
    • para transferências entre clientes de países diferentes, você deverá utilizar a cotação do dolar oficial do Banco Central do Brasil do dia anterior ao da transação. A cotação, está disponível numa API oficial. Mais informações sobre ela aqui.
  • Sempre que possível, você deverá utilizar algum recurso de cache para evitar desnecessárias a APIs externas e ao banco de dados.
  • A aplicação continua funcionando mesmo com APIs externas fora do ar.

O que iremos avaliar:

  • Se a sua solução atende tudo que foi solicitado.
  • A organização do seu projeto, e a forma que seu código foi escrito.
  • O código é fácil de dar manutenção.
  • Cobertura de código >= a 85%.
  • A qualidade da documentação entregue sobre a solução, afinal você não estará junto quando tentarmos compilar e executar ela.
  • A quantidade de alocações que seu código faz.
  • Sua API é documentada.

Itens que nos deixam com mais vontade de ter você no nosso time:

  • dotnet build && docker-compose up fazem a mágica acontecer.
  • Seu repositório tem algum tipo de automação compile o projeto e rode os testes.
  • Você criou um client oficial para consumo da API.
  • Conseguimos compilar/depurar e rodar a sua entrega em qualquer sistema operacional (windows/linux/mac).

Como queremos receber isso?
Link para um repositório online (github é uma ótima opção).