15 preguntas imprescindibles de la entrevista Spring MVC
Publicado: 2018-03-25Spring se ha convertido en uno de los marcos Java más utilizados para el desarrollo de aplicaciones web. Todas las nuevas aplicaciones Java utilizan de forma predeterminada los marcos Spring core y Spring MVC. Gracias a su creciente popularidad, los reclutadores de todo el mundo están buscando candidatos prácticos con el marco Spring. Si se presenta a una entrevista para un rol de desarrollador de Java, Spring MVC es una de las primeras cosas que debe repasar sus conocimientos sobre las preguntas de la entrevista de Spring Framework, independientemente de si es un principiante o alguien con experiencia.
Después de todo, el marco Spring MVC es el marco de Java más utilizado, y es probable que le hagan preguntas sobre el mismo, en cualquier entrevista de Java (o cualquier entrevista relacionada) a la que asista. Si no lo sabía, Spring MVC es un marco sólido basado en Java que ayuda a crear aplicaciones web. Como sugiere el nombre, utiliza una arquitectura MVC: modelo, vista, controlador. Spring MVC proporciona una forma elegante de usar Spring con el marco MVC. Lanzado en 2002, el marco Spring es un marco de código abierto, lo que significa que los desarrolladores de todo el mundo pueden contribuir al desarrollo y futuras versiones del marco.
Aprenda a crear aplicaciones como Swiggy, Quora, IMDB y másEso también significa que existe una comunidad siempre activa de desarrolladores para ayudarlo con sus consultas. Ser de código abierto también se suma a la gran cantidad de beneficios que ofrece Spring Framework. Especialmente si está comenzando con su carrera en Java, necesitará orientación, y la diversa comunidad de desarrolladores de Java garantiza que no le falte ninguna orientación cuando se trata de trabajar con Spring MVC.
Con tantos beneficios que ofrecer, no debería haber ni un ápice de duda sobre por qué Spring MVC es el tema favorito de una entrevista para interrogarlo.
En este artículo, hablaremos de 15 preguntas imprescindibles de Spring MVC que puede esperar encontrar en cualquier entrevista para la que se presente.
1. ¿Qué es el marco Spring?
Spring es un marco de código abierto que se creó para simplificar el desarrollo de aplicaciones. Tiene una estructura en capas que permite al desarrollador ser selectivo con los componentes que utiliza. Tiene tres componentes principales: Spring Core, Spring AOP y Spring MVC.

