Examen: NodeJS
Instrucciones:
Este examen consta de 2 secciones:
1. Algunas preguntas sobre algunos aspectos teóricos de NodeJS y,
2. Un problema práctico que deberás resolver usando tu creatividad e ingenio para plasmar una posible solución a través de una aplicación web escrita en NodeJS.
Parte 1.
Responde cada una de las siguientes preguntas:
- 1. Explica las diferencias entre var, let y const al declarar variables en JavaScript.
- 2. Explica el propósito y el funcionamiento de las promesas en JavaScript. Proporciona un ejemplo de cómo crear y usar una promesa.
- 3. ¿Qué es async/await en JavaScript y cómo se utiliza para trabajar con funciones asíncronas? Proporciona un ejemplo de código.
- 4. Describe las diferencias entre try...catch y throw en la gestión de errores en JavaScript.
- 5. ¿Qué es el "hoisting" en JavaScript? Proporciona un ejemplo para ilustrar cómo funciona.
- 6. Describe las diferencias entre map, filter y reduce en JavaScript. Proporciona un ejemplo de cada uno.
- 7. ¿Qué son las expresiones regulares en JavaScript y cómo se utilizan? Proporciona un ejemplo de una expresión regular.
- 8. ¿Cómo funciona la palabra clave this en JavaScript? Proporciona ejemplos que ilustren su comportamiento en diferentes contextos.
- 9. Describe las diferencias clave entre los objetos Set y Map en JavaScript. Proporciona un ejemplo de uso para cada uno.
- 10. ¿Qué son los WebSockets y cómo se diferencian de las solicitudes HTTP convencionales? Proporciona un ejemplo de uso.
Parte 2.
A continuación se detallan los requerimientos para la aplicación.
- El grupo hotelero "Playa Esmeralda" solicita una aplicación Web para llevar el control del acceso de sus huéspedes y proveedores.
- Deberá permitir registrar visitas de los huéspedes y proveedores (generalmente le ponen nombre, a quién visita, fecha y hora de la visita, con quién pasa, etc).
- Deberá permitir modificar la información de las agendas (por ejemplo cambiar la fecha de llegada o las pax).
- Deberá permitir cancelar agendas, pero deberán seguir visibles.
- Ah, también quieren ver en una tabla todas las agendas del día.
Consideraciones:
No te preocupes demasiado por el estilo, enfócate en la funcionalidad y los pequeños detalles. El diseño es libre, puedes ocupar alguna plantilla o crearlo desde cero .
Deberás registrar las agendas en una base de datos, el cliente nos solicita que sea MariaDB o PostgreSQL.
Cuando termines, por favor comparte la liga del repo con tu proyecto al siguiente correo: vladimir.luna@vlim.com.mx.
Recuerda que tienes hasta las 11:59 pm del 01 de febrero de 2024 para enviar tus respuestas y el link de tu repo al correo☝️️, no habrá prórrogas.
Happy coding!
