Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

16 Commits
 
 

Repository files navigation

Teste Técnico para a vaga de Engenheiro de Software no projeto UEFS - Netra

Este desafio técnico é destinado aos candidatos à posição de Engenheiro de Software no projeto UEFS - NETRA. O objetivo é avaliar competências práticas em desenvolvimento de software por meio da criação de uma API RESTful utilizando PHP (Laravel 8 ou superior), um Sistema de Gerenciamento de Banco de Dados (SGBD) de sua escolha, e Docker.

O prazo para a realização do teste é de 5 dias corridos, e a entrega deve ser feita por meio de um repositório no GitHub.

Para participar, faça um fork deste repositório, aplique a solução proposta e envie para nossa análise.


Escopo do Teste Técnico

Você deverá desenvolver uma API RESTful com as seguintes funcionalidades:

  • CRUD de Usuários
  • CRUD de Posts
  • CRUD de Tags

Regras de Relacionamento

  • Um usuário pode ter várias postagens.
  • Uma postagem pode conter várias tags (palavras-chave).

Requisitos Técnicos do Projeto

  • Todas as rotas devem seguir o padrão /api, por exemplo: /api/posts.
  • Fornecer um Dockerfile e docker-compose.yml para execução do projeto.
  • Incluir documentação(README) clara sobre como rodar o projeto localmente, como testar os endpoints, visão geral da arquitetura e estrutura do projeto e destaques sobre decisões técnicas e particularidades da implementação.

Avaliação Técnica (durante o teste prático)

Serão avaliados os seguintes pontos conforme o nível de senioridade:

Para Todos os Níveis

  • Conhecimento e uso de recursos do Laravel
  • Familiaridade com Docker e Docker Compose
  • Organização, clareza e estrutura do código
  • Implementação funcional da API RESTful
  • Utilização adequada do banco de dados escolhido

Nível Júnior

  • Fundamentos de lógica de programação
  • Conhecimento básico dos princípios SOLID
  • Adesão aos padrões PSR (estilo de código PHP)
  • Uso inicial de testes (PHPUnit ou Pest) — não obrigatório

Nível Pleno

  • Lógica de programação mais estruturada
  • Aplicação consistente dos princípios SOLID
  • Implementação de testes unitários (PHPUnit ou Pest)
  • Boas práticas de performance e legibilidade do código

Nível Sênior

  • Arquitetura bem definida e organização do projeto
  • Uso estratégico dos princípios SOLID em componentes reutilizáveis
  • Testes completos (unitários e, se possível, de integração)
  • Otimizações de performance no código e consultas
  • Documentação técnica clara e abrangente (API, arquitetura, setup)
  • Uso de boas práticas de versionamento e estruturação do repositório

Avaliação Complementar (durante a entrevista técnica)

Após a entrega e análise do teste prático, os candidatos que avançarem para a próxima etapa participarão de uma entrevista técnica, onde serão avaliados critérios como:

  • Clareza na explicação de decisões técnicas
  • Capacidade de análise e resolução de problemas
  • Conhecimento sobre arquitetura de software e design de soluções
  • Abordagem colaborativa e visão de liderança técnica (para cargos mais seniores)
  • Nível de profundidade em testes, padrões, e boas práticas além do que foi entregue

Recursos Opcionais (recomendados, mas não obrigatórios)

  • Documentação automática com Swagger ou Scribe
  • Interface gráfica simples para consulta dos dados (React, Vue, Blade, Livewire, etc.)

Retorno

Após a análise técnica:

  • Se aprovado, entraremos em contato para a entrevista técnica.
  • Se não aprovado, forneceremos um retorno com os principais pontos de melhoria observados.

Boa sorte!
Equipe de Desenvolvimento NETRA – Projeto UEFS

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

Packages

Used by

Contributors