Además, puede hablar sobre su experiencia con Spring, si la hubiere. Eso agregará mucho peso a su respuesta.
Por qué las empresas están buscando contratar desarrolladores de pila completa2. ¿Cuáles son las principales características de Spring framework?
Spring Framework ofrece muchas funciones para facilitar la vida del desarrollador. Algunos de ellos son:
- Ligero: Spring es extremadamente liviano, la versión básica es de alrededor de 1 MB, con gastos generales de procesamiento insignificantes.
- Inversión de Control (IoC): Inyección de Dependencia o Inversión de Control es una de las características más importantes de Spring. Con IoC, los desarrolladores no necesitan crear un entorno completo para el objeto y sus dependencias; simplemente pueden crear y probar el objeto que están manejando en el momento dado. Las dependencias de objetos se incluirán o se solicitarán cuando surja la necesidad.
- Programación orientada a aspectos: Spring admite la programación orientada a aspectos. AOP aísla las funciones secundarias de la lógica empresarial del programador. Esto no solo proporciona modularidad sino que también hace que el código sea mantenible.
- Arquitectura MVC: Spring viene con un marco MVC para aplicaciones web. Este marco es altamente configurable utilizando varias tecnologías como JSP, Tiles, iText y POI.
- Manejo de excepciones JDBC: Spring viene con una capa de abstracción JDBC predefinida que simplifica el proceso general de manejo de excepciones.
3. Explique un poco más acerca de la inyección de dependencia.
La inversión de control o inyección de dependencia tiene como objetivo simplificar el proceso de creación de objetos siguiendo un concepto simple: no cree objetos, solo describa cómo deben crearse. Con IoC, una entidad externa que es responsable de coordinar cada objeto en el sistema les da a los objetos sus dependencias en el momento de la construcción. En esencia, estamos inyectando dependencias en objetos usando IOC o Dependency Injection.
4. ¿Explicar los diferentes tipos de inyecciones de dependencia en Spring? ¿Cuándo usar cuál?
Spring proporciona a los desarrolladores los siguientes dos tipos de inyecciones de dependencia:
- DI basada en constructores: la DI basada en constructores se logra pasando una serie de argumentos (cada uno de los cuales representa una dependencia de otra clase) al constructor de una clase. Simplemente, las dependencias se dan en forma de parámetros de constructor.
- DI basada en setter: cuando trabaja con un constructor sin argumentos, establecerá valores pasando argumentos a través de la función setter para instanciar el bean en consideración, esto se denomina inyección de dependencia basada en setter.
Cuándo usará cuál de estos, se reduce a sus requisitos. Sin embargo, se recomienda usar DI basada en Setter para dependencias opcionales y DI basada en Constructor para dependencias obligatorias.
Entrevista con Farooq Adam, cofundador, Fynd
5. ¿Qué es el marco Spring MVC?
Spring MVC es uno de los componentes principales del framework Spring. Viene con componentes y elementos listos para usar que ayudan a los desarrolladores a crear aplicaciones web flexibles y sólidas. Como sugiere el nombre, la arquitectura MVC separa los diferentes aspectos de la aplicación: lógica de entrada, lógica empresarial y lógica de interfaz de usuario. También proporciona un acoplamiento flojo entre M, V y C de la aplicación.
6. ¿Cuáles son algunos de los beneficios del marco Spring MVC sobre otros marcos MVC?
El marco Spring MVC tiene algunos beneficios claros sobre otros marcos. Algunos de los beneficios son:
- Separación clara de roles : hay un objeto especializado para cada rol, lo que proporciona una separación clara de roles.
- Código comercial reutilizable : con Spring MVC, no necesita duplicar su código. Puede usar sus objetos existentes como comandos en lugar de reflejarlos para extender una clase base de marco particular.
- Encuadernación y validación personalizables
- Resolución de tema y configuración regional personalizable
- Mapeo de controlador personalizable y resolución de vista
- Desde Spring 2.0 en adelante, el marco viene con una biblioteca de etiquetas de formulario JSP que facilita mucho la escritura de formularios en páginas JSP.
7. ¿Qué es DispatcherServlet?
El marco Spring MVC está basado en solicitudes y está diseñado en torno a un Servlet central que maneja todas las solicitudes y respuestas HTTP. El DispatcherServlet , sin embargo, hace mucho más que eso. Se integra a la perfección con el contenedor IoC y le permite usar cada característica de Spring.
Al recibir una solicitud HTTP, DispatcherServlet consulta HandlerMapping (estos son los archivos de configuración) para llamar al controlador apropiado. Luego, el controlador llama a los métodos de servicio apropiados para configurar los datos del modelo. También devuelve el nombre de la vista a DispatcherServlet. DispatcherServlet, con la ayuda de ViewResolver, selecciona la vista definida para la solicitud. Una vez que finaliza la vista, DispatcherServlet pasa los datos del modelo a View, donde finalmente se representa en el navegador.
Qué es el desarrollo basado en pruebas: una guía para principiantes
8. ¿Cuál es la clase de controlador frontal de Spring MVC?
Un controlador frontal es un controlador que maneja todas las solicitudes de una aplicación web. Cuando se trata de Spring MVC, DispatcherServlet es ese controlador frontal. Cuando se envía una solicitud web a una aplicación Spring MVC, DIspatcherServlet se encarga de todo. Primero, toma la solicitud. Luego, organiza los diferentes componentes como manejadores de solicitudes, controladores, resolutores de vistas y demás, todo lo necesario para manejar la solicitud. Y finalmente, muestra el contenido en el navegador.

