option
Cuestiones
ayuda
daypo
buscar.php

Taller de Construcción de Software - P1 - Siglo 21 (programa actual - Gen IA)

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
Taller de Construcción de Software - P1 - Siglo 21 (programa actual - Gen IA)

Descripción:
Preguntero P1 Taller Construcción Software Siglo 21 programa nuevo - Claude

Fecha de Creación: 2026/10/24

Categoría: Universidad

Número Preguntas: 182

Valoración:(0)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

HTML es el único lenguaje necesario para crear una página web funcional. Verdadero. Falso.

CSS se utiliza para definir la estructura y el marcado del contenido HTML. Verdadero. Falso.

JavaScript es un lenguaje de programación basado en clases. Verdadero. Falso.

El contenido dinámico solo puede ser generado por JavaScript del lado del servidor. Verdadero. Falso.

¿Qué etiqueta debe ir en la línea marcada para que el documento tenga la estructura básica correcta? <!DOCTYPE html> <html lang="es"> <head><title>Tienda</title></head> ________ <p>Hola</p> </body> </html>. <body>. <main>. <section>. <footer>.

¿Qué muestra el navegador al interpretar el siguiente fragmento? <p>5 &lt; 10</p>. 5 < 10. 5 &lt; 10. 510. Nada, porque es un error de sintaxis.

¿Cuál es la forma correcta de insertar una imagen con un texto alternativo?. <img src="logo.jpg" alt="Logo de la empresa">. <img href="logo.jpg" text="Logo de la empresa">. <image src="logo.jpg">Logo de la empresa</image>. <img src="logo.jpg"><alt>Logo de la empresa</alt>.

Se quiere mostrar una lista de pasos de instalación donde el orden importa. ¿Qué fragmento es el correcto?. <ol><li>Descargar</li><li>Instalar</li></ol>. <ul><li>Descargar</li><li>Instalar</li></ul>. <ol><p>Descargar</p><p>Instalar</p></ol>. <list type="ordered"><li>Descargar</li></list>.

¿Cuál de estos fragmentos usa correctamente etiquetas semánticas de HTML5 para una noticia independiente?. <article><header><h2>Título</h2></header><p>Texto de la noticia</p></article>. <div class="article"><div class="header">Título</div><div>Texto</div></div>. <span><h2>Título</h2><p>Texto de la noticia</p></span>. <aside><footer><h2>Título</h2></footer></aside>.

Con las siguientes reglas, ¿de qué color se ve el texto de <p id="intro" class="destacado">Hola</p>? p { color: red; } .destacado { color: green; } #intro { color: blue; }. Azul. Verde. Rojo. Negro.

