- Published on
Desenvolvedor Java Magalu Júnior
- Authors
- Name
- Johnny Vaz
Anúncio oficial desta vaga:
Requisitos
- Java (Hibernate, Spring, Maven);
- NodeJs (HapiJs)
- Design de APIs REST;
- Desenvolvimento utilizando Banco de dados relacionais;
- Construção de ambientes de build/test/deployment automatizados;
- Experiência com containers (Docker, kubernetes);
- Experiência em monitoramento de aplicações (Elasticsearch / Kibana / Grafana);
- Experiência em desenvolver aplicações Escaláveis;
- Experiência em ambientes de cloud computing
Diferenciais:
- Experiência em desenvolvimento Orientado a Mensageria (RabbitMq).
- Experiência com desenvolvimento de front (React, etc);
- Experiência com GCP.
Detalhamento para criação da trilha
Linguagens
Nome | Link Documentação |
---|---|
Java | |
Java Development Kit - JDK e Eclipse/IntelliJ IDEA | |
Estruturas de Controle e Loops, | |
Condicionais, | |
Estruturas de repetição | |
Arrays, matrizes | |
Programação Orientada a Objetos (POO) | |
Métodos e construtores. | |
Encapsulamento e modificadores de acesso. | |
Herança e polimorfismo. | |
Interfaces e classes abstratas. | |
Exceções e tratamento de erros. | |
Manipulação de Arquivos e Coleções | |
Leitura e escrita de arquivos. | |
Manipulação de diretórios. | |
Coleções em Java (Listas, Sets, Mapas). | |
Iteração e ordenação de coleções.(ArrayList, HashMap, etc.). | |
JDBC (Java Database Connectivity). | |
Conexão com banco de dados. | |
Consultas SQL. | |
JPA | |
Gerenciamento de pacotes com Maven | |
Threads e concorrência. | |
Framework Spring | |
Framework Hibernate | |
----------------- | ------------ |
Mensageria Rabbit | |
Manipular mensagens na fila(inserir, consumir) | |
Configurar Microsserviço para trabalhar com filas | |
----------------- | ------------ |
Banco de Dados | |
Tipos de bancos (relacional, NoSql) | |
Gerenciamento de Banco de Dados com programa SGBD em banco mysql | |
Modelagem de dados, entidades, criação de tabelas, PK, FK | |
consulta a dados (SELECT, WHERE, JOIN) | |
Backup e restauração de dados | |
Segurança, permissão de acesso | |
----------------- | ------------ |
Controle de Versão - GIT | |
init, push, commit, pull, merge, clone, add, branch, checkout, status, rebase | |
----------------- | ------------ |
Docker | |
Contêineres, imagem docker | |
Dockerfile | |
Docker Compose | |
Docker no pipeline de CI/CD | |
Redes no docker | |
Principais comandos: docker run, docker build, docker pull, docker push, docker images, docker ps, docker stop e docker rm. | |
----------------- | ------------ |
Kubernetes | |
Pods, Services, Deployments | |
HPA (Horizontal Pod Autoscaler) | |
Configurações com ConfigMaps e Secrets | |
----------------- | ------------ |
API REST | |
CRUD | |
Autenticação | |
Testes unitários | |
Swagger, Postman | |
Respeitando as regras de comunicação de APIs restful, como verbos (POST, PUT, PACTH, DELETE, GET) e respostas de httpcode de acordo com as ações. Exemplo: Uma requisição POST com sucesso, respondendo httpcode 201. | |
----------------- | ------------ |
Monitoramento de Aplicações | |
Elasticsearch, consulta | |
Kibana, criar dashboards | |
indexação de dados | |
Grafana | |
Prometheus | |
Criar alertas | |
----------------- | ------------ |
Aplicações Escaláveis | |
Arquitetura de Microsserviços | |
Balanceamento de Carga (Nginx) | |
Elasticidade (orquestração de containers) | |
Monitoramento e Logs | |
Bancos de Dados Escaláveis, dimensionamento, replicação e particionamento. | |
Cache Distribuído (Redis) | |
Segurança e Identidade (controle de acesso, autenticação e autorização) | |
Autoscaling:dimensionamento automático com base na carga de trabalho. | |
Tolerância a Falhas (falhas sem interromper o serviço) | |
Desenvolvimento Concorrente | |
----------------- | ------------ |
Gerenciamento de Projeto | |
kanban | |
scrum | |
Lean | |
XP |