Geekflare recibe el apoyo de nuestra audiencia. Podemos ganar comisiones de afiliación de los enlaces de compra en este sitio.
En Carrera profesional y Desarrollo Última actualización: 25 de septiembre de 2023
Compartir en:
Escáner de seguridad de aplicaciones web Invicti - la única solución que ofrece verificación automática de vulnerabilidades con Proof-Based Scanning™.

¿Es usted un desarrollador Java Spring Boot con ganas de triunfar en una próxima entrevista pero no está seguro de qué preguntas esperar? ¡Estamos aquí para ayudarle!

Este artículo le ayudará a prepararse adecuadamente esbozando varias preguntas y respuestas frecuentes de las entrevistas sobre Spring Boot que los entrevistadores pueden utilizar para ponerle a prueba.

Los entrevistadores utilizan preguntas estratégicas de Java Spring Boot para poner a prueba los niveles de destreza de los entrevistados en relación con el puesto que se les ha asignado. Por lo tanto, necesita prepararse con preguntas relevantes y saber cómo responderlas.

Antes de pasar directamente a las preguntas de la entrevista y sus correspondientes respuestas, vamos a cubrir una visión general básica de lo que es Spring Boot y lo útil que resulta para los desarrolladores Java.

¿Qué es Spring Boot de Java?

Este marco Java es una creación del equipo pivotal en 2014. Spring Boot, que es un marco de trabajo de código abierto, desarrolla eficazmente aplicaciones que son independientes, de nivel de producción y que también pueden ejecutarse en una máquina virtual Java (JVM).

Los desarrolladores Java lo prefieren para el desarrollo de aplicaciones web y microservicios por su rápido y sencillo proceso de configuración y su tiempo de configuración seguro.

La fácil instalación y configuración de las aplicaciones basadas en Spring mediante Spring Boot son posibles con sus tres capacidades principales que incluyen:

  • Autoconfiguración - que es una configuración automática de la aplicación Spring.
  • Spring Boot proporciona un enfoque basado en opiniones sobre los valores predeterminados de configuración que se deben utilizar y los paquetes que se deben instalar para las dependencias necesarias. Este enfoque opinado ayuda a la rápida configuración de los proyectos.
  • Sprsetupoot le permite ejecutar de forma independiente su aplicación sin necesidad de un servidor web.

¿Cómo ayuda Spring Boot a los desarrolladores Java?

En primer lugar, los desarrolladores Java que utilizan Spring Boot lo tienen más fácil con la autoconfiguración de todos los componentes necesarios para desarrollar una aplicación Spring de nivel de producción. Esto, a la larga, reduce el tiempo de desarrollo y aumenta su eficacia.

Spring Boot también se integra fácilmente con el ecosistema de Spring, que incluye Spring JDBC, Spring Data, Spring Security y el ORM de Spring.

Los desarrolladores Java también pueden conectar Spring Boot con diferentes bases de datos como Oracle, MySQL, PostgreSQL y MongoDB, entre otras.

Por supuesto, las configuraciones flexibles con configuraciones XML, los Java Beans y las transacciones de bases de datos se encuentran entre otras características útiles.

Por lo tanto, ahora que tiene una visión básica de Spring Boot consideraremos algunas de las preguntas y respuestas más frecuentes de la entrevista de Spring Boot que le ayudarán a prepararse para su entrevista.

Preguntas y respuestas de la entrevista sobre Spring Boot

Preguntas de la entrevista sobre Spring Boot

¿Cuáles son algunas de las características de Spring Boot?

Algunas de estas características populares incluyen:

  • La CLI de Spring Boot proporciona Groovy para escribir la aplicación Spring Boot; a la larga, se evita el código boilerplate.
  • Spring Boot proporciona un registro y una función de seguridad que protegen fácilmente su aplicación de posibles amenazas a la seguridad.
  • Proporciona autoconfiguración de los componentes relevantes para su proyecto, evitando así el riesgo de archivos WAR innecesarios.
  • El inicializador de arranque establece una estructura interna de proyecto por defecto para usted. De este modo, no tendrá que configurar manualmente la estructura del proyecto.
  • La función de actuador de Spring Boot da acceso a información y métricas a medida que se ejecuta la aplicación.
  • Por supuesto, una de las características clave de Spring Boot, la dependencia de arranque, ayuda a agregar las dependencias más utilizadas de una característica concreta.

¿Qué son los arrancadores de Spring Boot?

