Java + Quarkus
Você tem 1 hora para criar uma API que recebe um arquivo JSON com 100.000 usuários e oferece endpoints performáticos e bem estruturados para análise dos dados.
- Exemplos de respostas esperadas na API
- Arquivo com 100 mil usuários para importar
- Arquivo com 1 mil usuário para teste
O JSON contém uma lista de usuários com a seguinte estrutura:
{
"id": "uuid",
"name": "string",
"age": "int",
"score": "int",
"active": "bool",
"country": "string",
"team": {
"name": "string",
"leader": "bool",
"projects": [{ "name": "string", "completed": "bool" }]
},
"logs": [{ "date": "YYYY-MM-DD", "action": "login/logout" }]
}
Recebe e armazena os usuários na memória. Pode simular um banco de dados em memória.
- Filtro:
score >= 900
eactive = true
- Retorna os dados e o tempo de processamento da requisição.
- Agrupa os superusuários por país.
- Retorna os 5 países com maior número de superusuários.
- Agrupa por
team.name
. - Retorna: total de membros, líderes, projetos concluídos e % de membros ativos.
- Conta quantos logins aconteceram por data.
- Query param opcional:
?min=3000
para filtrar dias com pelo menos 3.000 logins.
Ele deve executar uma autoavaliação dos principais endpoints da API e retornar um relatório de pontuação.
A avaliação deve testar:
- Se o status retornado é 200
- O tempo em milisegundos de resposta
- Se o retorno é um JSON válido
Esse endpoint pode rodar scripts de teste embutidos no próprio projeto e retornar um JSON com os resultados. Ele será utilizado para validar a entrega de forma automática e rápida.
- Tempo de resposta < 1s por endpoint.
- Todos os endpoints precisam retornar o tempo de processamento (em milissegundos) e a timestamp da requisição
- Código limpo, modular, com funções bem definidas.
- Pode usar qualquer linguagem/framework.
- Documentação ou explicação final vale pontos bônus.
- Não pode usar IA.