9. ¿Qué es un patrón Viewresolver y cómo funciona en MVC?
View Resolver es un patrón J2EE que permite a las aplicaciones elegir dinámicamente la tecnología para representar los datos en el navegador (View). Cualquier tecnología como HTML, JSP, Tapestry, XSLT, JSF o cualquier otra tecnología similar se puede usar para View. El patrón View Resolver contiene el mapeo de diferentes vistas. El controlador devuelve el nombre de la vista que luego se pasa a View Resolver para seleccionar la tecnología adecuada.
10. ¿Cómo proporciona soporte de validación Spring MVC?
Spring admite principalmente dos tipos de validaciones:
- Usar anotaciones JSR-303 y cualquier implementación de referencia, por ejemplo, Hibernate Validator, o
- Implementando la interfaz org.springframework.validation.Validator.
11. Un usuario obtiene un error de validación en otros campos al marcar una casilla de verificación, después de lo cual la desmarca. ¿Cuál sería el estado de selección actual en el objeto de comando de Spring MVC? ¿Cómo solucionará este problema?
Esta es una de las preguntas más difíciles de responder si no está al tanto del comportamiento de HTTP Post en Spring MVC.
Durante la publicación HTTP, si desmarca la casilla de verificación, HTTP no incluye un parámetro de solicitud para la casilla de verificación, lo que significa que la selección actualizada no se recogerá. Para arreglar eso, puede usar el campo de formulario oculto que comienza con '_'.
Cómo tener éxito en su primer trabajo de desarrollo de software
12. ¿Cómo comparará el marco MVC con la arquitectura de tres niveles?
Una arquitectura de tres niveles es un estilo de arquitectura, mientras que MVC es un patrón de diseño.
Habiendo dicho eso, en aplicaciones más grandes, MVC forma el nivel de presentación de una arquitectura de tres niveles. El modelo, la vista y el controlador solo se ocupan de la presentación; utilizan el nivel intermedio para completar sus modelos.
13. ¿Cómo deberíamos usar JDBC en Spring para optimizar el rendimiento?
Spring proporciona una clase de plantilla llamada JDBCTemplate . El uso de JDBC con esta plantilla brinda un mejor rendimiento a múltiples.
14. ¿Qué quiere decir con un "Bean" en el contexto del marco Spring?
Cualquier clase inicializada por el contenedor IoC se conoce como bean en Spring. El ciclo de vida de un Spring Bean es administrado por Spring IoC Container.
15. ¿Qué es un "alcance" en referencia a los frijoles de primavera?
Spring Beans viene con los siguientes cinco ámbitos:
- Prototipo : cada vez que hay una solicitud de un bean, se crea un prototipo separado cada vez.
- Solicitud : Es como el alcance anterior, pero solo para aplicaciones basadas en web. Para cada solicitud HTTP, Spring crea una nueva instancia de bean.
- Singleton : solo se crea un bean para cada contenedor y actúa como el alcance predeterminado de ese bean. En todos estos casos, los beans no pueden usar una variable de instancia compartida, ya que puede generar inconsistencias en los datos.
- Sesión : se crea un bean para cada sesión HTTP
- Sesión global: la sesión global se crea para las aplicaciones de Portlet.
El marco Spring es extensible, es decir, también puede crear su propio alcance. El atributo "alcance" del elemento bean se utiliza para definir el alcance.
Cómo convertirse en un desarrollador de pila completa
Terminando…
Se trataba de las preguntas y respuestas imprescindibles de la entrevista de Spring que giran en torno al marco de Spring, y Spring MVC, para ser precisos. Si eres un desarrollador de Java que busca comenzar con Spring, ¡no podría haber un mejor momento! Lea más si está buscando preguntas de entrevista de Java.
Dedique parte de su valioso tiempo a tener en sus manos las preguntas de la entrevista de Java Spring y estará listo para comenzar. Las organizaciones buscan desarrolladores que tengan un dominio sólido de este marco, gracias a las características que tiene para ofrecer.

Inscríbase en cursos de ingeniería de software de las mejores universidades del mundo. Obtenga programas Executive PG, programas de certificados avanzados o programas de maestría para acelerar su carrera.
