Reactivos
Pregunta 1
¿Qué es Node.js?, ¿cómo ha revolucionado el desarrollo de back-end?
@ Revisa la explicación del tema 1.
Opciones:
- Es una biblioteca de JavaScript que revolucionó el front-end.
- Es un protocolo de red para comunicación que revolucionó el back-end.
- Es una base de datos relacional.
- Es un entorno de ejecución que permitió a los desarrolladores usar el lenguaje JavaScript para construir servidores eficientes y escalables.
Pregunta 2
¿Qué es un protocolo de red? Incluye un ejemplo común.
@ Revisa la explicación del tema 1.
Opciones:
- Es un conjunto de reglas que rigen la comunicación entre dispositivos, por ejemplo: TCP/IP.
- Es un software que controla la red, por ejemplo: Windows Server.
- Es un hardware de red, por ejemplo: Router.
- Es un lenguaje de programación, por ejemplo: Python.
Pregunta 3
En Node.js., ¿qué permite el objeto "request" (req)?
@ Revisa la explicación del tema 1.
Opciones:
- Permite la edición de imágenes en tiempo real.
- Permite la construcción de aplicaciones en tiempo real y basadas en datos.
- Permite la integración con sistemas operativos específicos.
- Permite la traducción automática de idiomas.
Pregunta 4
Si estás creando un servidor HTTP en Node.js que escucha en el puerto 8080, ¿cuál sería el código correcto?

