0% acharam este documento útil (0 voto)
46 visualizações4 páginas

Teste - Pessoa DEV (Back-End Java)

O documento descreve um teste prático para uma vaga de desenvolvedor backend Java, onde o candidato deve construir uma API REST para gerenciar o cadastro de profissionais e seus contatos. Inclui detalhes sobre o schema do banco de dados, endpoints para operações CRUD, tecnologias obrigatórias e desejáveis, além de boas práticas de desenvolvimento. O prazo para entrega do projeto é até 28/08 às 18h, com contato para dúvidas disponível.

Enviado por

danilson.dias
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
0% acharam este documento útil (0 voto)
46 visualizações4 páginas

Teste - Pessoa DEV (Back-End Java)

O documento descreve um teste prático para uma vaga de desenvolvedor backend Java, onde o candidato deve construir uma API REST para gerenciar o cadastro de profissionais e seus contatos. Inclui detalhes sobre o schema do banco de dados, endpoints para operações CRUD, tecnologias obrigatórias e desejáveis, além de boas práticas de desenvolvimento. O prazo para entrega do projeto é até 28/08 às 18h, com contato para dúvidas disponível.

Enviado por

danilson.dias
Direitos autorais
© © All Rights Reserved
Levamos muito a sério os direitos de conteúdo. Se você suspeita que este conteúdo é seu, reivindique-o aqui.
Formatos disponíveis
Baixe no formato PDF, TXT ou leia on-line no Scribd
Você está na página 1/ 4

Teste Prático Dev (Back-End Java)

-------------------------------------------------------------------------------------------------------------------------------------------------------

Vaga
Pessoa Desenvolvedora Backend JAVA

Objetivo
Testar os conhecimentos técnicos na prática.

Projeto
Construa uma API REST em Java para controle de cadastro de profissionais e seus números de
contato.

Schema do banco de dados

Tabela contatos
● Campos
○ nome: Varchar
■ Ex.: fixo casa, celular, escritório
○ contato: Varchar
○ created_date: Date
○ profissional
■ Chave estrangeira com a tabela profissional

Tabela profissionais
● Campos
○ nome: Varchar
○ cargo: Varchar
■ Valores possíveis
● Desenvolvedor
● Designer
● Suporte
● Tester
○ nascimento: Date
○ created_date: Date

Mapeamentos
A tabela de contatos deve possuir um mapeamento N para 1 com a tabela profissionais.

contatos N -> 1 profissionais

Endpoints

Contacts

● GET /contatos
○ Response
■ Lista de contatos com base nos critérios definidos em Params
○ Params
■ q - String
● Filtro para buscar contatos que contenham o texto em qualquer um de
seus atributos
■ fields - List<String>
● Opcional
● Quando presente apenas os campos listados em fields deverão ser
retornados
● GET /contatos/:id
○ Response
■ Todos os dados do contato que possui o ID passado na URL
● POST /contatos
○ Insere no banco de dados os dados do contato enviados via body
○ Body
■ Content-type: Json
○ Response
■ Sucesso contato com id {ID} cadastrado
● PUT /contatos/:id
○ Atualiza os dados do contato que possui o ID passado via URL com os dados enviados
no Body
○ Body
■ Content-type: Json
○ Response
■ Sucesso cadastrado alterado
● DELETE /contatos/:id
○ Response
■ Sucesso contato excluído

Profissionais

● GET /profissionais
○ Response
■ Lista de profissionais com base nos critérios definidos em Params
○ Params
■ q - String
● Filtro para buscar profissionais que contenham o texto em qualquer um
de seus atributos
■ fields - List<String>
● Opcional
● Quando presente apenas os campos listados em fields deverão ser
retornados
● GET /profissionais/:id
○ Response
■ Todos os dados do profissional que possui o ID passado na URL
● POST /profissionais
○ Insere no banco de dados os dados do profissional enviados via body
○ Body
■ Content-type: Json
○ Response
■ Sucesso profissional com id {ID} cadastrado
● PUT /profissionais/:id
○ Atualiza os dados do profissional que possui o ID passado via URL com os dados
enviados no Body
○ Body
■ Content-type: Json
○ Response
■ Sucesso cadastrado alterado
● DELETE /profissionais/:id
○ Importante!
■ Este método deve realizar uma exclusão lógica do registro
○ Response
■ Sucesso contato excluído

Tecnologias e boas práticas

Tecnologias Obrigatórias

● Frameworks Play Framework ou SpringBoot


● Banco de dados PostgreSQL

Tecnologias Desejáveis
● Hibernate
● JUnit
● Swagger
● Lombok
● Docker

Boas práticas consideradas


As boas práticas listadas abaixo não são requisitos para a entrega do projeto, mas serão consideradas
para entender melhor seu grau de domínio no desenvolvimento de projetos Java.

● ReadMe
● JavaDoc
● Código Limpo
● Testes Unitários
● Padrões de projeto (MVC, Singleton, Service, Factory…)

Prazo de entrega
Dia 28/08, quarta-feira até às 18h.
Enviar link do teste finalizado para Grazi no whats.

Contatos em caso de dúvidas


Graziela Pereira (Analista de recrutamento e seleção): https://wa.me/5548999500174

Você também pode gostar