Preguntas de entrevista de Spring, JPA y Java Web
45 preguntas de entrevista de Spring, JPA y Java Web con respuestas, de nivel junior a intermedio.
Fundamentos
- ¿Qué es una anotación como
@Overrideo@Serviceen Java? - En Spring, ¿qué es un 'bean'?
- ¿Qué es Apache Tomcat y por qué las apps web de Spring Boot suelen incluirlo?
- Una app web Spring Boot arranca con la configuración por defecto. ¿En qué puerto escucha el servidor embebido?
- ¿Qué es
application.properties(oapplication.yml) en un proyecto Spring Boot? - ¿Qué son JPA (Jakarta Persistence) e Hibernate?
- ¿Qué es start.spring.io (Spring Initializr)?
Base
- ¿Qué es Spring Framework, en una frase?
- ¿Qué añade Spring Boot sobre Spring?
- ¿Qué es la Dependency Injection (DI)?
- ¿Qué estilo de inyección se recomienda en general en Spring?
- ¿Qué tienen en común
@Component,@Service,@Repositoryy@RestController? - ¿Cuál es el scope por defecto de un bean de Spring?
- ¿Para qué sirve
@SpringBootApplication? - ¿Qué hace este endpoint?
- ¿Qué anotación lee un cuerpo JSON de la petición en un objeto Java?
- ¿Qué es JDBC?
- ¿Qué es un servlet y un servlet container (como Tomcat)?
- Explica Inversion of Control y Dependency Injection, y por qué Spring las usa.
Intermedio
- ¿Dónde sueles poner ajustes como la URL de la base de datos en Spring Boot, y cómo cambias entre entornos?
- ¿Qué hace la auto-configuration de Spring Boot?
- ¿Cuál es la diferencia entre
@Componenty@Bean? - ¿Qué pasa si existen dos beans del mismo tipo y lo inyectas sin más información?
- ¿Qué hace
@Transactional? - ¿Qué te da una interface repository de Spring Data JPA?
- En JPA, ¿qué significan
@Entitye@Id? - ¿Cuál es la diferencia entre el fetching LAZY y EAGER en JPA?
- ¿Qué papel tiene
@ControllerAdvicecon@ExceptionHandler? - ¿Cómo validas los datos de una petición en Spring Boot?
- ¿Por qué usar DTOs en lugar de exponer directamente las entidades JPA en tu API?
- ¿Qué anotación de test arranca el contexto COMPLETO de Spring, y cuál carga solo la capa web?
- ¿Para qué se usa Mockito en los tests?
- ¿Cómo fluye una petición por Spring MVC?
- ¿Qué hace Spring Security por defecto cuando solo añades el starter?
- ¿Qué es Jackson y qué pasa en
@RestControllercuando un método devuelve un objeto? - ¿Qué es Spring Boot Actuator?
- ¿Cuál es la diferencia entre
@RequestParamy@PathVariable? - Explícame paso a paso cómo construir un endpoint REST en Spring Boot, desde la petición hasta la base de datos.
- Spring, Spring Boot, Spring MVC y Spring Data: ¿qué es cada uno?
Avanzado
- ¿Por qué
@Transactionalpodría NO funcionar en este código? - ¿Qué es el problema N+1 en JPA y cómo se soluciona?
- ¿Qué es el persistence context y qué es el "dirty checking"?
- ¿Para qué se usa normalmente Spring AOP (programación orientada a aspectos)?
- ¿Qué versión mínima de Java exige Spring Boot 3 y qué cambio de nombre de paquetes hubo?
- ¿Cuáles son los errores más comunes con JPA/Hibernate y
@Transactional?