@ Revisa la explicación del tema 1
Opciones:
- http.createServer(8080);
- http.listenServer(8080);
- http.createServer().listen(8080);
- http.createServer().port(8080);
Pregunta 5
Estás trabajando en una aplicación Node.js y quieres manejar mensajes extragrandes que se pueden codificar en fragmentos, ¿qué característica de Node.js utilizarías?
@ Revisa la explicación del tema 1.
Opciones:
- El objeto "request (req)"
- El módulo HTTP incorporado.
- La arquitectura orientada a la entrada y salida sin bloqueo.
- La interfaz HTTP en Node.js
Pregunta 6
¿Qué permite el Event Loop de Node.js en relación con las operaciones de E/S?
@ Revisa la explicación del tema 2.
Opciones:
- No permite operaciones de E/S.
- Permite operaciones de E/S sin bloqueo.
- Permite operaciones de E/S con bloqueo.
- Bloquea todas las operaciones de E/S.
Pregunta 7
En programación, ¿a qué se refiere el término "asincrónica"?
@ Revisa la explicación del tema 2.
Opciones:
- A la ejecución de tareas fuera de secuencia.
- A la ejecución de tareas en un orden estricto.
- A la incapacidad de ejecutar múltiples tareas.
- A la ejecución de tareas en un solo hilo.
Pregunta 8
En Node.js, ¿qué función realiza la biblioteca libuv?
@ Revisa la explicación del tema 2
Opciones:
- Proporciona una interfaz para operaciones de E/S con bloqueo.
- Detiene el bucle de eventos.
- Maneja el bucle de eventos y proporciona una interfaz para operaciones de E/S sin bloqueo.
- Crea múltiples hilos de ejecución.
Pregunta 9
En Node.js., ¿cómo puedes utilizar la asincronía para leer un archivo?
@ Revisa la explicación del tema 2.
Opciones:
- Utilizando la función readFile del módulo fs de manera asincrónica, pasando una función de devolución de llamada.
- Utilizando la función readFile del módulo fs de manera síncrona.
- Bloqueando el Event Loop hasta que se lea el archivo.
- Utilizando múltiples hilos de ejecución para leer el archivo.
Pregunta 10
Estás desarrollando una aplicación en Node.js y quieres manejar múltiples solicitudes de forma simultánea, ¿qué componente de Node.js te permite hacer esto?
@ Revisa la explicación del tema 2
Opciones:
- El módulo fs.
- La pila de llamadas de JavaScript.
- La cola de tareas de JavaScript.
- La biblioteca libuv
Pregunta 11
¿Qué es un módulo en Node.js?
@ Revisa la explicación del tema 3
Opciones:
- Una colección de objetos y funciones de JavaScript que no pueden ser utilizados por aplicaciones externas.
- Una forma de limitar la reutilización del código.
- Una colección de objetos y funciones de JavaScript que pueden ser utilizados por aplicaciones externas.
- Un método para hacer que el código sea más difícil de mantener.
Pregunta 12
Elige la opción que indique una buena práctica para manejar rutas en aplicaciones web.
@ Revisa la explicación del tema 3
Opciones:
- Usar verbos en lugar de sustantivos.
- Usar sustantivos en plural.
- Alterar los datos con el método HTTP GET.
- Evitar el uso de subrutas o subrecursos.
Pregunta 13
En Express.js., ¿qué método se utiliza para cargar una función de middleware?
@ Revisa la explicación del tema 3.
Opciones:
- app.load()
- app.middleware()
- app.next()
- app.use()
Pregunta 14
En Node.js estás creando un módulo llamado "saludo.js" con una función para saludar a un usuario, ¿cuál sería el código correcto para exportar la función?
@ Revisa la explicación del tema 3
Opciones:
- import.saludarUsuario = function(nombre) { return '¡Hola, ' + nombre + '!'; };
- module.saludarUsuario = function(nombre) { return '¡Hola, ' + nombre + '!'; };
- exports.saludarUsuario = function(nombre) { return '¡Hola, ' + nombre + '!'; };
- require.saludarUsuario = function(nombre) { return '¡Hola, ' + nombre + '!'; };
Pregunta 15
Si estás utilizando Express.js y quieres manejar todas las solicitudes HTTP en una ruta específica, ¿cuál sería el método correcto?
@ Revisa la explicación del tema 3.
Opciones:
- app.get()
- app.all()
- app.post()
- app.route()
Pregunta 16
Al trabajar con Node.js., ¿cuál es una de las mejores prácticas de seguridad recomendadas?
@ Revisa la explicación del tema 4.
Opciones:
- Mantener el entorno actualizado, incluyendo Node.js y sus paquetes.
- Utilizar siempre paquetes de terceros sin verificar su origen.
- Ignorar las advertencias de vulnerabilidad en GitHub.
- Evitar el uso de encabezados de seguridad HTTP.
Pregunta 17
¿Qué permite el uso de Tokens JSON Web (JWT) en la autorización de usuarios en Node.js?
@ Revisa la explicación del tema 4
Opciones:
- Al convertir una contraseña en una cadena de caracteres de longitud fija.
- Al restringir los ataques de inyección SQL.
- Al acceder a recursos protegidos mediante la verificación del token por parte del servidor.
- Al actualizar automáticamente todos los paquetes desactualizados.
Pregunta 18
En la autenticación y autorización en Node.js, ¿qué es el salting?
@ Revisa la explicación del tema 4
Opciones:
- Un método para almacenar contraseñas en texto claro.
- Un proceso de agregar una cadena de caracteres aleatoria a la contraseña antes de hacer el hashing.
- Una técnica para permitir el acceso no autorizado a una aplicación.
- Un token utilizado para acceder a recursos protegidos.
Pregunta 19
En términos de autenticación, ¿qué hace el siguiente código en una aplicación Node.js?

@ Revisa la explicación del tema 4.
Opciones:
- Convierte una contraseña en una cadena de caracteres de longitud fija mediante hashing y salting.
- Genera un token JWT para autorizar a los usuarios.
- Verifica las dependencias vulnerables en la aplicación.
- Configura la monitorización y el registro de la aplicación.
Pregunta 20
Dado el siguiente código en Node.js, ¿qué hace este fragmento en términos de seguridad?

