Obrigado por se interessar em fazer parte do nosso time!
Esse teste faz parte de uma das etapas do nosso processo de seleção e o objetivo é avaliarmos o seu nível de conhecimento nas tecnologias que usamos. Nesse teste você terá 2 tarefas:
- responder um questionário sobre tecnologia e metodologia de desenvolvimento
- construir uma aplicação simples para termos ideia de como é o seu código e o que você considera importante em um projeto
O questionário e a especificação da aplicação estão logo abaixo.
A sua entrega será feita através de um Pull Request nesse repositório. Faça um fork do repositório, implemente o seu código, responda as questões no README.md
e faça um pull request. Sinta-se a vontade para colocar quaisquer outras informações que você considere pertinente no README
.
- Você já trabalhou com Spring Boot?
- O que você conhece sobre micro-serviços?
- Cite algumas vantagens e desvantagens de usar esse modelo arquitetural
- Qual a sua experiência na construção de APIs?
- Alguma vez já teve que construir uma API pública?
- Como você controla o acesso à API?
- Como você trata questões da evolução das APIs?
- Você acha válido fazer testes automatizados?
- Imagine que você precisa construir uma API que vai ter um grande número de acessos. Como você garante que ela terá um tempo de resposta acessível durante um pico de acesso?
- Você conhece ou já trabalhou com containers?
- E orquestradores tipo Kubernetes ou Docker Swarm?
- Fale um pouco sobre o processo de versionamento de aplicações. Conhece Git?
- Como você usa branches, tags, etc. Tem algo no Github ou Gitlab?
- Você conhece CI/CD? Já chegou a fazer algum pipeline de CI/CD completo?
- Você já trabalhou com SCRUM ou Kanban?
- Conte um pouco sobre como foi fazer parte de um time ágil, quais dificuldades tiveram e como conseguiram superar.
Considerando a funcionalidade de um blog, construa uma API Rest contendo as operações de básicas de CRUD: inclusão, atualização, exclusão e consulta. O recurso em questão deve ter a seguinte estrutura:
- Post
- ID
- Data de Publicação
- Título
- Descrição
- Spring Boot
- Java 8
- Hibernate
- Banco de dados em memória
- Postman Collection (para testes da api)
- Qualidade de Código
- Cobertura de Testes
- Definição dos Serviços Rest
- Documentação
- Qualquer critério que você considere pertinente
Uma dica: pense no teste prático como sendo um algo real que você faria ou gostaria de fazer no seu trabalho, pois esse será o seu cartão de visitas.