GithubHelp home page GithubHelp logo

desafio-candidato-dev-backend's Introduction

TESTE BACKEND 2.0

Estamos disponibilizando para você um projeto REST Maven em Java muito parecido com o que usamos aqui na Trust: https://github.com/desafioTrust/desafio-candidato-dev-backend

PASSO A PASSO PARA REALIZAÇÃO DO TESTE Crie um repositório privado no GitHub.com a partir de um fork do projeto desafio-candidato-dev-backend. Você também deve adicionar o usuário desafioTrust como colaborador deste repositório privado, para que possamos fazer a avaliação.

Execute as atividades abaixo, mostre seu potencial e ajude a gente a conhecer melhor o profissional que você é. As atividades 1, 2 e 3 são para perfis Junior e Pleno; as posições Pleno e Sênior deverão responder todas as questões. Boa sorte!

  1. Code Review:
    Precisamos que você revise nosso código, sendo assim, por favor avalie o que está no projeto de teste desafio-candidato-dev-backend de acordo com os critérios de: padrões de projeto, boas práticas, padrões Rest de nomenclatura e codificação. Monte um src/main/resources/CODEREVIEW.txt com seus comentários. Aponte tudo o que você achar errado/estranho em todo o projeto.

  2. Healthcheck:
    Os serviços precisam ser validados e monitorados, por isso, é necessário que seja implementado um resource(api) que cheque a saúde dos nossos serviços. Sendo assim, crie um endpoint healthcheck em nosso micro-serviço de teste desafio-candidato-dev-backend (um endpoint GET /info) e retorne uma mensagem confirmando que nosso serviço está funcionando e recebendo requisições. OBS: Será que temos alguma biblioteca pronta que podemos usar nesta atividade? Qual seria?

  3. Implementar serviços de consulta de CEP:
    Precisamos construir 2 serviços no projeto de desafio-candidato-dev-backend, ambos vão consumir o seguinte endpoint:

            https://zuul.trusthub.com.br/orchestrator/v1/obter-endereco-por-cep/{CEP}
            {CEP} - Substituir pelo número do CEP

         Agora, crie o primeiro endpoint GET em nosso micro-serviço que aceite o parâmetro CEP e retorne os detalhes do CEP, buscando em nossa API de CEP´s.

         Agora, crie o segundo endpoint POST em nosso micro-serviço que aceite o parâmetro lista de CEP e retorne os detalhes de cada cep, buscando em nossa API de CEP´s.

  1. Implementação de Cache:
    Pesquise e aplique alguma biblioteca de cache para tornar nosso micro-serviço mais rápido, assim evita chamar nossa API com dados consultados recentemente. Justifique brevemente sua resposta.

  2. Service Discovery e Perfil:
    Adicione no micro-serviço os paramentos de sincronismo com o Discovery Server. Crie 2 perfis para execução em seu micro-serviço. Sugestão: Iniciar um Discovery-Server via Docker será um grande diferencial.

  3. Tolerância a falhas:
    Não podemos deixar que nosso serviço seja afetado porque o endpoint de consulta de CEP está fora do ar. Sendo assim, implemente o Hystrix no nosso projeto de testes. Em caso de falha... o que poderia acontecer para que o nosso endpoint não retorne apenas uma resposta de erro genérica? Justifique brevemente sua resposta.

Como submeter o teste

Ao finalizar, envie um e-mail para [email protected] com nome, telefone para contato e link do repositório. Por favor, avise também seu recrutador.

Tenha em mente nosso stack de tecnologia:

  • Stack mandatorio de tecnologia
    java 6 ou ++
    Spring (IOF) Injeção de dependencia
    Conceitos REST
    Sql ANCI
    Eclipse IDE
    GIT

  • Stack plus de tecnologia
    Spring Boot
    Spring Eureka
    Spring ribbon
    Spring zuul
    Spring Swagger
    Spring Data
    Spring JDBCTemplate
    Spring Security
    Arquitetura Microserviços
    Banco de dados nao relacional (ex: mongo).
    HTML 5
    JAVASCRIPT
    TypeScript
    Angular 5.X
    Kibana
    Teste unitarios (junit).

  • Stack direrenciais de tecnologia
    Spring histrix
    DevOps
    Kubernetes
    Docker
    Sql Server
    Mongo DB


Boa sorte!

desafio-candidato-dev-backend's People

Contributors

desafiotrust avatar

Watchers

 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.