Los arrancadores de Spring Boot son descriptores de dependencias que incluyen un conjunto de proveedores de gestión de dependencias que habilitan las dependencias de la aplicación. Proporcionan al marco de trabajo la resolución automática de dependencias. Los arrancadores mejoran el desarrollo fácil y rápido.

¿Qué es un Actuador en Spring Boot y cuáles son sus ventajas?

El actuador es una de las características de Spring Boot que le permite supervisar lo que ocurre dentro de una aplicación mientras se ejecuta.

Durante la depuración, por ejemplo, puede utilizar el actuador para analizar los registros, ya que permite acceder a características como el uso de la CPU y la identificación de judías.

Además, el actuador no sólo proporciona un fácil acceso a los puntos finales REST listos para la producción, que supervisan y gestionan la información, sino que también recupera datos de la web.

¿Qué es el timo y cómo se utiliza?

Thymeleaf es una plantilla del lado del servidor de Java que crea un diseño de plantilla natural para aplicaciones web Java tanto Spring como HTML5.

Spring Boot realizará una configuración automática de thymeleaf utilizando la dependencia spring-boot-starter-thymeleaf en el archivo pom.xml para servir el contenido web dinámico.

Para permitir que Spring Boot lea y renderice las plantillas thymeleaf o los archivos HTML, coloque las plantillas en src/main/resources/templates.

A continuación, Thymeleaf analiza el archivo index.html y utiliza los valores reales que se pasan desde la clase del controlador en lugar de los valores dinámicos disponibles en el archivo index.

Después de esto, el mensaje se renderiza en el navegador web en cuanto se ejecuta la aplicación Spring Boot.

org.springframework.boot spring-boot-starter-thymeleaf

Describa el proceso de creación de un proyecto Spring Boot utilizando Spring Initializer.

Spring Initializr, que es una herramienta web de Spring, le permite crear un proyecto Spring Boot siguiendo unos pocos pasos y proporcionando los detalles del proyecto.

  1. Diríjase a Primavera intializr y rellene los campos de entrada.
  2. Al hacer clic en el botón Generar se iniciará la descarga del proyecto.
  3. Extraiga el proyecto descargado del archivo zip y ábralo desde su IDE. Desde el IDE, vaya a Archivo->Nuevo->Proyecto a partir de fuentes existentes->Spring-boot-appy seleccione el archivo pom.xml. Haga clic en el aviso de importar cambios para que el proyecto se sincronice. Después de esto, recuerde ir al archivo application.properties y editar el número server.port a server.port=7000.
  4. Ahora, ejecute la aplicación desde src->main->java->com.gfg.Spring.boot.app

¿Qué es JPA en Spring Boot?

Es una especificación en Java que utiliza Object-Relation Mapping(ORM) para gestionar datos relacionales y permite el acceso a los datos entre el objeto Java o la clase Java y la base de datos relacional de la aplicación.

JPA utiliza el lenguaje de consulta Java Persistent Query Language(JPQL), un lenguaje de consulta orientado a objetos que también es independiente de la plataforma.

JPA permite el procesamiento de consultas y transacciones de objetos contra la base de datos utilizando la API de Gestor de Entidades que proporciona.

¿Qué es la autoconfiguración en Spring Boot?

La autoconfiguración pretende automatizar la configuración de las aplicaciones Spring Boot utilizando las dependencias jar que se añaden a las aplicaciones.

En función de las dependencias disponibles en el Classpath de la aplicación, la autoconfiguración declarará los objetos incorporados del módulo específico de Spring, incluidos JPA y la seguridad de Spring, entre otros.

¿Qué son las anotaciones de Spring?

Las anotaciones de Spring se refieren a metadatos que ofrecen información sobre un fragmento de programa, y añaden datos complementarios a ese programa. Los componentes del código, incluidas las clases y los métodos, se asocian a menudo con anotaciones.

Las anotaciones no afectan directamente al funcionamiento del programa ni a la acción posterior del código compilado.
Su sintaxis comienza con el símbolo‘@‘.

Spring Boot proporciona seis tipos principales de anotaciones que incluyen:

  • Anotaciones del núcleo de Spring
  • Anotaciones de Datos Spring
  • Anotaciones de Spring Bean
  • Anotaciones Web de Spring
  • Anotaciones de Programación de Spring
  • Anotaciones de Spring Boot

¿Qué significa Spring Data REST?