@ Revisa la explicación del tema 4
Opciones:
- Restringe los ataques de inyección SQL en la aplicación.
- Autentica a los usuarios mediante el uso de contraseñas y tokens.
- Agrega encabezados de seguridad HTTP para proteger la aplicación.
- Permite manejar todas las solicitudes HTTP en una ruta específica.
Pregunta 21
¿Qué tipo de bases de datos organiza los datos en tablas divididas en filas y columnas?
@ Revisa la explicación del tema 5
Opciones:
- MySQL
- MongoDB
- Redis
- LevelDB
Pregunta 22
¿Cuál es el propósito principal de las bases de datos en el mundo de la información?
@ Revisa la explicación del tema 5.
Opciones:
- Facilitar la navegación en la web.
- Mejorar la velocidad de las transacciones en línea.
- Almacenar la huella digital que una persona deja en cada sitio, transacción o paso por la web.
- Mejorar la interfaz gráfica de los sitios web.
Pregunta 23
En un lenguaje de programación, ¿qué técnica se utiliza para interactuar con bases de datos basadas en documentos?
@ Revisa la explicación del tema 5
Opciones:
- ORM (Object-Relational Mapping)
- ODM (Object-Document Mapping)
- SQL (Structured Query Language)
- JIT (Just-in-time)
Pregunta 24
En Node.js y en términos de manejo de datos con una base de datos MySQL, ¿qué hace el siguiente código?

@ Revisa la explicación del tema 5.
Opciones:
- Inserta nuevos registros en la tabla de usuarios.
- Actualiza los registros existentes en la tabla de usuarios.
- Elimina todos los registros de la tabla de usuarios.
- Realiza una consulta SQL para recuperar todos los registros de la tabla de usuarios.
Pregunta 25
Dado el siguiente código en Node.js y en términos de definición de un modelo con Mongoose para MongoDB, ¿qué hace este fragmento?

@ Revisa la explicación del tema 5.
Opciones:
- Conecta a una base de datos MongoDB utilizando las credenciales proporcionadas.
- Define un modelo Product que se mapeará a una colección en MongoDB.
- Realiza una consulta SQL para recuperar todos los registros de una tabla.
- Inserta nuevos registros en la tabla de productos en una base de datos MySQL.
Pregunta 26
En el contexto del despliegue de aplicaciones Node.js., ¿qué permite hacer la Dockerización?
@ Revisa la explicación del tema 6
Opciones:
- Separar y gestionar componentes front-end y back-end de manera independiente.
- Administrar y escalar contenedores utilizando herramientas como AWS Lambda.
- Proporcionar una plataforma para desarrollar y ejecutar aplicaciones sin preocuparse por la infraestructura subyacente.
- Empaquetar aplicaciones en contenedores autocontenidos que se pueden desplegar fácilmente en cualquier plataforma.
Pregunta 27
A nivel de usuario, ¿qué tipo de pruebas busca simular la experiencia en los diferentes productos de un software, incluyendo acciones como inicio de sesión, depósitos o configuración de cuenta?
@ Revisa la explicación del tema 6
Opciones:
- Pruebas de rutas con Express.
- Pruebas unitarias.
- Pruebas integrales.
- Pruebas de integración.
Pregunta 28
¿Cuál de las siguientes opciones es una ventaja al utilizar Jest como marco de trabajo para pruebas en Node.js?
@ Revisa la explicación del tema 6
Opciones:
- Es compatible con TypeScript.
- Es compatible solo con proyectos basados en Vue.js.
- No permite pruebas instantáneas.
- No es adecuado para aplicaciones React.
Pregunta 29
En Node.js y en términos de configuración de entornos, ¿qué hace el siguiente código?

@ Revisa la explicación del tema 6
Opciones:
- Define una variable de entorno para especificar el puerto del servidor.
- Define una variable de entorno para especificar las credenciales de la base de datos.
- Define una variable de entorno para especificar la ubicación de los archivos y carpetas estáticas.
- Define una variable de entorno para especificar el entorno de desarrollo.
Pregunta 30
Dado el siguiente código en Node.js y en términos de configuración de entornos, ¿qué hace este fragmento?

