Font size
WorksheetsIntroducción Programación Asíncrona
Total questions: 89
Worksheet time: 45mins
¿Cuál es la principal diferencia entre la programación síncrona y la asíncrona?
La programación síncrona ejecuta tareas simultáneamente.
La programación asíncrona ejecuta tareas una a una.
La programación asíncrona permite ejecutar varias tareas al mismo tiempo sin esperar a que se completen.
Ambas ejecutan tareas en orden secuencial.
Completa la frase: En la programación síncrona, el código _______ espera a que cada operación finalice antes de continuar.
síncrono
asíncrono
paralelo
concurrente
¿Verdadero o falso? El código asíncrono espera a que cada operación finalice antes de continuar.
Verdadero
Falso
¿Qué significa que una operación sea sincrónica en programación?
Significa que las operaciones o eventos ocurren en un orden específico y secuencial, y cada tarea debe completarse antes de que comience la siguiente.
Significa que todas las tareas se ejecutan al mismo tiempo sin esperar a que terminen las anteriores.
Significa que las operaciones se realizan de manera aleatoria sin seguir ningún orden.
Significa que las tareas pueden comenzar y terminar en cualquier momento, independientemente de otras tareas.
Según el texto, ¿qué ejemplo se utiliza para explicar la programación sincrónica?
Hacer fila india en una cafetería
Pedir comida en una aplicación
Cocinar varios platos a la vez
Comprar boletos en línea
¿Cuál de las siguientes afirmaciones es verdadera sobre la ejecución sincrónica?
Las operaciones se ejecutan en paralelo
Las operaciones se ejecutan una tras otra
El programa no espera a que finalice cada tarea
La ejecución es impredecible
En la ejecución sincrónica, el programa espera a que finalice cada tarea.
Verdadero
Falso
Completa la frase: En la ejecución sincrónica, la ejecución es _______ y ordenada.
predecible
aleatoria
caótica
impredecible
¿La ejecución sincrónica es fácil de depurar porque:
el flujo de ejecución es predecible y lineal
permite múltiples hilos simultáneos
no requiere manejo de errores
siempre es más rápida que la asincrónica
En términos técnicos, las llamadas sincrónicas se realizan:
Ejecutando una operación y esperando su resultado antes de continuar.
Ejecutando múltiples operaciones al mismo tiempo.
Utilizando interrupciones para cambiar de tarea.
Procesando solicitudes en paralelo sin esperar resultados.
Según el texto, ¿qué queremos hacer para simplificar el ejemplo de programación síncrona?
Multiplicar dos números y mostrar el resultado
Sumar dos números y mostrar el resultado
Restar dos números y mostrar el resultado
Dividir dos números y mostrar el resultado
Según el texto, ¿cuál es una de las principales ventajas de la programación síncrona?
Su simplicidad y legibilidad.
Su capacidad para manejar múltiples tareas simultáneamente.
Su eficiencia en el uso de recursos del sistema.
Su facilidad para evitar bloqueos y deadlocks.
¿Cuál es el principal problema de los procesos sincrónicos según el texto?
El problema radica en su comportamiento de bloqueo.
Son más rápidos que los procesos asincrónicos.
No pueden comunicarse entre sí.
No requieren recursos del sistema.
¿Qué puede provocar el uso de procesos sincrónicos?
Un uso eficiente de los recursos
Un uso ineficiente de los recursos
Mayor escalabilidad
Ninguna de las anteriores
¿Qué permite la programación asincrónica?
Que las tareas se ejecuten de forma dependiente y bloqueen el hilo principal
Procesar múltiples tareas al mismo tiempo sin bloquear el hilo de ejecución principal
Que todas las tareas dependan de otras
Que las operaciones se detengan para hacer el pedido
Completa la frase: La programación asincrónica es como pedir un café a través de una aplicación móvil mientras se camina hacia la tienda: no hay que ______ para hacer el pedido.
detenerse
esperar en la fila
pagar en efectivo
hablar con el barista
En ejecución asíncrona: ¿Se pueden ejecutar varias operaciones al mismo tiempo?
Sí
No
En ejecución asíncrona: ¿Las tareas se bloquean entre sí?
Sí
No
En ejecución asíncrona: ¿Cuál es una de las ventajas principales?
Mejor utilización de los recursos
Menor utilización de los recursos
En la programación síncrona, el código sigue una ruta optimizada cuando un paso viene después del otro; en la programación asíncrona, sigue ______ rutas simultáneamente.
dos o más
ninguna
una sola
muchas menos
¿Por qué es importante la programación asincrónica en tareas complejas?
Porque permite que todas las tareas se realicen al mismo tiempo sin esperar a que termine una.
Porque el dueño realiza todas las tareas solo.
Porque no es recomendable para tareas sencillas.
Porque crea un cuello de botella en todas las tareas.
¿Cuál es la diferencia principal entre asincrónico y sincrónico en este ejemplo?
El asincrónico permite ejecutar tareas en paralelo, mientras que el sincrónico las ejecuta una tras otra.
El sincrónico permite ejecutar tareas en paralelo, mientras que el asincrónico las ejecuta una tras otra.
Ambos métodos ejecutan tareas en paralelo.
No existe diferencia entre asincrónico y sincrónico.
¿Cuál es la diferencia principal entre la programación asincrónica y el multihilo?
A) La programación asincrónica utiliza muchos hilos de código, mientras que el multihilo utiliza uno solo.
B) La programación asincrónica trabaja con un solo hilo de código; el multihilo tiene muchos.
C) Ambas trabajan igual, no hay diferencia.
D) El multihilo es más lento que la programación asincrónica.
¿Cuál es una ventaja de los procesos asincrónicos?
Tienen ejecución bloqueante
Permiten que varias tareas se ejecuten en paralelo sin interferir entre sí
No son escalables
No permiten enviar múltiples solicitudes
Completa la frase: La programación asincrónica es ideal para gestionar tareas de _________
larga duración
baja prioridad
alto costo
poca importancia
¿Qué permite la programación asincrónica respecto a las solicitudes?
Permite enviar múltiples solicitudes
Permite enviar una sola solicitud
No permite enviar solicitudes
Permite enviar solicitudes solo en serie
Completa la frase: La programación asincrona es ________, lo que significa que puede ejecutar varias tareas a la vez.
escalable
lenta
limitada
ineficiente
¿Cuál es una de las principales desventajas de la programación asincrónica según el texto?
El código es más fácil de leer
El código ha aumentado su complejidad
No existen devoluciones de llamadas
Es más rápido para tareas sencillas
¿Qué puede ocurrir cuando varias tareas asincrónicas intentan acceder y modificar datos o recursos compartidos simultáneamente?
Se generan resultados predecibles
Se generan resultados impredecibles y potencialmente incorrectos
No hay ningún efecto
El código se simplifica
Completa la frase: La complejidad de la programación asincrónica dificulta la ________ de errores.
detección
creación
eliminación
solución
¿Es recomendable usar asincronía para tareas sencillas según el texto?
Sí, siempre
No, podría ser innecesariamente complejo
Solo si el código es largo
No se menciona en el texto
¿Cuál es el orden de ejecución en un sistema sincrónico?
Secuencial, uno a la vez
Paralelo, todos al mismo tiempo
Aleatorio, sin orden definido
Concurrente, múltiples procesos a la vez
¿Cuál es el orden de ejecución en un sistema asincrónico?
Tareas múltiples y concurrentes
Tareas secuenciales y dependientes
Tareas únicas y lineales
Tareas sincronizadas y bloqueantes
¿Qué tipo de sistema bloquea hasta que se complete la tarea?
Sincrónico
Asincrónico
¿Cuál es un caso de uso típico para sistemas asincrónicos?
Solicitudes de red, operaciones con archivos
Cálculos matemáticos simples
Diseño gráfico
Edición de texto
¿Cuál es la diferencia clave entre la programación asincrónica y la programación sincrónica?
El código sincrónico se ejecuta todo al mismo tiempo, mientras que el asincrónico espera a que cada tarea finalice.
El código sincrónico se ejecuta un paso a la vez, mientras que el asincrónico inicia una tarea y continúa inmediatamente, manejando su resultado más tarde.
Ambos códigos funcionan igual.
El código asincrónico nunca finaliza las tareas.
En el código asincrónico, los errores se manejan principalmente usando _________.
promesas o funciones asincrónicas envueltas en try/catch o .catch()
console.log() para mostrar el error
variables globales para almacenar errores
comentarios en el código para indicar errores
¿Por qué depurar programas sincrónicos es más sencillo que depurar programas asincrónicos?
Porque los programas sincrónicos requieren menos herramientas.
Porque se puede recorrer cada línea fácilmente, mientras que la depuración asincrónica requiere herramientas o registros detallados para seguir cómo se ejecutan y resuelven las tareas con el tiempo.
Porque los programas asincrónicos no tienen errores.
Porque los programas sincrónicos no necesitan depuración.
¿Cuál es la diferencia en la ejecución de tareas entre la programación sincrónica y asincrónica?
A) En la programación sincrónica, las tareas se ejecutan simultáneamente.
B) En la programación asincrónica, las tareas dependen unas de otras.
C) En la programación sincrónica, las tareas dependen unas de otras y en la asincrónica, las tareas se ejecutan simultáneamente.
Completa el espacio en blanco: En la programación sincrónica, cada tarea espera a la anterior, lo que se denomina _________.
bloqueo
paralelismo
asincronía
optimización
¿Cuál es más fácil de implementar y depurar?
A) Programación sincrónica
B) Programación asincrónica
¿Para qué tipo de tareas no es ideal la programación sincrónica?
Tareas largas
Tareas cortas
Multitarea
Lo asincrónico es mejor que lo sincrónico.
Sí, porque permite ejecutar tareas en paralelo y mejora la eficiencia.
No, porque lo sincrónico siempre es más rápido.
No, porque lo asincrónico no se utiliza en programación.
Sí, porque lo sincrónico no tiene ventajas.
Según el texto, ¿cuándo es recomendable utilizar la programación síncrona?
Cuando las tareas pueden ejecutarse de forma independiente
Cuando se requiere que las tareas se realicen en un orden específico
Cuando se necesita mayor flexibilidad
Cuando la gestión de código es compleja
Completa la frase según el texto: La programación asíncrona permite mayor _______ y capacidad de respuesta, pero es más compleja en términos de gestión de código.
flexibilidad
lentitud
rigidez
ineficiencia
¿Cuál es la clave para elegir el enfoque de programación adecuado según el texto?
La clave está en adaptar el enfoque de programación a las necesidades específicas de tu proyecto.
La clave está en utilizar siempre el mismo enfoque de programación.
La clave está en seguir las tendencias del mercado sin considerar el proyecto.
La clave está en elegir el enfoque más popular entre los desarrolladores.
¿Cuál suele ser más rápida para operaciones de E/S?
Programación síncrona
Programación asíncrona
Ninguna de las anteriores
¿Se puede mezclar código síncrono y asíncrono?
Sí, pero tenga cuidado al bloquear operaciones en contextos asíncronos.
No, nunca se debe mezclar.
Solo en operaciones de E/S.
Complete: La programación asíncrona suele ser más rápida para operaciones de E/S, ya que no pierde tiempo ________.
esperando
calculando
escribiendo
leyendo
¿Qué método se utiliza para ejecutar una tarea en segundo plano que no regresa nada?
runAsync()
executeSync()
getResult()
startTask()
¿El hilo principal queda bloqueado mientras se ejecuta la tarea asíncrona con runAsync()?
Sí
No
¿Qué método se utiliza si la tarea necesita devolver algo?
supplyAsync()
runAsync()
executeAsync()
startAsync()
¿Con qué método recuperamos el resultado de un cálculo en segundo plano?
.join()
.start()
.run()
.wait()
¿Qué métodos se pueden usar para encadenar acciones al terminar una tarea en programación según la imagen?
a) thenApply(), thenAccept(), thenRun()
b) start(), stop(), pause()
c) begin(), end(), process()
¿Cuál es el protocolo base utilizado por REST?
HTTP 1.1
HTTP/2
WebSocket
¿Qué tipo de comunicación utiliza gRPC?
Petición / respuesta
RPC (métodos remotos)
Bidireccional continua
Completa el espacio en blanco: El formato de datos utilizado por WebSockets es _________.
Texto / binario
XML
CSV
YAML
¿Cuál es la complejidad de REST?
Baja
Media
Alta
¿Cuál es el rendimiento de gRPC?
Bajo
Medio
Alto
¿Cuál es el uso común de WebSockets?
A) APIs web
B) Microservicios
C) Chats, juegos, streaming
¿Para qué se utiliza una OUTQ en sistemas distribuidos?
Para almacenar temporalmente mensajes que serán entregados o procesados por otro componente
Para almacenar datos de usuarios
Para procesar imágenes
Para crear bases de datos
¿Qué enfoque utiliza queue.Queue o asyncio.Queue y es útil para aplicaciones pequeñas o pruebas?
Persistente (broker)
En memoria (local)
Asíncrono (asyncio)
Basado en eventos
Completa: El enfoque ________ usa RabbitMQ, Redis o Kafka para garantizar la entrega de mensajes entre servicios.
Persistente (broker)
Transitorio (sin almacenamiento)
Directo (sin intermediario)
Asíncrono (sin garantía)
¿Cuál es el enfoque ideal cuando hay múltiples tareas concurrentes no bloqueantes?
Basado en eventos
En memoria (local)
Asíncrono (asyncio)
Persistente (broker)
Completa: El enfoque basado en eventos usa ________ o suscripción a tópicos (Pub/Sub).
callbacks
variables
bucles
condiciones
¿Qué significa REST en el contexto de la comunicación entre cliente y servidor?
Remote Execution Service Transfer
Representational State Transfer
Resource State Transmission
Request Service Token
¿Cuál de los siguientes NO es un método HTTP estándar utilizado en REST?
GET
POST
PUT
SEND
¿REST utiliza el protocolo HTTP para la comunicación entre cliente y servidor?
Verdadero
Falso
Complete la frase: En REST, los recursos son identificados por ____ y utilizan métodos HTTP estándar.
URLs
cookies
tokens
cabeceras
¿Cuál es el formato en el que usualmente se envían los datos en REST?
CSV
JSON o XML
HTML
TXT
¿REST es ideal para APIs públicas o integraciones con terceros?
Verdadero
Falso
¿Qué significa MQTT y para qué está diseñado?
MQTT significa Message Queuing Telemetry Transport y está diseñado para la comunicación entre dispositivos con recursos limitados o redes inestables.
MQTT significa Multi Query Telemetry Transfer y está diseñado para la transmisión de video en alta definición.
MQTT significa Mobile Quality Telemetry Technology y está diseñado para la gestión de bases de datos empresariales.
MQTT significa Machine Quick Transfer Technology y está diseñado para la sincronización de archivos en la nube.
¿Cuál es el modelo de funcionamiento de MQTT?
Cliente/Servidor
Publicador/Suscriptor
Maestro/Esclavo
Peer-to-Peer
¿En qué se basa la comunicación de MQTT?
Paquetes
Topics (temas)
Señales
Archivos
¿Qué función cumple el broker central en MQTT?
El broker central enruta los mensajes entre los dispositivos.
El broker central almacena permanentemente todos los datos de los dispositivos.
El broker central controla el acceso a Internet de los dispositivos.
El broker central realiza el mantenimiento físico de los dispositivos.
¿Por qué MQTT es ideal para sensores, microcontroladores y apps móviles?
Porque tiene bajo consumo de ancho de banda y energía.
Porque requiere hardware costoso.
Porque solo funciona en redes cableadas.
Porque utiliza protocolos de alto consumo.
Completa el concepto: __________ es cada computadora o dispositivo dentro del sistema distribuido.
Nodo
Red
Servidor
Cliente
Completa el concepto: __________ es el medio por el cual los nodos se conectan e intercambian información.
Red de comunicación
Sistema operativo
Base de datos
Algoritmo
Completa el concepto: __________ es la capacidad de ejecutar múltiples tareas o procesos al mismo tiempo en diferentes nodos.
Concurrencia
Serialización
Sincronización
Secuencialidad
Completa el concepto: __________ significa que el usuario no necesita saber dónde o cómo se ejecutan los procesos; todo parece un solo sistema.
Transparencia
Seguridad
Eficiencia
Accesibilidad
Completa el concepto: __________ es la posibilidad de añadir más nodos o recursos sin afectar el rendimiento del sistema.
Escalabilidad
Latencia
Disponibilidad
Redundancia
Completa el concepto: __________ es la capacidad del sistema de seguir funcionando incluso si un nodo falla.
Tolerancia a fallos
Escalabilidad
Latencia
Consistencia
¿Qué tipo de arquitectura se menciona en la diapositiva como ejemplo de sistemas distribuidos?
Maestro-Esclavo
Cliente-Servidor
Peer-to-Peer
Monolítica
Completa la frase: En la arquitectura Cliente-Servidor, el ______ solicita un recurso o servicio y el ______ lo procesa y devuelve la respuesta.
cliente, servidor
servidor, cliente
usuario, cliente
servidor, usuario
¿Cuál es un ejemplo de aplicación que utiliza la arquitectura Cliente-Servidor según la diapositiva?
Aplicaciones móviles
Aplicaciones web
Juegos de consola
Sistemas embebidos
En la arquitectura Cliente-Servidor, el servidor solicita un recurso y el cliente lo procesa.
Verdadero
Falso
¿Qué significa que todos los nodos en una arquitectura Peer-to-Peer (P2P) sean iguales?
Que algunos son servidores y otros clientes
Que todos pueden ser clientes y servidores al mismo tiempo
Que hay un servidor central
Que solo existen clientes
En una arquitectura Peer-to-Peer (P2P), ¿existe un servidor central?
No
Sí, siempre existe un servidor central
Solo en redes pequeñas
Solo para almacenar datos
¿Cuál de las siguientes aplicaciones es un ejemplo real de arquitectura Peer-to-Peer (P2P)?
BitTorrent
Blockchain
Ambas
Ninguna