Spring Data REST expone los recursos en RESTful que se encuentran alrededor de los recursos Spring Data utilizando un código mínimo.

El siguiente ejemplo utiliza el método POST para solicitar contenido utilizando http://localhost/example como URL y Content-Type: application/json como Cabecera.

Solicitar contenido:

{
 "Nombre": "Jimmy",
 "Género": "Hombre",
 "Edad": 23
}

Contenido de la respuesta:

{
 "Nombre": "Jimmy",
 "Género": "Masculino",
 "Edad": 23
 "_links": {
 "self": {
 "href": "http://localhost:8080/example/1"
 },
 "persona": {
 "href": "http://localhost:8080/example/1"
 }
 }
}

¿Cuál es la necesidad de Spring Boot DevTools?

Se trata de un profundo conjunto de herramientas predefinidas cuyas propiedades se aplican a los respectivos entornos de desarrollo para facilitar el desarrollo y ahorrar tiempo de desarrollo.

Siempre que cambie código en la aplicación Spring Boot, la función Spring Boot DevTools se reinicia automáticamente. Por lo tanto, le ahorra la molestia de reiniciar manualmente la aplicación cada vez que modifique el código.

¿Qué es Spring Data?

Spring Data pretende ofrecer a los desarrolladores un acceso sencillo a las tecnologías de acceso a datos, como los datos relacionales y no relacionales y los servicios de datos basados en la nube, ya que sigue manteniendo las características especiales del almacén de datos subyacente.

¿Cómo decirle a una autoconfiguración que retroceda cuando existe un bean?

Aquí utilizará la anotación @ConditionalOnMissingBean, que incluye el atributo name y value como se indica a continuación.

  • atributo value que almacena el tipo de alubia a comprobar
  • atributo name que nombra el bean a comprobar

¿Cómo obtener datos de la base de datos en Spring Boot?

Podemos acceder a los datos de una base de datos MySQL a nuestra aplicación Spring Boot siguiendo los siguientes pasos.

Paso 1: Utilice el comando create DATABASE person para crear la base de datos en MySQL.

Paso2 : Dentro de la base de datos, cree una tabla:

CREAR TABLA persona(id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, nombre VARCHAR(255));

Paso3: Cree ahora una aplicación Spring Boot y añádale las dependencias JDBC, MySQL y las dependencias web necesarias.

Paso 4: Configure la base de datos desde el archivo application.properties como se indica a continuación.

spring.datasource.url=jdbc:mysql://localhost:3306/personDetails
spring.datasource.username=ejemplo123
spring.datasource.password=ejemplo123
spring.jpa.hibernate.ddl-auto=create-drop

Paso 5: A continuación, vamos a gestionar las peticiones en la clase controladora:

package com.person;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.jdbc.core.JdbcTemplate;
import org.springframework.web.bind.annotation.RestController;
@RestController
public class JdbcController {
 @Autowired
 JdbcTemplate jdbc;
 @RequestMapping("/guardar")
 public String index(){
 jdbc.execute("insert into persona (nombre)values(Prueba)");
 return "Nombre introducido con éxito";
 }
}

Por último, ejecute su aplicación mientras comprueba la entrada en la base de datos para ver los datos a los que se accede.

¿Por qué necesitamos Perfiles Spring?

Los Perfiles Spring permiten segregar la configuración de una aplicación de diferentes partes y disponer de ellas para desarrollos específicos.

Los Perfiles Spring también ahorran al desarrollador el trabajo de gestionar configuraciones externas específicas del entorno si los Perfiles Spring no estuvieran disponibles.

Además, esto dificultaría la sincronización y supondría la necesidad adicional de escribir varios componentes tipo fábrica que dispondrían de ciertas cosas necesarias en función de determinados parámetros específicos del entorno.

¿Podemos cambiar el puerto del servidor Tomcat incrustado en Spring boot?

Sí, podemos.

Esto se hace manipulando el archivo aplicación.propiedades para incluir la propiedad server. port y asignándole un puerto de su elección. Spring Boot carga automáticamente el archivo de propiedades de la aplicación y aplica las configuraciones necesarias a la aplicación.

Por ejemplo, puede cambiar el número de puerto servidor. port del valor predeterminado de 8080 a server.port= 8081.

¿Cómo se configura Log4j para el registro?