@ Revisa la explicación del tema 6.
Opciones:
- Establece el puerto en el que la aplicación debe ejecutarse, utilizando una variable de entorno o el puerto 3000 como valor predeterminado.
- Define una variable de entorno para la dirección de la base de datos.
- Configura una variable de entorno para la ubicación de archivos y carpetas estáticos.
- Define una variable de entorno para las credenciales de API externas.
Pregunta 31
¿Qué ventaja ofrecen los microservicios en comparación con las aplicaciones monolíticas?
@ Revisa la explicación del tema 7.
Opciones:
- Requieren un esfuerzo adicional para responder a los cambios en el sistema.
- Un fallo en un componente que afecta a todo el sistema.
- Permiten despliegues más rápidos y frecuentes.
- Están estrechamente integrados en una única unidad.
Pregunta 32
Según el documento, ¿cuál de los siguientes pasos es parte del proceso para usar Docker con Node.js?
@ Revisa la explicación del tema 7
Opciones:
- Publicar en Docker Hub como paso obligatorio.
- Construir la imagen Docker.
- Utilizar Mocha para escribir pruebas unitarias.
- Desarrollar la aplicación utilizando Feathers.
Pregunta 33
¿Qué permite hacer la contenerización en el despliegue de microservicios?
@ Revisa la explicación del tema 7.
Opciones:
- Escalar toda la aplicación en lugar de servicios individuales.
- Encapsular los microservicios en contenedores, incluyendo el código, las bibliotecas y las dependencias.
- Utilizar aplicaciones monolíticas en lugar de microservicios.
- Publicar imágenes en Docker Hub sin una cuenta.
Pregunta 34
Dado el siguiente código para un Dockerfile en Node.js, ¿qué hace este fragmento?

@ Revisa la explicación del tema 7.
Opciones:
- Instala las dependencias de una aplicación Node.js y define cómo iniciarla en un contenedor Docker.
- Construye una imagen Docker para una aplicación PHP.
- Publica la imagen en Docker Hub.
- Escala la aplicación en diferentes sistemas.
Pregunta 35
Dado el siguiente código en Node.js y en términos de despliegue de aplicaciones en un contenedor Docker, ¿qué hace este fragmento?

@ Revisa la explicación del tema 7.
Opciones:
- Publica la imagen en Docker Hub.
- Escala la aplicación en diferentes sistemas.
- Instala las dependencias de una aplicación PHP.
- Construye una imagen Docker y ejecuta la aplicación en un contenedor en el puerto 8080.
Pregunta 36
¿Cuál de las siguientes afirmaciones describe correctamente la importancia de la optimización de desempeño en el desarrollo de aplicaciones?
@ Revisa la explicación del tema 8
Opciones:
- La optimización de desempeño solo mejora la velocidad de una aplicación.
- La optimización de desempeño reduce la capacidad de respuesta de una aplicación.
- La optimización de desempeño solo es relevante en aplicaciones pequeñas.
- La optimización de desempeño mejora la velocidad y la eficiencia, además, contribuye a una mejor experiencia del usuario.
Pregunta 37
En el contexto de Node.js, ¿cuál de las siguientes estrategias no es una técnica común de optimización?
@ Revisa la explicación del tema 8.
Opciones:
- Uso de funciones sincrónicas.
- Gestión de la memoria.
- Publicación de la aplicación en múltiples plataformas.
- Optimización de consultas a la base de datos.
Pregunta 38
¿Qué herramienta de debugging permite depurar aplicaciones Node.js en el navegador Chrome?
@ Revisa la explicación del tema 8
Opciones:
- Node.js Debugger.
- Chrome DevTools.
- WebStorm Debugger.
- IronNode.
Pregunta 39
Dado el siguiente código en Node.js, ¿cuál es la mejor práctica para optimizar el rendimiento?

@ Revisa la explicación del tema 8.
Opciones:
- Convertir el bucle en una función asincrónica.
- Aumentar el número de iteraciones en el bucle.
- Agregar el código síncrono.
- Ninguna de las anteriores.
Pregunta 40
Dado el siguiente código en Node.js, ¿cuál sería la mejor manera de depurar y encontrar errores?

@ Revisa la explicación del tema 8.
Opciones:
- Utilizar herramientas de depuración como Node.js Debugger o Chrome DevTools.
- Utilizar pruebas unitarias y de integración.
- Implementar monitoreo y registro.
- Revisar el código con el equipo de marketing.