¿Qué elementos selecciona la siguiente regla? ul li a { color: #333; text-decoration: none; }. Todos los enlaces <a> que están dentro de elementos <li> de una lista <ul>. Los elementos ul, li y a por separado. Solo el primer enlace de la lista. Los elementos con clase "ul li a".

En la siguiente regla, ¿qué define la propiedad padding? .caja { margin: 20px; padding: 10px; border: 1px solid #000; }. El espacio entre el contenido y el borde de la caja. El espacio exterior alrededor de la caja. El grosor del borde. El tamaño de la letra.

¿Qué hace el siguiente código CSS? @media (max-width: 600px) { .menu { display: none; } }. Oculta el elemento con clase menu cuando el ancho de la pantalla es de 600 px o menos. Oculta el menú solo en pantallas de más de 600 px. Oculta el menú siempre. Fija el ancho del menú en 600 px.

¿Cuál de los siguientes es un ejemplo de estilo en línea?. <p style="color: blue;">Texto</p>. <style> p { color: blue; } </style>. <link rel="stylesheet" href="estilos.css">. p { color: blue; }.

¿Qué efecto produce la siguiente regla? a:hover { color: #ff6600; text-decoration: underline; }. Cambia el color y subraya el enlace mientras el cursor está sobre él. Cambia el color de los enlaces ya visitados. Cambia el color mientras se hace clic en el enlace. Subraya todos los enlaces de forma permanente.

¿Qué imprime el siguiente código? function ejemplo() { var x = 5; if (true) { var x = 10; } console.log(x); } ejemplo();. 10. 5. undefined. Error por redeclarar x.

¿Qué imprime el siguiente código? let y = 5; if (true) { let y = 10; } console.log(y);. 5. 10. undefined. Error por redeclarar y.

¿Qué ocurre al ejecutar el siguiente código? const total = 100; total = 200;. Se produce un error, porque una constante no puede reasignarse. total pasa a valer 200. total sigue valiendo 100 y no ocurre nada. total pasa a valer 300.

¿Qué imprime el siguiente código? const producto = { nombre: "Camisa", precio: 5000 }; producto.precio = 4500; console.log(producto.precio);. 4500. 5000. Error, porque producto es una constante. undefined.

¿Qué imprime el siguiente código? let edad = 25; console.log(edad == '25'); console.log(edad === '25');. true y false. false y true. true y true. false y false.

¿Qué imprime el siguiente código? let precio = 100; console.log(typeof precio);. "number". "string". "int". "object".

¿Qué imprime el siguiente código? let edad = 16; let msg = (edad >= 18) ? "Mayor de edad" : "Menor de edad"; console.log(msg);. Menor de edad. Mayor de edad. true. undefined.

¿Qué imprime el siguiente código? let contador = 0; do { contador++; } while (contador < 0); console.log(contador);. 1. 0. -1. Se produce un bucle infinito.

¿Cuál es la función flecha equivalente a la siguiente función? function calcularImpuesto(precio, tasa) { return precio * tasa; }. const calcularImpuesto = (precio, tasa) => precio * tasa;. const calcularImpuesto => (precio, tasa) { precio * tasa };. let calcularImpuesto = function => precio * tasa;. const calcularImpuesto = (precio, tasa) -> { return precio * tasa };.

¿Qué imprime el siguiente código? let producto = { nombre: "Camisa", precio: 5000, conDescuento: function(d) { return this.precio * (1 - d); } }; console.log(producto.conDescuento(0.2));. 4000. 1000. 5000. NaN.

¿Qué imprime el siguiente código? function Producto(nombre, precio) { this.nombre = nombre; this.precio = precio; } Producto.prototype.mostrar = function() { return this.nombre + " $" + this.precio; }; const p1 = new Producto("Camisa", 5000); console.log(p1.mostrar());. Camisa $5000. undefined $undefined. Error: mostrar no es una función de p1. Producto $5000.

¿Qué imprime el siguiente código? const producto = { nombre: "Camisa", precio: 5000 }; const oferta = Object.create(producto); oferta.descuento = 1000; console.log(oferta.nombre, oferta.descuento);. Camisa 1000. undefined 1000. Camisa undefined. Error.

¿Qué debe ir en la línea marcada para inicializar correctamente las propiedades heredadas? class Producto { constructor(nombre, precio) { this.nombre = nombre; this.precio = precio; } } class Oferta extends Producto { constructor(nombre, precio, descuento) { ________; this.descuento = descuento; } }. super(nombre, precio). this.super(nombre, precio). Producto(nombre, precio). extends(nombre, precio).

¿Qué imprime el siguiente código? let ropa = ["Camisa", "Pantalón", "Remera"]; ropa.push("Campera"); console.log(ropa.length, ropa[1]);. 4 Pantalón. 4 Camisa. 3 Pantalón. 4 Remera.

¿Qué hace el siguiente código? const nuevo = document.createElement('h2'); nuevo.textContent = 'Nuevo contenido'; document.body.appendChild(nuevo);. Crea un <h2> con ese texto y lo agrega al final del body. Reemplaza todo el contenido del body por un <h2>. Crea el <h2> pero no lo muestra en la página. Agrega el <h2> al principio del documento.

¿Qué hace la siguiente línea? document.getElementById('contenido').innerHTML = '<p>Se cambió el contenido</p>';. Reemplaza el contenido del elemento con id "contenido" por un nuevo párrafo. Agrega el párrafo al final sin borrar lo anterior. Cambia el id del elemento a "contenido". Muestra las etiquetas <p> como texto literal.

¿Qué hace el siguiente código? document.addEventListener('DOMContentLoaded', function() { const boton = document.getElementById('miBoton'); boton.addEventListener('click', function() { document.body.style.backgroundColor = 'lightgreen'; }); });. Cuando el DOM terminó de cargarse, asocia al botón un manejador que, al hacer clic, cambia el fondo de la página a verde claro. Cambia el fondo a verde claro apenas se carga la página. Cambia el color del botón al pasar el mouse. No hace nada porque falta el atributo onclick en el HTML.

Se quiere mostrar en la consola cada tecla que presiona el usuario. ¿Qué fragmento es el correcto?. document.addEventListener('keydown', function(e) { console.log(e.key); });. document.addEventListener('click', function(e) { console.log(e.key); });. window.addEventListener('mouseover', function(e) { console.log(e.key); });. document.onload('keydown', console.log);.

¿Cuál de estas etiquetas, ubicada en el <head>, asegura que script.js se ejecute después de que el HTML se haya cargado?. <script src="script.js" defer></script>. <script src="script.js" async></script>. <script href="script.js"></script>. <link rel="script" href="script.js">.

En el modelo cliente-servidor, ¿qué función cumple el servidor?. Recibe y procesa las solicitudes del cliente y luego envía una respuesta. Inicia las solicitudes hacia los clientes. Se encarga exclusivamente de la interfaz de usuario. Traduce nombres de dominio a direcciones IP.

¿Qué función cumple el servidor DNS?. Asociar un nombre de dominio fácil de recordar con la dirección IP del servidor. Encriptar la conexión entre cliente y servidor. Alojar y entregar las páginas web. Interpretar el código HTML, CSS y JavaScript.

Según la lectura, ¿qué elementos incluye una URL? (Seleccione 3). El protocolo a utilizar (HTTP o HTTPS). El dominio. La ruta al archivo solicitado. La dirección MAC del cliente. El código fuente de la página.

¿Qué indica la "S" de HTTPS?. Que la conexión está encriptada mediante protocolos como TLS o SSL. Que el sitio web es estático. Que el servidor es secundario. Que la página usa sesiones de usuario.

¿Qué declara la primera línea <!DOCTYPE html> de un documento?. El tipo de documento. El idioma del contenido. La codificación de caracteres. La hoja de estilos a utilizar.

¿Para qué se utiliza <meta name="viewport" content="width=device-width, initial-scale=1">?. Para configurar la ventana gráfica (la parte visible de la página en el dispositivo). Para definir las palabras clave para buscadores. Para mostrar el título en la pestaña del navegador. Para vincular un archivo JavaScript.

¿Qué elementos se ubican habitualmente en la cabecera <head>? (Seleccione 4). <title>. <meta>. <link>. <script>. <footer>.

¿Qué elemento se emplea para agrupar elementos en línea (palabras o frases) y aplicarles estilos o funcionalidad?. <span>. <div>. <section>. <p>.

¿Cuándo corresponde usar una lista ordenada <ol> en lugar de <ul>?. Cuando el orden de los elementos importa (por ejemplo, una lista de instrucciones). Cuando se desean viñetas. Cuando el orden no es importante. Únicamente para menús de navegación.

¿Cuáles son etiquetas estructurales/semánticas introducidas por HTML5? (Seleccione 5). <header>. <footer>. <section>. <article>. <aside>. <div>.

¿Qué permite CSS?. Separar el contenido estructurado en HTML de su apariencia visual. Definir la estructura y el marcado del documento. Agregar lógica e interactividad a la página. Conectarse a una base de datos.

¿De qué se compone una regla CSS?. De un selector y un bloque de declaraciones (pares propiedad: valor; entre llaves). De etiquetas de apertura y cierre. De funciones y variables. De atributos HTML.

¿Cuáles son las tres técnicas para aplicar estilos a un documento HTML? (Seleccione 3). Estilos en línea (atributo style). Estilos incrustados (<style> en el <head>). Hojas de estilo externas (vinculadas con <link>). Estilos definidos dentro de <script>.

Si se asigna una regla a los elementos <section>, ¿qué ocurre con los <p> que están dentro de <section>?. Heredan esos estilos, salvo que sean sobrescritos por reglas más específicas. No heredan ningún estilo. Se produce un error en la hoja de estilos. Solo heredan los márgenes.

Dadas las reglas section{font-size:20px;color:#000} p{font-size:24px;color:#F00} p.resaltado{font-size:30px;color:#00F}, ¿cómo se muestra <p class="resaltado">?. 30 px y color azul. 24 px y color rojo. 20 px y color negro. 30 px y color rojo.

Según la lectura, ¿cuál es el orden de especificidad de mayor a menor?. Estilo en línea > ID > Clase > Tipo. Tipo > Clase > ID > Estilo en línea. Clase > ID > Tipo > Estilo en línea. ID > Estilo en línea > Clase > Tipo.

¿Qué unidad CSS es relativa al tamaño de letra del documento (raíz)?. rem. em. px. %.

¿Cuáles son pseudo-clases para dar formato a los estados de un enlace? (Seleccione 4). :link. :visited. :hover. :active. :clicked.

¿Qué herramientas ofrece CSS para el diseño responsivo? (Seleccione 3). Unidades de medida flexibles y relativas (por ejemplo, porcentajes). Media queries. Flexbox y Grid Layout. El atributo onclick.

¿Cómo se define JavaScript en la lectura?. Lenguaje de alto nivel, basado en prototipos, interpretado y con funciones de primera clase. Lenguaje compilado y basado en clases. Lenguaje de marcado para estructurar contenido. Lenguaje exclusivo del lado del servidor.

¿Qué significa que JavaScript tenga "funciones de primera clase"?. Que las funciones se tratan como cualquier otra variable (se pasan como argumento, se retornan, se asignan). Que las funciones se ejecutan antes que el resto del código. Que solo pueden declararse dentro de clases. Que son más rápidas que los métodos.

¿Qué ámbito tienen las variables declaradas con var?. De función o global. De bloque. De módulo. Solo global.

¿Qué caracteriza a las variables declaradas con let?. Tienen ámbito de bloque; pueden reasignarse pero no redeclararse en el mismo ámbito. Tienen ámbito de función y pueden redeclararse. No pueden reasignarse. Son siempre globales.

¿Qué caracteriza a const?. Tiene ámbito de bloque, no puede reasignarse y debe inicializarse al declararse. Puede declararse sin valor y asignarse después. Tiene ámbito de función. Puede redeclararse en el mismo bloque.

Declarar un objeto con const impide modificar sus propiedades. Verdadero. Falso.

¿Cuáles son los siete tipos de datos primitivos definidos por ECMAScript? (Seleccione 7). Undefined. Boolean. Number. String. BigInt. Symbol. Null. Object. Function.

¿Cuál es una característica de las funciones de flecha (=>)?. No tienen su propio this (capturan el del contexto) y no pueden usarse con new. Siempre deben tener la palabra clave return. Tienen su propio objeto arguments. Solo pueden usarse como constructores.

Si se accede a una propiedad que no existe en el objeto actual, ¿qué hace JavaScript?. La busca en su prototipo y sigue la cadena de prototipos hasta Object.prototype. Lanza un error de inmediato. Crea la propiedad con valor null. La busca en el objeto window.

¿Qué es el DOM?. Una representación estructural en memoria del documento (árbol de nodos) que permite acceder y manipularlo. Un lenguaje de programación del navegador. Una hoja de estilos predeterminada. El historial del navegador.

¿Cuáles son las tres técnicas para incorporar JavaScript a un documento HTML? (Seleccione 3). Inline (en un atributo como onclick). Interna (dentro de un elemento <script>). Externa (archivo .js vinculado con <script src>). Mediante <link rel="script">.

Según Mozilla, escribir JavaScript inline en los atributos HTML es: Una mala práctica e ineficiente. La forma más recomendada en proyectos grandes. Obligatorio para manejar eventos. La única forma de usar addEventListener.

¿Qué hace el atributo defer en un <script> ubicado en el <head>?. Carga el script en paralelo y lo ejecuta después de que el HTML se cargue, antes del evento DOMContentLoaded. Ejecuta el script en cualquier momento apenas se descarga. Impide que el script se ejecute. Ejecuta el script antes de cargar el HTML.

¿Para qué tipo de scripts es adecuado el atributo async?. Para scripts que no dependen del DOM, ya que su ejecución puede ocurrir en cualquier momento tras su carga. Para scripts que manipulan el DOM apenas carga la página. Para hojas de estilo. Para scripts que deben ejecutarse en orden estricto.

¿Qué devuelve document.getElementById() si no encuentra ningún elemento con el id indicado?. null. undefined. Un arreglo vacío. Un error.

¿Cuándo se ejecuta la función asignada a window.onload?. Cuando la página y todos sus recursos (imágenes, hojas de estilo) terminaron de cargarse. En cuanto el DOM está listo, sin esperar recursos externos. Antes de que comience a cargarse el HTML. Cada vez que el usuario hace clic.

¿Cuál es la principal ventaja de addEventListener frente a asignar la propiedad onclick?. Permite asociar múltiples manejadores al mismo evento en el mismo elemento. Es la única forma de responder a clics. No requiere seleccionar el elemento. Se ejecuta más rápido que cualquier otro método.

Si tenemos una aplicación web para venta online, ¿quién inicia la petición web bajo el protocolo HTTP?. El cliente. El servidor. El controlador. La base de datos. El navegador automáticamente.

¿Cuál es la petición del protocolo HTTP que permite obtener un recurso que está disponible en el servidor?. GET. POST. PUT. DELETE. PATCH.

Para obtener recursos de un servidor web, los clientes envían peticiones mediante el protocolo SMTP. Verdadero. Falso.

La arquitectura en capas permite que cada capa se comunique directamente con cualquier otra capa, facilitando así la integración entre las distintas partes de la aplicación. Verdadero. Falso.

En Spring Boot, la configuración de una aplicación se realiza completamente mediante archivos XML. Verdadero. Falso.

La persistencia en Java permite que los datos se almacenen de manera duradera en un sistema de almacenamiento, como una base de datos, para ser recuperados y utilizados en futuras ejecuciones de la aplicación. Verdadero. Falso.

El Lenguaje de Definición de Datos (DDL) en SQL se utiliza exclusivamente para manipular los datos almacenados en una base de datos. Verdadero. Falso.

En Spring Data JPA, los repositorios se definen como interfaces que extienden ______, proporcionando métodos listos para usar para operaciones de acceso a datos. JpaRepository. EntityManager. JdbcTemplate. HttpServlet.

¿Qué ocurre cuando el usuario accede a la raíz "/" de la aplicación? @Controller public class Controlador { @GetMapping("/") public String info(Model modelo) { modelo.addAttribute("mensaje", "Universidad Siglo 21"); return "info"; } }. Se agrega el atributo "mensaje" al modelo y se renderiza la plantilla info.html. Se devuelve el texto "info" como respuesta JSON. Se redirige al usuario a la URL /info. Se guarda "mensaje" en la base de datos.

Si el controlador hizo modelo.addAttribute("mensaje", "Universidad Siglo 21"), ¿qué muestra la siguiente línea de la plantilla? <h1 th:text="${mensaje}">Título</h1>. Universidad Siglo 21. Título. ${mensaje}. mensaje.

Si "elementos" es una lista con 3 objetos, ¿qué genera el siguiente fragmento? <ul> <li th:each="elemento : ${elementos}" th:text="${elemento.nombre}"></li> </ul>. Tres elementos <li>, cada uno con el nombre de un elemento de la lista. Un único <li> con la lista completa. Una lista vacía. Un error, porque th:each no puede combinarse con th:text.

El controlador agrega al modelo una lista llamada "productos". ¿Qué línea permite mostrar una fila de tabla por cada producto?. <tr th:each="producto : ${productos}">. <tr th:text="${productos}">. <tr th:if="producto : ${productos}">. <tr each="${productos}">.

Si la variable "mostrar" vale false, ¿qué ocurre con el siguiente párrafo? <p th:if="${mostrar}">Este texto se muestra si 'mostrar' es verdadero.</p>. No se muestra. Se muestra igual. Se muestra el texto "false". Se produce un error.

Si se accede a la URL /articulos/25, ¿qué valor recibe el parámetro idArticulo? @GetMapping("/articulos/{idArticulo}") public String obtenerArticulo(@PathVariable("idArticulo") Long idArticulo, Model modelo) { return "articulo"; }. 25. "articulos". null. "/articulos/25".

Si se accede a /buscar?consulta=camisa, ¿qué valor recibe el parámetro consulta? @GetMapping("/buscar") public String buscar(@RequestParam("consulta") String consulta, Model modelo) { return "resultadosBusqueda"; }. "camisa". "buscar". null. "consulta=camisa".

El método recibe los datos de un formulario enviado por el usuario. ¿Qué anotación va en la línea marcada? ________("/enviarFormulario") public String enviarFormulario(@ModelAttribute("datosFormulario") DatosFormulario datos) { return "resultado"; }. @PostMapping. @GetMapping. @PathVariable. @ResponseBody.

¿Qué devuelve el siguiente método al ser invocado? @GetMapping("/api/datos") @ResponseBody public Datos obtenerDatos() { return new Datos("ejemplo"); }. El objeto escrito directamente en la respuesta HTTP (por ejemplo, como JSON), sin buscar una vista. La plantilla datos.html. Una redirección a /api. Nada, porque falta el objeto Model.

Con @RequestMapping("/productos") sobre la clase, ¿a qué URL responde el método mostrarFormulario? @Controller @RequestMapping("/productos") public class ProductoController { @GetMapping("/nuevo") public String mostrarFormulario(Model modelo) { return "formulario"; } }. /productos/nuevo. /nuevo. /productos. /formulario.

¿Qué ocurre si en este controlador se elimina la anotación @Autowired? @Controller public class ProductoControlador { @Autowired private ProductoServicio productoServicio; }. Spring no inyecta el servicio: el atributo queda en null y al usarlo se produce un error. Spring crea igualmente la instancia del servicio. El controlador deja de responder a las solicitudes HTTP. El servicio pasa a ser una entidad JPA.

¿Qué hace Spring con la siguiente clase al arrancar? @Configuration public class ConfiguracionApp { @Bean public ServicioUsuario servicioUsuario() { return new ServicioUsuario(); } }. Ejecuta servicioUsuario() y registra el objeto devuelto como bean en el contexto de la aplicación. Crea una tabla servicio_usuario en la base de datos. Expone servicioUsuario() como endpoint HTTP. Nada, porque falta la anotación @Service.

¿Qué se logra al agregar la siguiente dependencia al pom.xml de un proyecto Spring Boot? <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-thymeleaf</artifactId> </dependency>. Incorporar Thymeleaf; Spring Boot lo configura automáticamente. Crear automáticamente las plantillas HTML. Conectar la aplicación a MySQL. Generar el archivo application.properties.

Dado el siguiente archivo application.properties, ¿qué afirmaciones son correctas? (Seleccione 3) spring.datasource.url=jdbc:mysql://127.0.0.1:3306/demo_jpa spring.datasource.username=root spring.jpa.hibernate.ddl-auto=update spring.jpa.show-sql=true. La aplicación se conecta a la base demo_jpa de MySQL en el puerto 3306. Hibernate actualiza el esquema de la base según las entidades. Se muestran las consultas SQL que se ejecutan. La aplicación web queda disponible en el puerto 3306.

Según el siguiente código, ¿cuál afirmación es correcta? @Entity @Table(name = "usuarios") public class Usuario { @Id @GeneratedValue(strategy = GenerationType.IDENTITY) private Long id; @Column(name = "nombre_usuario", nullable = false) private String nombre; }. La tabla se llama "usuarios", la base de datos genera el id y la columna nombre_usuario no admite nulos. La tabla se llama "Usuario" porque @Table se ignora. El id debe asignarse manualmente antes de guardar. La columna del nombre se llama "nombre" y admite nulos.

¿Qué expresa el siguiente mapeo dentro de la entidad Orden? @ManyToOne @JoinColumn(name = "usuario_id") private Usuario usuario;. Muchas órdenes se relacionan con un mismo usuario, mediante la columna usuario_id (clave foránea). Cada orden tiene exactamente un usuario y cada usuario una sola orden. Una relación muchos a muchos con tabla de unión. usuario_id es la clave primaria de la tabla Orden.

Sobre el siguiente repositorio, ¿qué afirmaciones son correctas? (Seleccione 3) public interface ProductoRepositorio extends JpaRepository<Producto, Long> { }. Producto es la entidad que gestiona el repositorio. Long es el tipo de la clave primaria de Producto. Hereda métodos como save, findAll, findById y deleteById sin necesidad de implementarlos. Hay que escribir una clase que implemente findAll().

¿Qué tipo de consulta se define en el siguiente método de repositorio? @Query("SELECT u FROM Usuario u WHERE u.nombre = :nombre") List<Usuario> findByNombre(@Param("nombre") String nombre);. Una consulta JPQL personalizada, escrita sobre la entidad Usuario y no sobre la tabla. Una consulta SQL nativa sobre la tabla usuarios. Una consulta generada solo por el nombre del método, sin @Query. Una expresión de Thymeleaf.

Si no existe un usuario con id 1, ¿qué contiene la variable u? Optional<Usuario> u = usuarioRepository.findById(1L);. Un Optional vacío. null. Un usuario nuevo con id 1. Se lanza una excepción en esa línea.

¿Qué ocurre al ejecutar el siguiente código, si Usuario tiene un id autogenerado? Usuario u = new Usuario(); u.setNombre("Ana"); usuarioRepository.save(u);. Se inserta un nuevo registro y la base genera el id. Se actualiza el usuario con id 1. Se produce un error porque falta el id. No se guarda nada hasta llamar a update().

¿Qué hace la siguiente sentencia SQL? SELECT nombre, precio FROM producto WHERE precio > 1000;. Recupera el nombre y el precio de los productos cuyo precio es mayor a 1000. Actualiza el precio de los productos a más de 1000. Elimina los productos con precio mayor a 1000. Crea una tabla con las columnas nombre y precio.

¿Cuál de las siguientes sentencias pertenece al Lenguaje de Definición de Datos (DDL)?. ALTER TABLE producto ADD stock INT;. INSERT INTO producto (nombre) VALUES ('Camisa');. UPDATE producto SET precio = 500;. SELECT * FROM producto;.

¿Qué hace la siguiente sentencia y a qué sublenguaje de SQL pertenece? GRANT SELECT ON producto TO analista;. Otorga al usuario analista permiso para consultar la tabla producto (DCL). Crea la tabla producto para el usuario analista (DDL). Inserta al usuario analista en la tabla producto (DML). Quita al usuario analista el permiso de consulta (DCL).

En una plantilla de formulario, ¿qué hace el siguiente campo? <input type="text" th:field="*{nombre}">. Enlaza el campo del formulario con el atributo nombre del objeto del formulario (por ejemplo, Producto). Muestra el texto "nombre" fijo en el campo. Itera sobre una lista de nombres. Envía el formulario por GET.

¿A qué tecnología corresponde el siguiente fragmento? <% for (Usuario usuario : usuarios) { %> <tr><td><%= usuario.getNombre() %></td></tr> <% } %>. JSP: código Java embebido en HTML que se compila en un servlet. Thymeleaf. JSF. JavaScript del lado del cliente.

¿A qué tecnología corresponde el siguiente fragmento? <h:dataTable value="#{usuarioBean.usuarios}" var="usuario"> <h:column><h:outputText value="#{usuario.nombre}" /></h:column> </h:dataTable>. JSF (JavaServer Faces), definido en un archivo XHTML. JSP con scriptlets. Thymeleaf. Un servlet.

¿Qué es Java EE (Jakarta EE)?. Una plataforma con una colección de especificaciones para desarrollar, desplegar y gestionar aplicaciones empresariales distribuidas multicapa. Un IDE para programar en Java. Un servidor web estático. Una librería de JavaScript.

¿Qué caracteriza a la arquitectura monolítica?. La aplicación se desarrolla como una única unidad y todo se empaqueta en un solo artefacto. La aplicación se divide en servicios independientes que se comunican por HTTP. Cada capa se despliega en un servidor distinto. Depende de múltiples componentes externos.

¿Cuáles son las capas de la arquitectura en capas descripta en la lectura? (Seleccione 4). Capa de presentación (UI). Capa de negocio (Servicios). Capa de persistencia (DAO). Capa de datos. Capa de microservicios.

En el patrón MVC, ¿de qué se encarga el Modelo?. De la lógica de negocio y de los datos (estado) de la aplicación. De presentar la información al usuario. De recibir los clics del usuario. De definir los estilos de la interfaz.

En el patrón MVC, ¿qué hace el Controlador?. Actúa como intermediario: maneja las entradas del usuario, las procesa y actualiza el modelo o la vista. Almacena los datos en la base de datos. Define la estructura HTML de la página. Representa el estado de la aplicación.

¿En qué se basa el patrón de microservicios?. En descomponer la aplicación en componentes independientes, cada uno con una responsabilidad específica. En agrupar toda la funcionalidad en un único bloque de código. En usar una sola base de datos compartida sin interfaces. En eliminar la comunicación entre módulos.

En la arquitectura n-capas, ¿qué capa encapsula la lógica de negocio principal y es la abstracción entre controladores y acceso a datos?. Capa de servicio. Capa de presentación. Capa de datos. Capa de dominio.

En una arquitectura típica con Spring Boot, ¿cómo se implementa la capa de dominio?. Con clases POJO que pueden anotarse con @Entity si se usa JPA. Con interfaces que extienden JpaRepository. Con clases anotadas con @Controller. Con plantillas Thymeleaf.

En Maven, ¿qué datos especifican una dependencia en el pom.xml? (Seleccione 3). groupId. artifactId. version. packageName.

¿Qué características definen a un JavaBean? (Seleccione 3). Constructor público sin argumentos. Propiedades accesibles mediante getters y setters. Implementa la interfaz Serializable. Extiende de HttpServlet.

¿Qué diferencia a los beans de Spring de los JavaBeans clásicos?. No siempre necesitan ser Serializable y el framework gestiona su creación, configuración y ciclo de vida (inyección de dependencias). Deben implementar obligatoriamente Serializable. Solo pueden crearse con new. Solo existen en aplicaciones de escritorio.

¿Qué es un POJO?. Plain Old Java Object: un objeto simple sin restricciones ni dependencias de un framework o contenedor. Un objeto que extiende HttpServlet. Un componente EJB. Un archivo de empaquetado.

¿Cuál de las siguientes clases NO es un POJO?. Una clase que extiende HttpServlet. public class Persona con atributos privados y getters/setters. Una clase con constructor y propiedades. Una clase que hereda de otra clase propia sin frameworks.

¿Qué tecnologías menciona la lectura como legacy en el desarrollo web Java? (Seleccione 3). Servlets y JSP. EJB. JDBC. Spring Boot.

¿Qué tecnología de vista ofrece, según la lectura, una mejor separación entre lógica y presentación que JSP?. Thymeleaf. Servlets. JDBC. EJB.

¿Qué es Thymeleaf?. Un motor de plantillas para Java que genera contenido HTML dinámico. Un framework de persistencia. Un servidor embebido. Una herramienta de construcción.

Si en fragmentos.html se define <div th:fragment="encabezado">, ¿cómo se incluye en otra plantilla?. <div th:replace="fragmentos :: encabezado"></div>. <div th:each="fragmentos.encabezado"></div>. <div th:text="encabezado"></div>. <include file="fragmentos.html">.

¿Cómo se llama el contenedor donde Spring gestiona el ciclo de vida de los beans?. Contexto de aplicación Spring. Contenedor EJB. Repositorio Maven. Servidor de plantillas.

¿Cuál es el patrón principal que utiliza Spring para conectar los beans?. La inyección de dependencias (DI). El patrón Singleton exclusivamente. El patrón DAO. Herencia de clases.

¿Cuál es el objetivo principal de Spring Boot?. Simplificar la creación de aplicaciones listas para producción con la menor configuración posible (configuración automática). Reemplazar a Java como lenguaje. Generar páginas estáticas. Administrar bases de datos NoSQL.

Una aplicación Spring Boot necesita obligatoriamente un servidor de aplicaciones externo para ejecutarse. Verdadero. Falso.

¿Para qué sirve Spring Initializr (start.spring.io)?. Para generar la estructura básica de un proyecto Spring Boot con su configuración y dependencias. Para desplegar la aplicación en producción. Para crear la base de datos. Para ejecutar pruebas unitarias.

¿Qué indica la anotación @SpringBootApplication?. Marca la clase principal (punto de entrada) habilitando la configuración automática de Spring Boot. Define un controlador REST. Marca una entidad JPA. Declara un repositorio.

¿Para qué se usa el archivo application.properties?. Para definir propiedades de la aplicación como el puerto del servidor o la configuración de la base de datos. Para definir las vistas HTML. Para declarar las dependencias Maven. Para escribir consultas SQL.

¿En qué carpeta deben ubicarse las plantillas Thymeleaf?. src/main/resources/templates. src/main/resources/static. src/main/java. src/test/resources.

¿Qué función cumple el objeto Model en un controlador Spring MVC?. Actúa como contenedor para llevar datos del controlador a la vista (mediante addAttribute). Representa una tabla de la base de datos. Define la ruta del controlador. Gestiona las transacciones.

¿Qué es el ORM (Object-Relational Mapping)?. Una técnica que permite trabajar con bases de datos relacionales con un enfoque orientado a objetos, traduciendo operaciones sobre objetos en operaciones sobre la base. Un motor de base de datos NoSQL. Un lenguaje de consultas. Un servidor de aplicaciones.

Según Ambler & Sadalage, ¿cuáles son los cinco desajustes entre POO y bases relacionales? (Seleccione 5). Granularidad. Subtipos (herencia). Identidad. Asociaciones. Navegación en los datos. Normalización.

¿Cuáles son ventajas de usar un ORM? (Seleccione 3). El modelo de datos se define en un solo lugar. Evita escribir sentencias SQL incorrectas o poco optimizadas. Fomenta una arquitectura de código más estructurada. Siempre supera en rendimiento al SQL directo en consultas complejas.

¿Cuál es una desventaja del ORM según la lectura?. En consultas muy complejas el SQL directo funciona mejor y hay que aprender a configurarlo. No permite cambiar de motor de base de datos. Obliga a escribir todo el SQL a mano. No soporta relaciones entre entidades.

¿Qué es JDBC?. La API de Java para interactuar directamente con bases de datos relacionales mediante SQL. Una implementación de JPA. Un motor de plantillas. Un framework MVC.

¿Qué es JPA según la lectura?. Una especificación que define cómo mapear objetos Java a tablas; no es una herramienta de acceso a datos que se use directamente. Una implementación concreta de un ORM. Un driver de MySQL. Un servidor embebido.

En Hibernate, ¿qué diferencia hay entre la caché de nivel 1 y la de nivel 2?. La de nivel 1 es específica de una sesión; la de nivel 2 es global y se comparte entre sesiones. La de nivel 1 es global; la de nivel 2 es por sesión. Ambas son globales. Solo existe caché de nivel 1.

¿Qué es Lazy Loading en Hibernate?. La carga diferida de datos: se cargan solo cuando realmente se necesitan. La carga de todos los datos al iniciar la aplicación. Un tipo de caché global. Un método de JpaRepository.

¿Cuál es uno de los principales beneficios de Spring Data JPA?. Genera automáticamente implementaciones de los métodos de consulta definidos en las interfaces de repositorio. Reemplaza a la base de datos. Obliga a escribir las consultas SQL manualmente. Solo funciona con EclipseLink.

¿Qué anotación define una relación muchos a muchos, generalmente con una tabla de unión (@JoinTable)?. @ManyToMany. @OneToMany. @ManyToOne. @OneToOne.

¿Qué es SQL?. Un lenguaje declarativo estándar de acceso a bases de datos relacionales, desarrollado por IBM en los años 70. Un lenguaje de programación orientado a objetos. Una base de datos NoSQL. Un framework de Java.

¿Cuáles son sentencias DDL (Lenguaje de Definición de Datos)? (Seleccione 4). CREATE TABLE. ALTER TABLE. DROP TABLE. CREATE INDEX. INSERT INTO.

¿Cuáles son comandos DCL (Lenguaje de Control de Acceso)? (Seleccione 2). GRANT. REVOKE. COMMIT. ALTER.

¿Qué es una clave primaria?. Una columna o conjunto de columnas que identifica de manera única cada fila; con valores únicos y no nulos. Una columna que referencia a otra tabla. Un índice opcional. Una vista almacenada.

¿Qué es una clave foránea?. Una columna que establece y mantiene la relación con la clave primaria de otra tabla. La columna que identifica cada fila de su tabla. Un permiso de acceso. Una consulta almacenada.

¿Qué busca el método findByNombreContaining("Juan")?. Usuarios cuyo nombre contiene "Juan" en cualquier parte. Usuarios con nombre exactamente "Juan". Usuarios cuyo nombre empieza con "Juan" únicamente. Todos los usuarios ordenados por nombre.

¿Qué jerarquía tiene JpaRepository?. Extiende PagingAndSortingRepository, que a su vez extiende CrudRepository. Extiende EntityManager. Extiende HttpServlet. No extiende ninguna interfaz.

Indique alguna tarea por la cual utilizaría Maven: Gestionar dependencias. Diseñar interfaces gráficas. Compilar código JavaScript. Crear bases de datos. Implementar el patrón MVC.

Si tengo un proyecto en Spring MVC y quiero agregar mapeo ORM utilizando Hibernate, ¿qué debería hacer?. Configurar las dependencias necesarias en el archivo pom.xml. Configurar las dependencias necesarias en el archivo main.xml. Instalar un plugin en el IDE. Modificar solamente el web.xml. Cambiar el servidor de aplicaciones.

¿Cuál es la unidad básica de trabajo o archivo en el que se basa Maven y que contiene toda la información del proyecto?. POM (Project Object Model). JAR (Java Archive). WAR (Web Archive). build.xml.

¿Qué tipo de archivo agrupa en Java a un conjunto de clases y documentos que conforman una aplicación web?. WAR. JAR. EAR. RAR. ZIP.

Indique sentencias válidas con respecto a la plataforma Java EE: (Seleccione 4). Proporciona acceso simplificado a recursos mediante la inyección de dependencia. Las aplicaciones web utilizan archivos .WAR. Las aplicaciones empresariales utilizan archivos .EAR. El directorio lib contiene archivos .JAR compartidos. Las aplicaciones web utilizan archivos .RAR.

Identifique sentencias válidas referentes al patrón de inyección de dependencias: (Seleccione 2). Puede aplicarse a todos los recursos que necesite un componente. Una entidad externa proporciona automáticamente las dependencias de un objeto. Aplicándola, el objeto necesita solicitar los recursos de manera explícita. El objeto debe crear sus propias dependencias.

Si hablamos de un desarrollo en Java bajo el patrón MVC, ¿qué elemento recibe las peticiones?. El controlador. El modelo. La vista. El servidor. La base de datos.

Si en mi aplicación web desarrollada en Spring MVC tengo un POJO "Usuarios", ¿dónde encontraré ese archivo?. En el modelo. En la vista. En el controlador. En el contenedor. En la configuración.

¿Dónde encontramos las clases de entidades en MVC?. En el modelo. En la vista. En el controlador. En los servicios.

Para establecer los aspectos básicos en cuanto a la implementación de nuestro sistema, debemos establecer la arquitectura del framework. ¿Cuál opción muestra tales aspectos?. Modelo ==> Vista ==> Controlador. Datos ==> Modelo ==> Servlet. Vista ==> Controlador ==> Modelo. Solo Vista y Modelo.

Luis desarrolla un sitio web para consultar disponibilidad de autos en alquiler y propuso una arquitectura en capas. ¿Qué ventaja le proporciona este tipo de estructura?. Facilidad de reutilización y mantenimiento. Menor complejidad y mayor escalabilidad. Menor utilización de recursos. Código más acoplado. Facilita el desarrollo de las pruebas.

Al desarrollar páginas web dinámicas basadas en HTML y XML con JSP, ¿en qué se convierten?. En servlets. En applets. En JavaScript. En HTML puro.

En una aplicación JEE, ¿cuál de los siguientes elementos se considera dinámico?. Servlets. Imágenes. Archivos CSS. Archivos HTML estáticos. Documentos PDF.

Si estamos desarrollando una aplicación web que utilizará servlets y páginas JSP para mostrar contenido, ¿qué necesitamos como mínimo?. Contenedor de servlets. Servidor web como Apache HTTP. Servidor de aplicaciones completo. Base de datos.

Indique un framework válido para desarrollo de aplicaciones Java EE del listado siguiente: Struts. Scrum. React. Angular. Django.

¿Cuál definición sería la correcta para identificar Spring?. Es un framework de inyección de dependencias. Es un lenguaje de programación. Es un sistema de gestión de bases de datos. Es un servidor de aplicaciones.

¿Con qué anotación especificamos un controlador REST en Spring?. @RestController. @Controller. @Service. @Repository.

¿Cuáles son los métodos que implementa típicamente un POJO?. Métodos getters y setters. Métodos CRUD. Métodos de validación. Métodos de ciclo de vida del servlet.

¿Cuál de las siguientes líneas de código podría aparecer en un POJO?. public class Persona. extends HttpServlet. @Service. @Controller.

¿Qué métodos se pueden aplicar para la implementación del patrón DAO (capa de persistencia)?. Métodos CRUD. Métodos de ordenamiento. Métodos de transformación gráfica. Métodos de encriptación avanzada.

Juan mapea una clase Alumno anotada con @Table(name="Alumno"), @Id y @Column, pero falta la anotación que la marca como bean de entidad. ¿Cuál falta?. @Entity. @Table. @Column. @Id.

¿Cómo se conoce a la técnica que nos permite trabajar con bases de datos relacionales desde un lenguaje de programación orientado a objetos?. ORM. JDBC. SQL. HQL.

¿Cómo se conoce a la capacidad de los objetos Java para guardarse y recuperarse desde un medio de almacenamiento?. Persistencia. Serialización. Cacheo. Mapeo.

¿Cómo se conoce comúnmente a la diferencia entre tecnologías de objetos y tecnologías relacionales?. Desajuste por impedancia (objeto-relacional). Conflicto de paradigmas. Normalización de datos. Integración de bases.

¿Cómo se llama a un modelo de objetos que posee más clases que el número de tablas en el modelo relacional?. Modelo de objetos más granular. Modelo de objetos menos granular. Modelo de objetos plano. Modelo de objetos jerárquico.

Las referencias unidireccionales en objetos frente a las claves foráneas (FK) en SQL corresponden al desajuste de: Asociación. Granularidad. Subtipo. Composición.

¿Cómo son las asociaciones en el modelo de objetos (Java/Hibernate)?. Unidireccionales. Bidireccionales. Circulares. Multidireccionales.

Al usar un ORM nos abstraemos de la base de datos. Verdadero. Falso.

Es una ventaja de Hibernate (ORM) poder cambiar de base de datos con poco esfuerzo. Verdadero. Falso.

¿Qué especificación decimos que Hibernate implementa comúnmente?. JPA. JDBC. JMS. JNDI.

¿Cuáles son los tipos de relaciones entre entidades que considera Hibernate/JPA? (Seleccione 4). Uno a uno. Uno a muchos. Muchos a uno. Muchos a muchos. Dos a uno.

¿Cómo se conoce el modelo de base de datos que representa datos mediante tablas con atributos que permiten establecer relaciones entre ellas?. Relacional. Jerárquico. Documental. En red.

¿Cuáles son sentencias del lenguaje de manipulación de datos (DML) de SQL? (Seleccione 4). SELECT. INSERT. UPDATE. DELETE. CREATE.

En una sentencia SQL, ¿con qué carácter separamos las tablas que vamos a consultar en la cláusula FROM?. , (coma). ; (punto y coma). . (punto). | (barra vertical).

¿Qué realiza la sentencia SQL "UPDATE motos SET baja=0"?. Actualiza todos los registros de la tabla "motos" modificando su campo "baja" con el valor 0. Inserta un nuevo registro con baja = 0. Borra los registros con baja = 0. Selecciona los registros con baja = 0.

Denunciar Test