Con estos sencillos pasos, podemos configurar Log4j para el registro:

  1. En primer lugar, cree su proyecto Java y, a continuación, haga clic con el botón derecho del ratón en el proyecto. Navegue a MiEclipse->Archivo->Nuevo->Proyecto Java para nombrar el proyecto y haga clic en finalizar.
  2. A continuación, haga clic con el botón derecho en el nombre de su proyecto Java y seleccione Ruta de compilación -> Configurar ruta de compilación. Este paso añadirá el archivo log4j.
  3. Navegue hasta la biblioteca y haga clic en el botón Añadir JARS externosy seleccione el archivo log4j en el menú desplegable que aparece. A continuación, haga clic en Aceptar.
  4. Cree un nuevo archivo java que llamará archivo log4j.properties, luego haga clic en finalizar y añada este archivo al Classpath.
  5. Haga clic en Avanzado en el Classpath, luego seleccione la opción Añadir alfombras y recuerde hacer clic en Aceptar.
  6. Ahora puede buscar el archivo log4j.properties, haga clic en Aceptar y ejecute el proyecto.
  7. Compruebe en la consola la salida que se muestra a continuación.
<x>[main]</x> DEBUG Ejemplo - Hola este es un mensaje de depuración
<x><x>[main]</x></x> INFO Ejemplo - Hola este es un mensaje de información

¿Qué es un contenedor IoC?

El contenedor IoC(Inversion of Control) es un contenedor del núcleo de Spring que implementa automáticamente la inyección de dependencias. Instantiza la aplicación de la clase y es responsable de la configuración de los objetos y del ensamblaje de las dependencias necesarias.

También gestiona el ciclo de vida del objeto desde su instanciación hasta su destrucción.

IoC realiza estas tareas mediante la configuración de metadatos en código Java, XML y anotaciones Java.

El contenedor se denomina inversión de control porque controla los objetos Java y los ciclos de vida de estos objetos. Por lo demás, esta es una tarea del desarrollador.

Explicar cómo crear una aplicación Spring Boot utilizando Maven

Este proceso conlleva una serie de pasos.

Paso1: Seleccione el tipo de proyecto.

Paso 2: Asigne un nombre a su proyecto para configurarlo y, a continuación, haga clic en el botón Finalizar para crear el proyecto.

Paso3 : Ahora, configuraremos el archivo pom.xml del proyecto Maven para crear un proyecto Spring Boot a partir de él.

archivo pom.xml:

<proyecto xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> 
 <modelVersion>4.0.0</modelVersion> 
 <groupId>com.javatpoint</groupId> 
 <artifactId>spring-boot-example</artifactId> 
 <version>0.0.1-SNAPS<name>JavaTpoint Spring Boot Example</name> 
</project&gt 

La configuración implica la adición de un padre al proyecto Maven. Esto declarará el proyecto Maven como un proyecto hijo del proyecto padre.

<parent> 
 <groupId>org.springframework.boot</groupId> 
 <artifactId>spring-boot-starter-parent</artifactId> 
 <version>1.4.2.RELEASE</version> 
</parent&gt 

Paso 4: A continuación, añada la dependencia web, spring-boot-starter-web, al pom.xml.

<dependencias> 
 <dependencia> 
 <groupId>org.springframework.boot</groupId> 
 <artifactId>spring-boot-starter-web</artifactId> 
 </dependencia> 
</dependencias&gt 

Paso 5: Añadir la versión de Java del proyecto.

<properties> 
 <java.version>1.8</java.version> 
</properties&gt 

Paso 6: Tenga en cuenta que cada vez que añada nuevas dependencias, deberá actualizar el proyecto Maven.

Paso7: Haga ejecutable el proyecto Maven creando una clase Java dentro del paquete src/main/java.

Paso 8: A continuación, llame al método de ejecución estática de la clase de la aplicación Spring.

Paso9: Por último, ejecute la clase como una aplicación Java.

