Code Monkey home page Code Monkey logo

kinvo-back-end-test's Introduction

Logo Kinvo

Teste para candidatos à vaga de Desenvolvedor C#

Problema:

  • Um determinado produto financeiro recolhe imposto de renda apenas quando o cliente faz o seu resgate.
  • O Produto pode ter diversas aplicações e resgates, no decorrer do tempo.
  • O cálculo do IR segue a seguinte lógica abaixo:
    • Até 1 ano de aplicação: 22,5% sobre o lucro;
    • De 1 a 2 anos de aplicação: 18,5% sobre o lucro;
    • Acima de 2 anos de aplicação: 15% sobre o lucro;
  • A aplicação não pode ser igual ou menor que zero.
  • A data de resgate não pode ser menor que a data de aplicação.

Após terminar seu teste submeta um pull request e aguarde seu feedback.

Instruções:

  1. Criar um projeto de classes chamado “Aliquota.Domain”;
  2. Criar um projeto de testes chamado “Aliquota.Domain.Test”
  3. Modelar a(s) entidade(s) que resolvem o problema citado;
  4. Mapear as entidades no Entity Framework Core;
  5. Criar um projeto de frontend para permitir a persistência de dados (console, webapp, etc.);
  6. Neste mesmo projeto, criar uma consulta que retorne todas as aplicações e resgates do Produto;
  7. Testar a(s) entidade(s) de forma que garantam as regras de negócio;
  8. Utilizar os conceitos de DDD, OO, POCO e SOLID que você julgar necessário;
  9. Use inglês ou português no seu código. Como achar melhor. Isso não será critério de avaliação.

Pré-requisitos:

  • Utilizar C# e framework .NET 5;

  • Utilizar xUnit para os testes;

  • O projeto deve compilar;

  • Os testes devem rodar pelo Test Explorer do VS e via console (dotnet test);

  • Importante: Usamos o mesmo teste para todos os níveis de desenvolvedor, junior, pleno ou senior, mas procuramos adequar nossa exigência na avaliação com cada um desses níveis sem, por exemplo, exigir excelência de quem está começando :-)

Submissão

Para iniciar o teste, faça um fork deste repositório, crie uma branch com o seu nome e depois envie-nos o pull request. Se você apenas clonar o repositório não vai conseguir fazer push e depois vai ser mais complicado fazer o pull request.

Sucesso!

kinvo-back-end-test's People

Contributors

lopes19 avatar marcossepulveda avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.