Entrevista Java:
Perguntas sobre Java:
Orientação a Objeto
o Quais os principais conceitos de Orientação a Objeto?
o Quais as regras para fazer sobrescrita de um método? E sobrecarga?
o Quais os padrões de projeto que você conhece? Como implementaria?
o Por que utilizar getters e setters?
o Qual a diferença entre uma classe abstrata e uma interface
Básico
o Para que serve o método hashcode
o E o método finalize
o Qual a diferença entre o método equals e o ==
o Como que se declara uma constante em Java
o O que é o jshell
o Qual a diferença entre os modificadores de acesso private, public e
protected
o Se eu não defino um modificador de acesso para um método, qual é o
escolhido?
o E se eu estiver falando de uma interface?
o Qual a diferença entre break e continue
o Qual a diferença entre this e super
o O que é um objeto imutável, dê exemplos (String não conta)
o O que são generics? Uma classe que usa
o
Coleções
o Quais as diferenças entre os tipos de coleção (Lista, Mapa, Set)
o Dê pelo menos dois exemplos de implementações de um tipo de
coleção e qual a diferença entre elas
o Como você pode criar uma lista, com base em um vetor (array)
o Qual a diferença dos métodos [Link] e [Link]
Exceções
o Qual a diferença de uma exceção marcada para uma não-marcada
o Quais as exceções que você conhece
Memória
o O que é o garbage collector
o Quando ele é acionado
o Qual a diferença entre a memória Heap e a memória Stack
o Uma operação na aplicação está demorando muito tempo, como você
faz para saber onde que está o problema
Java 8
oQuais as vantagens e desvantagens de utilizar streams
oQuando que eu posso colocar um método concreto em uma interface
oQuais as novidades do java 8
oO que é um optional, como que você usaria
oO que é uma interface funcional e qual a diferença para uma interface
normal
o Quais os tipos de interface funcionais que existem no java 8 e qual a
diferença entre elas
o Function - it takes one argument and returns a result - map
o Consumer - it takes one argument and returns no result
(represents a side effect) - foreach
o Supplier - it takes not argument and returns a result
o Predicate - it takes one argument and returns a Boolean - filter
o BiFunction - it takes two arguments and returns a result
o BinaryOperator - it is similar to a BiFunction, taking two
arguments and returning a result. The two arguments and the
result are all of the same types
o UnaryOperator - it is similar to a Function, taking a single
argument and returning a result of the same type
o O que são expressões lambda
o Quais os tipos de métodos que usam streams que você conhece
o O que faz um filter
o Como que eu retiro elementos únicos de uma lista
o O que você conhece sobre a nova API de data e hora
o Por que uma nova API de data?
Java 11
o Quais as novidades do Java 11 em relação ao 8
o Sabe utilizar o ‘var’
o Quando não se pode utilizar o ‘var’
o A partir do Java 9, é possível utilizar métodos concretos em uma
interface. Imagina que você tenha a interface A com o método run e a
interface B com o método run também, quando eu implementar as duas
interfaces, o que vai acontecer? Como resolver?
o O que você sabe sobre modularização
o Como se declara um módulo
Exercícios
o Com uma lista nomes, como eu poderia ordenar essa lista em ordem
alfabética
o Como eu posso pegar todos os nomes não repetidos de uma lista
o Como você faria para retornar quantas vezes se repete cada nome
o Como você faria para retornar os nomes com mais de 5 letras diferentes
(exemplo: Amanda tem 6 letras, mas tem 4 letras diferentes, então ele
não seria retornado=
o
o Existe um método que irá retornar um item aleatório de uma lista que
você vai mandar por parâmetro, como você faria para garantir que esse
método não retorne o mesmo item até que todos os itens dessa lista já
tenham sido utilizados?
Perguntas sobre Spring
Base
o O que é o Spring?
o Quais os subprojectos do Spring que você já trabalhou?
o Poderia falar sobre 3 deles
o Quais as formas de injetar um objeto Spring em uma classe
o Qual a melhor e por quê?
o Qual a diferença entre as anotações @Service, @Repository,
@Component, @Controller e @Configuration
o Você conhece a anotação @Required
o Quais os escopos de um bean e qual a diferença entre eles
Singleton: This provides scope for the bean definition to single
instance per Spring IoC container.
Prototype: This provides scope for a single bean definition to
have any number of object instances.
Request: This provides scope for a bean definition to an HTTP-
request.
Session: This provides scope for a bean definition to an HTTP-
session.
Global-session: This provides scope for a bean definition to a
Global HTTP-session.
o Qual o escopo padrão
o Explique o ciclo de vida de um objeto Spring
o Se existe mais de uma implementação para uma determinada interface
disponível, quais as formas de resolver esse conflito
Spring Batch
o Qual a diferença de entre um passo com chunk processor de uma
tasklet?
o Descreva os vários elementos possíveis de utilizar dentro de um job
Spring Data
o O que é JPA/Hibernate e quais as vantagens?
o Como é a convenção de nomes ao utilizar o Spring Data?
o O que são transações
o Como que se inicia/finaliza uma transação
o Quais as vantagens de utilizar um ORM em relação a montar as classes
manualmente
o O que faz a anotação @Query e onde que você deve utilizá-la
o Se você tem uma tabela e uma entidade, cada uma com um nome
diferente, como você faz para ligar uma na outra
o Qual a diferença entre o Fetch Eager e Lazy
o Qual o ciclo de vida de um objeto a ser persistido em um bd
Transient - The object is called to be in the transient state when
it is just declared by using the new keyword. When an object
remains in the transient state, it doesn't contain any
identifier(primary key) in the database.
Persistence - In this state, an object is associated with the
session and either saved to a database or retrieved from the
database. When an object remains in the persistence state, It
contains a row of the database and consists of an identifier
value. We can make an object persistent by associating it with
the hibernate session.
Detached - The object enters into a detached state when the
hibernate session is closed. The changes made to the detached
objects are not saved to the database.
o
Spring Boot
o Qual a diferença entre o Spring Boot e o Spring Framework
o Como criar um novo projeto utilizando Spring Boot
o Quais os starters que você conhece/já trabalhou. Fale sobre um
o O que é o arquivo [Link]
o Quais servidores já existem embutidos por padrão
o Como eu faria uma aplicação com um único jar funcionar em diferentes
ambientes, utilizando propriedades diferentes
Spring Security
o Quais os tipos de tokens que você conhece
o O que é jwt
o Qual a diferença entre autenticação e autorização
Spring AOP
o O que é um aspect
o Por que eu usaria AOP
o Quais os diferentes tipos de interceptores que existem
REST
o Como expor um novo endpoint, quais anotações utilizar
o Quais os status http que você pode utilizar para as operações POST,
GET, PUT E DELETE
o Quais os verbos http você conhece e para que servem
o Qual a diferença entre um erro HTTP 401 e 403
o O que é um microsserviço
o Já trabalhou, dê um exemplo
o Qual a diferença entre rest e soap
o Quais APIs Java você conhece para expor serviços rest
fdfs
Perguntas testes
Quais frameworks de testes você utiliza
O que é TDD? E BDD?
Como você pode garantir que uma classe seja mais “testável”
O que é análise estática do código
Conhece alguma ferramenta de teste de automação
Quais anotações do JUnit você conhece
Que banco de dados que você utiliza para persistir os dados em testes? Por
quê?
Perguntas Docker
Qual a vantagem de se utilizar dockers invés de máquinas virtuais
O que é o arquivo Dockerfile
Explique CI/CD
O que é Kubernetes
Perguntas Git
Qual a principal diferente entre o git e o svn
Explique o gitflow
Exercício
Pedir um endereço github