(Iniciante) Trilha de Estudos Java WEB

Bom dia pessoal,

Estou no quarto ano de minha faculdade, e estou querendo me aprofundar mais em Java (voltado pra WEB). Já conheço um pouco de Java EE, JPA, MVC e tal. Alguém tem uma “trilha” do que eu posso estudar, livros, apostilas pra chegar num nível jr aceitável para preitar vagas nesse nível?

Obrigado a todos e sucesso!!!

No geral, pode ser algo como:

  1. Entender a arquitetura distribuida de Client-Server;
  2. Entender protocolos de comunicação alem do básico (Http, principalmente, mas também a questão de SSL e criptografia);
  3. Saber como funciona um Servlet, principalmente a o cuidado que se tem que ter em relação à múltiplas threads acessando os métodos do servlet;
  4. Entender como funciona realmente a questão de injeção de dependências e como o container de aplicação cria pools (de conexão, de beans, etc);
  5. Entender no geral como funciona um container de aplicação (Wildfly, Glassfish, etc). O ideal é que você saiba bastante utilizar um deles, mas saiba se virar nos outros;
  6. Saber utilizar a API de transações (JTA) a fundo, pois é algo extremamente importante. Como lidar com rollbacks, por exemplo?
  7. Tratar exceptions de forma correta, retornando para o cliente o código adequado (Foi erro do cliente ou do servidor? Se foi do cliente, o que ele fez errado, mandou dados inválidos? etc);
  8. Saber otimizar queries no JPA, principalmente coisas como o problema de N+1 queries;
  9. Saber aplicar segurança em endpoinds to web service. A ideia é entender pelo menos como tecnologias de token como OAuth e JWT funcionam, mas também como funcionam e como utilizar os métodos de autenticação comuns dentro de uma aplicação Java EE;
  10. Entender e saber utilizar o async do Java EE, JMS;

Se você realmente entende esses tópicos, uma série de outros conceitos vai estar clara na tua mente e será bem útil.

Outros tópicos não necessariamente da tecnologia Java EE são bem importantes, como:

  1. Domain-Driven Design
  2. Test-Driven Development
  3. Projeto e design de classes (SOLID)
  4. Clean code, detecção de code smells
3 curtidas

Muito obrigado, e para concorrer a uma vaga de programa JR por exemplo, num geral quais requisitos são necessários?

Se direciona por este conteúdo: https://www.caelum.com.br/apostila-java-web/

Depois compre um livro nessa linha.

1 curtida

Opa, obrigado amigo.

Uma das entrevistas técnicas que eu fiz pra posição junior foi em forma de desafio, achei bem interessante.

Me deram uma semana para construir uma API RESTful de uma loja online. Não precisava controlar estoque nem fazer nada de cobrança, a ideia principal era fazer o carrinho de compras e calculo de frete baseado em peso/quantidade do produto e distância da localização de entrega. Tinha que ter também o cadastro de produtos.

Para fazer isso, precisaria saber:

  1. JAX-RS
  2. CDI
  3. Stateless Session Beans
  4. Modelo geral do funcionamento de HTTP e APIs RESTful
  5. JPA e JTA
1 curtida

E foi de boa pra você ou teve muita dificuldade?

A parte da API foi bem tranquila, só apanhei um pouquinho pra fazer o front-end (também me pediram um website desacoplado da API, para que pudessem testar o back-end), porque tinha bem pouca experiência. Fiz com Angular, aprendi no dia mesmo.

1 curtida