En HTML, ¿cómo se envía un formulario con GET o con POST?
Respuesta correcta: A) A) Con el atributo method del form: method="GET" o method="POST"
Por qué: La forma canónica es <form action="/ruta" method="GET"> o method="POST".
Practicum · Quiz de repaso C1
Preguntas no tan convencionales: forms GET/POST, web, redes, BD, POO y usabilidad.
Nota: preguntas de repaso generadas a partir de curadurÃa Q1–Q4 + R1–R6 y cultura web. Las respuestas se verificaron contra la fuente canónica (Nielsen Norman Group) y el material del curso.
En HTML, ¿cómo se envía un formulario con GET o con POST?
Respuesta correcta: A) A) Con el atributo method del form: method="GET" o method="POST"
Por qué: La forma canónica es <form action="/ruta" method="GET"> o method="POST".
¿Cuál es la diferencia principal entre GET y POST al enviar un formulario?
Respuesta correcta: A) A) GET envía los datos visibles en la URL y POST los envía en el cuerpo de la petición
Por qué: GET: ?q=algo visible, cacheable, con límite de longitud. POST: cuerpo, para datos sensibles o grandes.
¿Qué pasa si un <form> no tiene atributo method (ni GET ni POST)?
Respuesta correcta: A) A) El navegador lo envía como GET por defecto
Por qué: Por especificación HTML el valor por defecto de method es GET; un valor inválido también se comporta como GET.
¿En HTML, qué propiedad es obligatoria en un <input> para que su valor se envíe en el formulario?
Respuesta correcta: B) B) name
Por qué: Solo los controles con atributo name generan pares nombre=valor al enviar; id/class son para JS/CSS.
¿Cuáles de estas afirmaciones sobre GET son correctas?
Respuesta correcta: C) C) Los datos viajan visibles en la URL
Por qué: La esperada es C. La B también es cierta en la práctica (límite de URL y cacheable), pero la marca canónica es C.
En PHP, ¿qué opción se utiliza para enviar datos desde un formulario al servidor sin mostrarlos en la URL?
Respuesta correcta: B) B) $_POST
Por qué: $_POST lee el cuerpo de la petición; $_GET lee la query de la URL.
Si un login olvida method="POST" y queda en GET, ¿qué riesgo hay?
Respuesta correcta: B) B) La clave queda expuesta en la URL, historial y logs
Por qué: Nunca enviar contraseñas por GET: quedan en historial, caché, proxies y logs.
¿Qué es una API?
Respuesta correcta: A) A) Un conjunto de funciones y protocolos que permiten la comunicación entre aplicaciones
Por qué: API = contrato para que dos programas se hablen (endpoints, parámetros, respuestas).
En el modelo entidad-relación, ¿una relación se representa con qué figura?
Respuesta correcta: C) C) Rombo
Por qué: Entidad=rectángulo, atributo=óvalo, relación=rombo.
En el modelo entidad-relación, ¿a la fila de una tabla de datos se le conoce como?
Respuesta correcta: A) A) Tupla
Por qué: Fila=tupla/registro, columna=atributo/campo.
¿Qué medida de tendencia central es menos afectada por valores atípicos?
Respuesta correcta: A) A) Mediana
Por qué: La media se deja arrastrar por outliers; la mediana es robusta.
¿Cuál es el rol principal de un servidor web en una red?
Respuesta correcta: A) A) Servir contenido web
Por qué: Responde peticiones HTTP con HTML/CSS/JS o datos.
Es un seguimiento que usa sensores internos del visor para rastrear la posición del usuario.
Respuesta correcta: A) A) Inside-out
Por qué: Inside-out: cámaras/sensores dentro del visor; outside-in: sensores externos en la habitación.
¿Qué se entiende por 'instancia' en programación orientada a objetos?
Respuesta correcta: A) A) Un objeto creado a partir de una clase
Por qué: Clase=molde, objeto/instancia=ejemplar creado con new.
¿Cuál es la capa del Modelo OSI que proporciona la interfaz directa entre el usuario y los servicios de red?
Respuesta correcta: A) A) Aplicación
Por qué: Capa 7 Aplicación: HTTP, FTP, DNS, etc.
¿Cuántos hosts utilizables hay en una subred con máscara /27?
Respuesta correcta: B) B) 30
Por qué: Máscara /27 deja 5 bits de host: 2^5 - 2 = 30 utilizables.
¿Cuándo resulta más conveniente usar UDP en lugar de TCP?
Respuesta correcta: B) B) En una videollamada en tiempo real
Por qué: UDP es rápido y sin retransmisión: ideal para voz/video donde importa la latencia.
¿Qué elemento de hardware opera en la Capa de Enlace de Datos del Modelo OSI?
Respuesta correcta: B) B) Switch Ethernet
Por qué: Switch usa direcciones MAC (capa 2); el router trabaja en capa 3 (IP).
¿Cuál es el identificador que utiliza la Capa de Enlace de Datos para direccionar dispositivos?
Respuesta correcta: B) B) Dirección MAC
Por qué: MAC=física (capa 2), IP=lógica (capa 3).
En la Capa de Transporte, ¿qué protocolo proporciona control de flujo y detección de errores?
Respuesta correcta: B) B) TCP
Por qué: TCP es orientado a conexión y fiable; UDP es rápido pero no garantiza entrega.
¿De qué se encarga la Capa de Sesión del Modelo OSI?
Respuesta correcta: A) A) Establecer, mantener y finalizar la comunicación entre aplicaciones
Por qué: Sesión (capa 5): checkpoints y reanudación tras interrupciones.
El código muestra un fragmento de HTML al que se le aplicó un diseño en CSS. ¿Qué color tendrá el párrafo si gana #principal .contenido?
Respuesta correcta: A) A) Púrpura (purple)
Por qué: Especificidad CSS: #principal .contenido (1,1,0) gana a las demás reglas => purple.
Al bloque <div id="principal" class="caja"> se le aplicó estilo por etiqueta, clase e id. ¿Qué color de fondo tendrá?
Respuesta correcta: C) C) lightcoral
Por qué: El selector #principal (id) tiene mayor prioridad que .caja y div => lightcoral.
En CSS, ¿qué diferencia hay entre px, % , vw/vh y rem?
Respuesta correcta: A) A) px es fijo, % es relativo al contenedor, vw/vh al viewport y rem a la raíz
Por qué: px=absoluto; %=padre; vw/vh=1% del viewport; rem=font-size del <html>.
¿Cuál es una forma válida de seleccionar un elemento por id en JavaScript?
Respuesta correcta: A) A) document.getElementById("id")
Por qué: getElementById devuelve un elemento; getElementsByClassName devuelve una colección.
En JavaScript, ¿qué diferencia hay entre == y ===?
Respuesta correcta: A) A) == compara con conversión de tipo y === compara sin conversión (valor y tipo)
Por qué: "5" == 5 es true, pero "5" === 5 es false.
¿Qué es el cortocircuito (short-circuit) en && y ||?
Respuesta correcta: A) A) El segundo operando no se evalúa si el primero ya decide el resultado
Por qué: false && X no evalúa X; true || X no evalúa X.
¿Cuándo usar while y cuándo for?
Respuesta correcta: A) A) for cuando sabes cuántas veces iterar, while cuando depende de una condición
Por qué: for=iteraciones contadas (range/lista); while=condición de salida.
Una tienda muestra "Producto añadido" pero el carrito no actualiza el número visiblemente. ¿Qué heurística de Nielsen falla?
Respuesta correcta: A) A) Visibilidad del estado del sistema
Por qué: Heurística 1: el sistema debe informar qué está pasando.
Una app de correo permite deshacer el envío durante 30 segundos. ¿Qué heurística aplica?
Respuesta correcta: A) A) Control y libertad del usuario
Por qué: Heurística 3: salida de emergencia / deshacer.
Un formulario de pago no muestra en qué paso vas (1 de 3, 2 de 3...). ¿Qué heurística se viola?
Respuesta correcta: A) A) Visibilidad del estado del sistema
Por qué: Sin indicador de progreso el usuario no sabe cuánto falta.
Todos los formularios de un banco usan el mismo botón verde Aceptar abajo a la derecha. ¿Qué heurística aplica?
Respuesta correcta: A) A) Consistencia y estándares
Por qué: Heurística 4: seguir convenciones y ser consistente.
¿Qué principio heurístico destaca informar al usuario sobre lo que está sucediendo en el sistema?
Respuesta correcta: A) A) Visibilidad del estado del sistema
Por qué: Barras de progreso, spinners, confirmaciones = heurística 1.
¿Qué es la refactorización de código?
Respuesta correcta: A) A) Reestructurar el código sin cambiar su comportamiento para hacerlo más legible
Por qué: Refactor = misma funcionalidad, mejor estructura.
¿Qué significa que GET sea idempotente y cacheable en cultura web?
Respuesta correcta: A) A) Puedes repetirlo y marcarlo sin cambiar nada en el servidor
Por qué: GET es para leer: seguro e idempotente. POST es para cambiar estado.
Si ves una URL como /perfil?user=ana&tab=fotos, ¿qué método se usó probablemente?
Respuesta correcta: A) A) GET, porque los datos van en la query de la URL
Por qué: Query string ?a=b&c=d es la firma típica de GET.
¿Qué es un módulo en programación?
Respuesta correcta: A) A) Un archivo o bloque que agrupa funciones, clases o variables reutilizables
Por qué: Módulo = pieza reutilizable para organizar y no repetir código.
En Python, ¿cómo se usa un módulo de la librería estándar para calcular una raíz cuadrada?
Respuesta correcta: A) A) import math / math.sqrt(16)
Por qué: En Python los módulos se importan con import y se usan como modulo.funcion.
En JavaScript moderno, ¿cómo se exporta e importa una función entre módulos?
Respuesta correcta: A) A) export function suma(){} / import { suma } from \"./mate.js\"
Por qué: ES modules: export para exponer, import para consumir.
¿Cuál es la ventaja principal de dividir un programa en módulos?
Respuesta correcta: A) A) Reutilizar, organizar y evitar un archivo gigante difícil de mantener
Por qué: Modularizar = piezas pequeñas, probables y reutilizables.
En Java, ¿cómo se organiza el código en módulos/paquetes para usar una lista?
Respuesta correcta: A) A) import java.util.ArrayList;
Por qué: Java agrupa clases en paquetes; se importan con import paquete.Clase.
¿Qué diferencia hay entre un módulo y una librería?
Respuesta correcta: A) A) Un módulo es una pieza (archivo); una librería es un conjunto de módulos con una función común
Por qué: Módulo = 1 archivo; librería/paquete = colección (ej. math es módulo, NumPy es librería).
¿Qué imprime este código en Python? v = [10, 20, 30]; print(v[0])
Respuesta correcta: A) A) 10
Por qué: Los índices empiezan en 0: v[0] es el primer elemento.
¿Qué imprime este código en Python? v = [5, 8, 3]; print(v[2])
Respuesta correcta: C) C) 3
Por qué: v[2] es el tercer elemento (índices 0, 1, 2).
¿Qué imprime este código en Python? v = [4, 9, 2]; print(len(v))
Respuesta correcta: B) B) 3
Por qué: len cuenta elementos (3), no el último índice (que es 2).
¿Qué pasa al ejecutar en Python? v = [7, 7, 7]; print(v[3])
Respuesta correcta: C) C) Lanza IndexError
Por qué: Índices válidos: 0, 1, 2. v[3] no existe: error off-by-one, el clásico.
¿Qué imprime este código en Python? v = [2, 4, 6]; s = 0; for x in v: s += x; print(s)
Respuesta correcta: B) B) 12
Por qué: El for recorre cada elemento y s acumula: 0+2+4+6 = 12.
¿Qué imprime este código en Python? v = [1, 2, 3]; print(v[-1])
Respuesta correcta: B) B) 3
Por qué: Índice negativo cuenta desde el final: v[-1] es el último. Solo Python (en JS da undefined, en Java lanza excepción).
¿Qué muestra la consola en JavaScript? let v = [1, 2, 3]; console.log(v[0] + v[2])
Respuesta correcta: A) A) 4
Por qué: v[0] es 1 y v[2] es 3: 1 + 3 = 4 (suma numérica, no concatena).
¿Qué muestra la consola en JavaScript? let v = [9, 5]; console.log(v.length)
Respuesta correcta: B) B) 2
Por qué: length es la cantidad de elementos; el último índice válido es length - 1 (o sea 1).
¿Qué imprime este código en Java? int[] v = {10, 20, 30}; System.out.println(v[1]);
Respuesta correcta: B) B) 20
Por qué: En Java también base 0: v[1] es el segundo elemento.
¿Qué imprime este código en Java? int[] v = {4, 8}; v[0] = 99; System.out.println(v[0] + v[1]);
Respuesta correcta: B) B) 107
Por qué: Se modifica por índice: v queda [99, 8] y 99 + 8 = 107.
¿Qué hace el atributo action de un <form> y qué pasa si se omite?
Respuesta correcta: A) A) Indica a qué URL se envían los datos; si se omite van a la misma página
Por qué: action="/buscar" = destino; sin action, el navegador reenvía a la URL actual.
¿Qué muestra la consola en JavaScript? console.log("5" + 3)
Respuesta correcta: A) A) "53"
Por qué: Con +, si un operando es string el otro se convierte: concatena, no suma.
¿Qué imprime este código en Java? int[] v = {4, 8}; System.out.println(v.length);
Respuesta correcta: A) A) 2
Por qué: En arrays Java length es campo, sin (); v.length() no compila.
Envías un formulario de compra con POST y luego recargas la página. ¿Qué pasa?
Respuesta correcta: A) A) El navegador advierte "confirmar reenvío" y puede duplicar la compra
Por qué: Por eso lo que solo lee va en GET y lo que cambia datos en POST (y tras cobrar se redirige).
¿Cuánto vale la expresión NaN === NaN en JavaScript?
Respuesta correcta: B) B) false
Por qué: Nada es idéntico a NaN, ni él mismo; se usa Number.isNaN().
¿Qué devuelve typeof null en JavaScript?
Respuesta correcta: B) B) "object"
Por qué: Bug histórico del lenguaje: null reporta "object".
¿Para qué sirve el atributo alt en <img src="foto.jpg" alt="Un gato">?
Respuesta correcta: A) A) Muestra "Un gato" si la imagen no carga y lo leen los lectores de pantalla
Por qué: alt = alternativo y accesible; el tooltip al pasar el mouse es title.
¿Qué diferencia hay entre href y src en HTML?
Respuesta correcta: A) A) href enlaza hacia un recurso, src incrusta el recurso en la página
Por qué: <a href> navega; <img src> y <script src> descargan e incrustan.
¿Qué pasa con un <input name="edad" value="20" disabled> al enviar el formulario?
Respuesta correcta: A) A) Su valor no se envía
Por qué: disabled excluye el campo del envío (a diferencia de readonly, que sí se envía).
¿Se envía el placeholder de un input al servidor?
Respuesta correcta: A) A) No, es solo pista visual; solo se envía el value con name
Por qué: placeholder es ayuda gris; lo que viaja es name=valor.
¿Qué es localhost?
Respuesta correcta: A) A) Tu propia máquina (127.0.0.1)
Por qué: localhost siempre apunta a tu computadora.
¿Qué puertos usan por defecto HTTP y HTTPS?
Respuesta correcta: A) A) 80 y 443
Por qué: 21 es FTP y 22 SSH: distractores clásicos.
¿Qué significan los códigos 200 y 404?
Respuesta correcta: A) A) 200 OK y 404 no encontrado
Por qué: 2xx = éxito, 4xx = error del cliente.
¿Qué colores son #fff y #000 en CSS?
Respuesta correcta: A) A) Blanco y negro (cada dígito se duplica)
Por qué: Hex corto: #fff = #ffffff y #000 = #000000.
¿Por qué muchas páginas ponen body { margin: 0; } en su CSS?
Respuesta correcta: A) A) Porque el navegador da 8px de margen al body por defecto
Por qué: Estilos por defecto del navegador: hay que resetearlos.
Haces commit pero no push. ¿Dónde están tus cambios?
Respuesta correcta: A) A) Solo en tu máquina; en remoto no hay nada
Por qué: commit = local, push = remoto.
¿Qué pasa con <script src="app.js"></script> puesto en el <head>?
Respuesta correcta: A) A) Bloquea el HTML hasta descargar y ejecutar el script
Por qué: Por eso los scripts bloqueantes se ponen al final del <body>.
¿Qué hace <script src="a.js" async></script>?
Respuesta correcta: A) A) Descarga en paralelo y ejecuta en cuanto llega, sin orden garantizado
Por qué: Ideal para scripts independientes (analytics); peligroso si tocan el DOM o dependen entre sí.
¿Qué hace <script src="app.js" defer></script>?
Respuesta correcta: A) A) Descarga en paralelo y ejecuta en orden al terminar el HTML
Por qué: defer = lo mejor de ambos: no bloquea y respeta orden con el DOM listo.