¿Cuáles son las ventajas de Spring Boot sobre Spring?

  • La capacidad de Spring Boot de compilar el lenguaje fuente utilizando el inicializador Boot, una técnica denominada bootstrapping, permite ahorrar espacio en los dispositivos de los usuarios y también reducir el tiempo de carga de la aplicación.
  • A diferencia de Spring, Spring Boot permite la gestión de dependencias tras añadir las dependencias de Spring Boot sin depender del POM (modelo de objetos padre) o del archivo XML.
  • Spring Boot también permite a los desarrolladores utilizar anotaciones o configuraciones XML sin necesidad de utilizar configuraciones XML.
  • Los desarrolladores prefieren Spring Boot por la disminución del código boilerplate necesario para configurar una aplicación. Esto se debe a que Spring Boot viene con una base de datos en memoria y un servidor Tomcat integrado, lo que disminuye el código boilerplate. Spring, por otro lado, tiene más código boilerplate.
  • Spring Boot no requiere necesariamente archivos WAR (recurso de aplicación web) y sólo puede basarse en el JAR (recurso Java), que tiene una estructura pequeña y más sencilla y, por tanto, es más útil para usuarios y desarrolladores.
  • Spring Boot también incrusta automáticamente servidores como Tomcat y Jetty; por lo tanto, el desarrollador no necesita configurar manualmente el servidor como se supone que debe hacer en Spring.

¿Cómo se realiza la paginación en Spring Boot?

El proceso de paginación divide los datos en secciones para ahorrar recursos. Implica dos campos, el tamaño de página y el número de página.

El proceso implica unos cuantos pasos, entre los que se incluyen:

Paso 1: Configuración inicial
Consisetupn entidad que llamaremos Persona como la clase de dominio.

@Entidad 
public class Persona {
 @Id
 private long id;
 private String name; 
}

Paso 2: Creación del repositorio
A continuación, utilice un PersonRepository extiende PagingAndSortingRepository para poder obtener los métodos findAll (Pageable pageable) y findAll(Sort sort) para paginar y ordenar, respectivamente.

public interface PersonRepository extends PagingAndSortingRepository<Person, Integer> {
 List<Product> findAllByPrice(double price, Pageable pageable);
}

Paso 3: Paso de paginación
El primer paso aquí consiste en crear un objeto Petición de página; pasando el número de página y el tamaño de página solicitados que implementa la interfaz Pageable.

Pageable firstPageWithTwoElements = PageRequest.of(0,2);
Pageable secondPageWithThreeElements = PageRequest.of(1,3);

A continuación, pase este objeto Petición de página al método repositorio como parámetro.

Page<Person> allProducts = personRepository.findAllByPrice(findPageWithTwoElements);
List<Items> allTwoDollarItems = itemsRepository.findAllByPrice(2, secondPageThreeElements) 

Por defecto, el método findAll (Pageable pageable) devolverá un objeto Page<T>.

Explicar cómo registrar una autoconfiguración personalizada

En la clave @EnableAutoConfiguration del archivo META-INF/spring.factories, mencione el nombre completo. Este paso registra la clase de autoconfiguración.

org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.baeldung.autoconfigure.CustomAutoConfiguration

Para construir el proyecto utilizando Maven deberá colocar el archivo en el directorio recursos/META-INF.

¿Qué es bootstrapping en Spring Boot?

Bootstrapping es el proceso de ejecución de la lógica en la aplicación Spring Boot en el arranque.
El Boot initializr compila el lenguaje fuente en Spring Boot. Este proceso ahorra espacio en el dispositivo y también reduce el tiempo de carga de la aplicación.

Palabras finales 👨‍💻

Bien, este artículo ha cubierto algunas preguntas sobre Spring Boot que los entrevistadores probablemente le harán durante su entrevista y las respuestas que le ayudarán a superarla con confianza. ¡Esperamos que consiga el trabajo de sus sueños!

Puede que también quiera aprender algunos consejos relevantes de las preguntas que se hacen durante una entrevista de Java.

Mucha suerte 🙂 .

  • Neema Muganga
    Autor
Gracias a nuestros patrocinadores
Más lecturas sobre la carrera profesional
Potencia tu negocio
Algunas de las herramientas y servicios que le ayudarán a hacer crecer su negocio.
  • Invicti utiliza el Proof-Based Scanning™ para verificar automáticamente las vulnerabilidades identificadas y generar resultados procesables en tan solo unas horas.
    Pruebe Invicti
  • Web scraping, proxy residencial, gestor de proxy, desbloqueador web, rastreador de motores de búsqueda, y todo lo que necesita para recopilar datos web.
    Pruebe Brightdata
  • Monday.com es un sistema operativo de trabajo todo en uno que te ayuda a gestionar proyectos, tareas, trabajo, ventas, CRM, operaciones, flujos de trabajo y mucho más.
    Prueba Monday
  • Intruder es un escáner de vulnerabilidades en línea que encuentra puntos débiles de ciberseguridad en su infraestructura, para evitar costosas violaciones de datos.
    Prueba Intruder