Preguntas y Respuestas Practica EV2 PDF
Document Details
Tags
Summary
Este documento contiene un cuestionario de práctica sobre JavaScript, base de datos y desarrollo web. Abarca temas como funciones, eventos, y objetos; el documento provee preguntas frecuentes y respuestas que se podrían considerar como parte de los apuntes de un curso de programación web o informática.
Full Transcript
Cuestionario JS ¿Qué es JavaScript? JavaScript es un lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se define como orientado a objetos, basado en prototipos, imperativo, débilmente tipado y dinámico. ¿Es JavaScript un lenguaje compilado? No, es un lenguaje interpretado, pe...
Cuestionario JS ¿Qué es JavaScript? JavaScript es un lenguaje de programación interpretado, dialecto del estándar ECMAScript. Se define como orientado a objetos, basado en prototipos, imperativo, débilmente tipado y dinámico. ¿Es JavaScript un lenguaje compilado? No, es un lenguaje interpretado, pero puede ser compilado Just-In-Time (JIT) en algunos motores. ¿Cómo se declara una variable en JavaScript moderno? En JavaScript moderno, se recomienda usar 'let' para declarar variables que pueden cambiar su valor, y 'const' para variables que no cambiarán. ¿Qué es una función anónima en JavaScript? Una función anónima es una función sin nombre. Se pueden asignar a variables o pasar como argumentos a otras funciones. (function()) ¿Qué hace el operador '===' en JavaScript? El operador '===' compara tanto el valor como el tipo de los operandos, a diferencia de '==' que solo compara el valor. ¿Qué es una promesa en JavaScript? Una promesa es un objeto que representa la eventual finalización o falla de una operación asíncrona, permitiendo manejar resultados futuros de manera más elegante. ¿Cuándo se ejecuta una promise? Cuando se llama a su método then, se resuelve o rechaza, según el resultado. ¿Qué es JSON? JSON (JavaScript Object Notation) es un formato ligero de intercambio de datos, fácil de leer y escribir para humanos y fácil de analizar y generar para máquinas. ¿Qué es fetch? Un método que permite hacer peticiones HTTP asíncronas y obtener datos de un servidor. ¿Qué son POST y GET? Métodos HTTP; GET solicita datos de un servidor y POST envía datos al servidor. ¿Cuál es la salida de console.log(typeof [])? En JavaScript, los arrays son considerados objetos, por lo que typeof [] devuelve 'object'. ¿Qué método se utiliza para agregar un elemento al final de un array? El método push() se utiliza para agregar uno o más elementos al final de un array y devuelve la nueva longitud del array. ¿Qué es el hoisting en JavaScript? Hoisting es el comportamiento predeterminado de JavaScript de mover todas las declaraciones de variables y funciones se elevan al inicio de su ámbito actual (al inicio del script o de la función). ¿Qué es el event bubbling en JavaScript? Event bubbling es un método de propagación de eventos en el DOM donde un evento disparado en un elemento interno se propaga hacia arriba a través de sus elementos padres en el árbol DOM. ¿Qué hace el método Array.prototype.map()? El método map() crea un nuevo array con los resultados de la llamada a la función indicada aplicados a cada uno de sus elementos. ¿Qué hace el método Array.prototype.reduce()? El método reduce() ejecuta una función reductora sobre cada elemento de un array, devolviendo como resultado un único valor. ¿Qué es el closure en JavaScript? Un closure es la combinación de una función y el entorno léxico en el que se declaró esa función. Permite a una función acceder a variables de su ámbito exterior. Un closure en JavaScript es una función que "recuerda" el contexto en el que fue creada y puede acceder a las variables de su ámbito externo. Son una herramienta poderosa y flexible que permite el encapsulamiento y la preservación de estados en una función. ¿Qué es el patrón de módulo en JavaScript? El patrón de módulo es una forma de encapsular funcionalidades relacionadas en un solo objeto, proporcionando privacidad y organización del código. ¿Qué es el DOM en JavaScript? El DOM (Document Object Model) es una interfaz de programación para documentos HTML y XML. Representa la estructura de un documento como un árbol de objetos. ¿El DOM es una API? Sí, el DOM es una API que permite interactuar y modificar la estructura del documento HTML. ¿Qué es el evento 'DOMContentLoaded'? El evento 'DOMContentLoaded' se dispara cuando el documento HTML inicial se ha cargado y parseado completamente, sin esperar a que se carguen hojas de estilo, imágenes y subframes. ¿Qué es el evento 'load' en JavaScript? El evento 'load' se dispara cuando la página web ha terminado de cargar, incluyendo todos los recursos como imágenes, scripts y hojas de estilo. ¿Qué es una arrow function en JavaScript? Las arrow functions son una forma más corta de escribir funciones en JavaScript, introducidas en ES6. Tienen un comportamiento léxico del this distinto a las funciones tradicionales. (=>) ¿Qué es el 'use strict' en JavaScript? 'use strict' es una directiva que activa el modo estricto en JavaScript, que impone un conjunto de reglas más estrictas para escribir un código más seguro y optimizado. ¿Qué es AJAX en JavaScript? AJAX (Asynchronous JavaScript and XML) es una técnica de desarrollo web que permite actualizar partes de una página web sin recargarla completamente, mejorando la interactividad y velocidad de las aplicaciones web. ¿Qué hace el método forEach? Ejecuta una función para cada elemento de un array, sin devolver un valor. ¿Qué es addEventListener? Asigna una función a ejecutar cuando ocurre un evento específico en un elemento. ¿Qué hace la clase mt? Aplica márgenes superiores a un elemento según el framework CSS utilizado (como Bootstrap). ¿Cuáles son las otras clases de márgenes? Clases como mb (margen inferior), ml (margen izquierdo), mr (margen derecho), y combinaciones como m-0 (sin margen), m-1, etc. ¿Es posible limitar el número máximo y mínimo en un input de tipo number en HTML? Sí, usando los atributos min y max. ¿Qué hace el método findIndex? Devuelve el índice del primer elemento en un array que cumpla una condición. ¿Qué hace el método find? Devuelve el primer elemento en un array que cumpla una condición. ¿Qué hace el método includes? Verifica si un array o string contiene un valor específico, devolviendo true o false. ¿Qué es collapse? En frameworks como Bootstrap, es una clase para mostrar/ocultar contenido mediante animaciones. ¿Qué hace button.classList.toggle('active')? Añade la clase active si no está presente, o la quita si ya está aplicada. ¿Qué es un callback? Es una función que se pasa como argumento a otra función y se ejecuta después de que esta complete una tarea. ¿Qué hace nombre.trim().toUpperCase()? Elimina los espacios al principio y al final de un string y convierte el texto a mayúsculas. ¿Qué es localStorage? Un almacenamiento del navegador que permite guardar pares clave-valor de forma persistente. ¿Qué hacen JSON.stringify() y JSON.parse()? JSON.stringify() convierte un objeto en una cadena JSON, y JSON.parse() convierte una cadena JSON en un objeto. ¿Qué hace let minPrice = parseFloat(minBar.value)? Convierte el valor de un input en tipo número decimal y lo asigna a minPrice. ¿Qué es this en JavaScript? Es una referencia al contexto de ejecución actual, que cambia según cómo se invoque la función. ¿Qué hace el método reduce? Aplica una función a un acumulador y a cada elemento de un array, reduciéndolo a un solo valor. Cuestionario JS, Base de Datos y Desarrollo Web ¿Qué es el 'shadow DOM' en el contexto de los web components? Una forma de encapsular el DOM y CSS de un componente El shadow DOM "DOM en la sombra", es una característica de los web components que permite encapsular el DOM y CSS de un componente, aislándolo del resto del documento para evitar conflictos de estilo y mantener la modularidad. En el contexto de la seguridad web, ¿qué es CORS? Cross-Origin Resource Sharing. CORS (Cross-Origin Resource Sharing) es un mecanismo de seguridad implementado por los navegadores que permite o restringe las solicitudes de recursos desde un dominio diferente al del servidor. ¿Qué es un 'service worker' en el desarrollo web moderno? Un script que tu aplicación puede ejecutar en segundo plano. Un service worker es un script que tu aplicación web puede ejecutar en segundo plano, separado de la página web, permitiendo características que no necesitan una página web o interacción del usuario, como notificaciones push y sincronización en segundo plano. En programación funcional, ¿qué es una función 'pure'? Una función que siempre devuelve el mismo resultado para los mismos argumentos y no tiene efectos secundarios. Una función pure en programación funcional es aquella que siempre devuelve el mismo resultado para los mismos argumentos de entrada y no tiene efectos secundarios observables, como modificar variables globales o realizar operaciones de I/O. ¿Qué es el 'Time to Interactive' (TTI) en el rendimiento web? El punto en el que la página se ha cargado y es capaz de responder rápidamente a la interacción del usuario. Time to Interactive (TTI) es una métrica de rendimiento web que mide el tiempo que tarda una página en volverse completamente interactiva, es decir, cuando está visualmente renderizada y capaz de responder de manera confiable a las interacciones del usuario. En el contexto de las bases de datos, ¿qué es una 'transacción'? Una unidad de trabajo que se ejecuta de manera atómica En bases de datos, una transacción es una unidad de trabajo que se ejecuta de manera atómica, es decir, o se completa en su totalidad o no se realiza en absoluto, garantizando la consistencia de los datos incluso en caso de fallos. ¿Qué es el patrón de diseño 'Singleton'? Un patrón que permite crear solo una instancia de una clase. El patrón Singleton es un patrón de diseño creacional que garantiza que una clase tenga solo una instancia y proporciona un punto de acceso global a esta instancia. En CSS, ¿qué es un 'flexbox'? Un módulo de diseño que permite crear layouts flexibles y eficientes. Flexbox es un módulo de diseño en CSS que proporciona una forma más eficiente de diseñar, alinear y distribuir el espacio entre los elementos en un contenedor, incluso cuando su tamaño es desconocido o dinámico. ¿Qué es 'Server-Side Rendering' (SSR)? Una técnica donde el servidor renderiza la página HTML. Server-Side Rendering (SSR) es una técnica donde el servidor genera el HTML completo de una página web antes de enviarlo al cliente, en contraste con el renderizado del lado del cliente donde JavaScript construye el contenido en el navegador. En el contexto de la arquitectura de software, ¿qué es 'microservicios'? Un estilo arquitectónico que estructura una aplicación como una colección de servicios débilmente acoplados. La arquitectura de microservicios es un enfoque para desarrollar una aplicación como un conjunto de pequeños servicios, cada uno ejecutándose en su propio proceso y comunicándose con mecanismos ligeros, a menudo una API de recursos HTTP. ¿Qué es 'webpack' en el desarrollo web moderno? Un empaquetador de módulos (module bundler). Webpack es un empaquetador de módulos (module bundler) para aplicaciones JavaScript modernas. Procesa la aplicación y construye un gráfico de dependencias que incluye cada módulo que tu aplicación necesita, luego empaqueta todos esos módulos en uno o más bundles. En el contexto de React, ¿qué son los 'hooks'? Funciones que permiten usar estado y otras características de React sin escribir una clase. Los hooks en React son funciones que permiten 'enganchar' el estado de React y el ciclo de vida desde componentes funcionales, permitiendo usar estado y otras características de React sin escribir una clase. ¿Qué es 'TDD' en el desarrollo de software? Test Driven Development. TDD significa Test Driven Development (Desarrollo Dirigido por Pruebas). Es una práctica de desarrollo de software que implica escribir pruebas antes de escribir el código de la funcionalidad, luego escribir el código para pasar la prueba, y finalmente refactorizar el código. En el contexto de bases de datos, ¿qué es 'sharding'? Una práctica de dividir una base de datos en partes más pequeñas y rápidas. Sharding es una técnica de particionamiento de bases de datos que divide una base de datos grande en partes más pequeñas, rápidas y más fáciles de manejar llamadas shards. Esto se hace para mejorar el rendimiento y la escalabilidad de la base de datos. ¿Qué es 'JWT' en el contexto de la autenticación web? JSON Web Token. JWT significa JSON Web Token. Es un estándar abierto que define una forma compacta y autónoma de transmitir información de forma segura entre partes como un objeto JSON, comúnmente usado para la autenticación y el intercambio de información en aplicaciones web. En programación, ¿qué es un 'deadlock'? Una situación donde dos o más procesos están bloqueados permanentemente, esperando que el otro libere un recurso. Un deadlock es una situación en programación concurrente donde dos o más procesos están bloqueados permanentemente, cada uno esperando que el otro libere un recurso que tiene bloqueado, resultando en un estado donde ninguno puede continuar. ¿Qué es 'A/B testing' en el desarrollo web? Una técnica de depuración de códigoUn método para comparar dos versiones de una página web para determinar cuál tiene mejor rendimiento. A/B testing es una metodología en el desarrollo web y marketing digital donde dos versiones de una página web o app (A y B) se comparan para determinar cuál tiene mejor rendimiento en términos de una métrica específica, como tasas de conversión. En el contexto de la seguridad web, ¿qué es 'SQL injection'? Una vulnerabilidad donde un atacante puede insertar código SQL malicioso en las entradas de la aplicación. SQL injection es una vulnerabilidad de seguridad web donde un atacante puede insertar o 'inyectar' instrucciones SQL maliciosas en una consulta a través de las entradas de la aplicación, potencialmente permitiéndole leer, modificar o eliminar datos de la base de datos. ¿Qué es 'PWA' en el desarrollo web moderno? Progressive Web App. PWA significa Progressive Web App. Son aplicaciones web que utilizan las últimas tecnologías web para ofrecer una experiencia similar a la de una aplicación nativa en dispositivos móviles y de escritorio, incluyendo la capacidad de trabajar offline y recibir notificaciones push. En el contexto de la arquitectura de software, ¿qué es el patrón 'MVC'? Model-View-Controller. MVC significa Model-View-Controller. Es un patrón de arquitectura de software que separa la lógica de la aplicación en tres componentes interconectados: el Modelo (datos y lógica de negocio), la Vista (interfaz de usuario) y el Controlador (maneja las entradas y actualiza el modelo y la vista). MEDIA QUERY ¿Qué es una media query? Es una regla en CSS que aplica estilos específicos según el tamaño de la pantalla o las características del dispositivo. ¿Cómo se usa una media query para dispositivos móviles? Definiendo un ancho máximo con @media screen and (max-width: 600px), aplicando estilos para pantallas pequeñas. ¿Qué significa min-width y max-width en una media query? min-width aplica estilos si el ancho de la pantalla es mayor o igual al valor, y max-width si es menor o igual, permitiendo controlar a qué tamaños de pantalla afecta. ¿Cómo se combinan media queries? Puedes combinar condiciones con and o , para aplicar estilos solo cuando se cumplen varias condiciones, como ancho y orientación, como en @media (min-width: 600px) and (orientation: landscape). ¿Qué es el orientation en una media query? Define si los estilos aplican en pantallas verticales (portrait) u horizontales (landscape), útil en tablets y smartphones. ¿Qué es @media print? Aplica estilos cuando el contenido se imprime, en lugar de mostrarse en pantalla. ¿Puedo usar media queries en JavaScript? Sí, con window.matchMedia() puedes verificar y ejecutar código según los resultados de una media query. ¿Qué son las media queries de resolution? Aplica estilos basados en la resolución de pantalla, usando unidades como dpi, por ejemplo @media (min-resolution: 300dpi). ¿Qué es @media all? Aplica estilos a todos los tipos de dispositivos sin importar la pantalla, es más inclusivo que @media screen. ¿Puedo usar max-height en media queries? Sí, puedes aplicar estilos según la altura de la pantalla, como @media (max-height: 800px).