Tema 9 IISSI 2 BP
|
|
Título del Test:
![]() Tema 9 IISSI 2 BP Descripción: arevalo fachorro |



| Comentarios |
|---|
NO HAY REGISTROS |
|
¿Cómo se describe la comunicación síncrona entre dos entes A y B?. Si A envía un mensaje a B, A deja de actuar hasta que B responde. Si A envía un mensaje a B, A puede seguir actuando mientras B procesa el mensaje. También se llama "no bloqueante". B responde inmediatamente sin que A tenga que esperar. A y B intercambian mensajes simultáneamente. ¿Cuál de las siguientes afirmaciones describe la comunicación asíncrona?. Es un tipo de comunicación "bloqueante". Si un ente A envía un mensaje a B, A puede seguir actuando y B responderá cuando pueda. A debe esperar la respuesta de B antes de continuar. Se utiliza principalmente para operaciones que no pueden fallar. No permite el envío de múltiples mensajes. Respecto a la sincronicidad en JavaScript, ¿cuál de estas afirmaciones es correcta?. JavaScript es fundamentalmente single-threaded y, en principio, síncrono. JavaScript es multi-threaded por defecto. El código JavaScript siempre se ejecuta de forma asíncrona. Puede tener comportamiento asíncrono mediante funciones callback, promesas, async/await. La asincronía en JavaScript solo se maneja con generadores. ¿Qué es una función callback en el contexto de la programación asíncrona?. Es cualquier función que se pasa como parámetro para ser ejecutada posteriormente. Es una función que siempre devuelve un valor de forma inmediata. Es una función que bloquea la ejecución hasta que se completa. Solo se utiliza para manejar errores. Es una función que solo puede ser definida usando la sintaxis de flecha. ¿Cuál es un problema común de la programación síncrona en la web cuando se realizan peticiones a APIs externas?. Si la API tarda en responder, la página puede dejar de responder (bloqueo del hilo de ejecución). Las peticiones a la API siempre se ejecutan en segundo plano. Mejora la experiencia del usuario al asegurar que los datos se cargan en orden. No afecta la gestión de otros eventos en la página. Facilita la ejecución paralela de múltiples tareas. ¿Qué palabra clave se utiliza para declarar una función como asíncrona en JavaScript?. await. function*. promise. async. callback. ¿Qué hace la palabra clave await dentro de una función async?. Pausa la ejecución de la función async hasta que la promesa (o la operación asíncrona) a la que precede se resuelve o se rechaza. Convierte una función síncrona en asíncrona. Ejecuta la operación siguiente inmediatamente en paralelo. Solo se puede usar fuera de funciones async. Ignora el resultado de la promesa. ¿Cuál de las siguientes afirmaciones sobre las funciones async es correcta?. Una función async no puede ser invocada desde otra función async. Una función async devuelve implícitamente una Promesa. Si una función async invoca a otra función async sin await, la función invocada se ejecuta en segundo plano y la que llama no espera a que termine. Las funciones async siempre bloquean el hilo principal de ejecución. No se pueden manejar errores dentro de una función async. Antes de async/await, ¿qué mecanismo común se usaba para gestionar llamadas asíncronas de forma más estructurada que los callbacks directos?. Generadores (function*). Promesas (Promise). Event Listeners únicamente. setTimeout y setInterval. Web Workers. ¿Cuál es una buena práctica general al escribir código JavaScript mencionada en el documento?. Usar var para todas las declaraciones de variables. Usar siempre ; tras cada instrucción. Nombrar variables y funciones en PascalCase. Usar let para declarar variables en lugar de var en código moderno. Usar new Object() y new Array() para crear objetos y arrays. ¿Qué hace el modo estricto ("use strict";) en JavaScript?. Impide usar variables no declaradas (sin modo estricto se crea automáticamente una global). Permite que se puedan definir Objects con propiedades repetidas. Es opcional y no se recomienda su uso en producción. Convierte en errores cosas que de otro modo serían advertencias. Solo afecta al rendimiento del código. ¿Por qué se recomienda usar el comparador de igualdad === en lugar de ==?. == intenta hacer conversiones de tipo, lo que puede llevar a comportamientos inesperados. === es más lento que ==. === comprueba tanto el valor como el tipo sin realizar conversión. == no es transitivo en algunos casos (ej. "0" == 0 y 0 == [] pero "0" != []). === solo funciona para tipos primitivos. ¿Cómo se suele definir una función de entrada principal en los scripts JS asociados a una vista HTML?. No es necesario tener una función de entrada. Se define una función (ej. main) y se asocia al evento DOMContentLoaded del document. Se llama init() y el navegador la ejecuta automáticamente. Se usa la palabra clave entryPoint. Simplemente se escribe el código directamente en el ámbito global del script. ¿Por qué se recomienda el uso de módulos en JavaScript?. Para evitar que todo lo definido en el ámbito global de un fichero JS sea accesible por cualquier otro fichero cargado después. Para facilitar la depuración y saber de dónde provienen las variables y funciones. Para que el código se ejecute más rápido. Los módulos no permiten importar ni exportar variables, solo funciones. No es necesario activar nada especial para usar módulos, cualquier archivo .js es un módulo por defecto. ¿Cómo se indica que un script HTML debe ser tratado como un módulo?. <script module src="path/to/script.js"></script>. <script type="javascript/module" src="path/to/script.js"></script>. <script type="module" src="path/to/script.js"></script>. <script import="module" src="path/to/script.js"></script>. El navegador lo detecta automáticamente si se usa import o export. ¿Qué sintaxis se usa para exportar elementos de un módulo?. A. module.exports = { elemento1, elemento2 };. export { elemento1, elemento2 };. provide { elemento1, elemento2 };. public { elemento1, elemento2 };. Simplemente declarándolos en el ámbito global del módulo. ¿Qué sintaxis se usa para importar elementos de otro módulo?. import { elemento1, elemento2 } from './otroModulo.js';. require('./otroModulo.js').elemento1;. load { elemento1, elemento2 } from './otroModulo.js';. include './otroModulo.js';. Las variables exportadas están disponibles automáticamente en otros módulos. Según la estructura de proyecto propuesta en el documento, ¿dónde se ubicarían los módulos para comunicarse con los endpoints de una API?. En una carpeta api/ dentro de la carpeta js/. En una carpeta utils/. Directamente en la raíz de la carpeta js/. En una carpeta libs/. En una carpeta validators/. ¿Cuál es el propósito de la carpeta renderers/ en la organización de código sugerida?. Contener librerías JS externas. Contener funciones de utilidad general. Contener módulos que transforman objetos JS en representaciones HTML. Contener módulos para validar datos de formularios. Contener los scripts principales de cada vista HTML. ¿Qué tipo de código se encontraría típicamente en la carpeta utils/ según la estructura propuesta?. Módulos para interactuar con APIs. Módulos para renderizar HTML. Módulos para validar formularios. Módulos con funciones de utilidad que pueden ser reusadas a lo largo de toda la aplicación. Los scripts específicos de cada vista de la aplicación. |





