option
Cuestiones
ayuda
daypo
buscar.php

DDS seg parcial

COMENTARIOS ESTADÍSTICAS RÉCORDS
REALIZAR TEST
Título del Test:
DDS seg parcial

Descripción:
segundo parcial de dds. 4 parciales

Fecha de Creación: 2026/06/29

Categoría: Informática

Número Preguntas: 29

Valoración:(0)
COMPARTE EL TEST
Nuevo ComentarioNuevo Comentario
Comentarios
NO HAY REGISTROS
Temario:

Relacioná cada concepto de Express Router y controllers con su uso principal. express.Router. req.params. app.use('/api', router). controller.

En una API Express, la definicion de rutas pasa al Router y la logica de negocio a un controller. Cual es el beneficio principal de esa separacion?. Hacer que Express convierta automaticamente JSON a SQL. Evitar escribir codigos de estado HTTP. Separar definicion HTTP, validaciones de entrada y logica de caso de uso para facilitar pruebas y mantenimiento. Eliminar la necesidad de exportar el Router.

Seleccioná todas las afirmaciones correctas sobre Express Router. Hay 3 correctas. Montar un Router por recurso, por ejemplo /turnos. Usar un unico endpoint POST para listar, crear y borrar. Responder siempre desde app.js sin modulos. Mantener rutas y responsabilidades separadas permite cambiar la implementacion sin romper el contrato HTTP. Separar rutas, controladores y servicios cuando crece la logica.

Seleccioná todas las afirmaciones correctas sobre middlewares y manejo de errores en Express. Hay 3 correctas. Responder dos veces ante el mismo request. Centralizar errores y middlewares reduce respuestas duplicadas y hace mas predecible el flujo request-response. Configurar CORS en el navegador del usuario final. Llamar next(error) para delegar errores al handler central. Ubicar el middleware de errores despues de las rutas.

El frontend corre en http://localhost:5173 y la API en http://localhost:3000. El navegador bloquea la llamada por CORS. Donde se configura la solucion habitual?. En cada componente React, desactivando CORS del navegador. En la base de datos, agregando el dominio a una tabla. En el package.json de Vite cambiando el nombre del proyecto. En el backend Express, agregando middleware cors con el origen permitido.

Relacioná cada concepto de middlewares y manejo de errores en Express. express.static. next(). cors(). next(error).

Seleccioná todas las afirmaciones correctas sobre testing de APIs con Jest/Supertest. (3 correctas). Depender del orden global de ejecucion de tests. Probar un endpoint solo mirando logs manuales. Verificar forma relevante del JSON de respuesta. Verificar status HTTP esperado. Un buen test verifica comportamiento observable y evita depender de detalles internos innecesarios.

El endpoint GET /asistencias/:asistenciaId devuelve un objeto. Que matcher de Jest conviene para verificar una estructura parcial sin acoplarse a campos irrelevantes?. expect.objectContaining({...}). expect.toBe({...}). expect(console.log).toHaveBeenCalled(). expect(app.listen).toEqual(3000).

Seleccioná las afirmaciones correctas sobre seguridad fullstack. Confiar solo en que el boton no se vea en React. Validar firma y expiracion del access token. Guardar claves privadas de Keycloak en el navegador. Diferenciar 401 y 403 segun autenticacion y permisos.

La API necesita obtener claves publicas para validar tokens emitidos por Keycloak. Que dato de la configuracion OpenID Connect usa normalmente?. jwks_uri publicado en el documento .well-known/openid-configuration. El nombre del componente React que hizo login. El puerto de Vite usado en el desarrollo. El archivo package-lock.json del frontend.

Relacioná cada concepto de seguridad fullstack con su uso principal. access token. 403. jwks_uri. exp.

Relacioná cada concepto de React, Vite y JSX con su uso principal. JSX. Vite. key. createRoot.

Seleccioná las afirmaciones correctas de React, Vite, JSX y renderizado. (2 correctas + criterio). Usar app.use para montar componentes React. Asignar keys estables al renderizar listas. Usar JSX para describir UI declarativa. Modificar siempre el DOM con querySelector. La UI debe expresarse de forma declarativa para que React pueda reconciliar cambios de estado y props.

La pantalla debe cargar datos al montarse y cuando cambia cursoId. Que dependencia corresponde en useEffect?. Usar un arreglo vacio aunque cambie el parametro. No usar arreglo para evitar todos los renders. Incluir cursoId en el arreglo de dependencias. Poner res.status como dependencia.

Relacioná cada concepto de props, estado, hooks y efectos en React. props. useState. Context. useEffect.

Un componente padre tiene la lista de asistencias y un hijo solo debe mostrar un item. Como se pasa ese dato?. Mediante props, por ejemplo <Item asistencia={item} />. Montando un Router Express en React. Creando una variable global obligatoria. Leyendolo desde req.body en el hijo.

Seleccioná todas las afirmaciones correctas sobre React Router. Usar req.params dentro de componentes React. Redirigir desde codigo con useNavigate cuando corresponde. Proteger la API solamente ocultando enlaces. Leer parametros dinamicos con useParams.

La vista de administracion solo debe mostrarse a usuarios autenticados. Que patron es adecuado en la SPA?. Guardar el rol en CSS. Ocultar el boton y asumir que con eso alcanza para proteger la API. Eliminar la validacion del backend para evitar duplicidad. Crear una ruta protegida que verifique sesion/rol y redirija si no cumple.

Relacioná cada concepto de React Router con su uso principal. useNavigate. useParams. Navigate. Route path = '*'.

Selecciona todas las afirmaciones correctas sobre comunicacion entre componentes, context y formularios react. Modificar estado privado de otro componente directamente. Guardar roles sensibles como texto HTML editable. Usar Context para estado transversal como sesion. Enviar datos hijo-padre mediante callbacks.

El usuario autenticado y sus roles se usan en muchas pantallas. Cuando tiene sentido Context?. Para reemplazar todos los tests de componentes. Cuando el dato es transversal y evita pasar props por muchos niveles sin ser estado local de una sola pantalla. Para evitar cualquier llamada HTTP. Para guardar claves privadas en el navegador.

En un formulario controlado. Donde vive el valor del input?. En el archivo .env del frontend. En el estado de React, enlazado con value y onChange. Solo en el DOM, sin que React lo lea. En req.params del servidor.

Seleccioná todas las afirmaciones correctas sobre Axios, servicios e interceptores. Duplicar URLs y headers en cada componente. Agregar Bearer token con un interceptor de request. Centralizar llamadas en servicios. Enviar tokens en query string para simplificar. Centralizar llamadas HTTP en servicios facilita manejo de errores, headers y cambios de contrato.

El frontend repite llamadas Axios a /pagos en varios componentes. Que mejora propone el enfoque de servicios?. Guardar respuestas en variables globales mutables sin control. Duplicar la URL en cada componente para ver todo junto. Centralizar funciones como listarPagos y crearPago en un modulo reutilizable. Mover todos los componentes al backend.

La app debe adjuntar el access token a todas las llamadas protegidas. Donde conviene centralizarlo?. En un interceptor de request de Axios que agregue Authorization Bearer <token>. En el nombre de la ruta React. En el body de todas las respuestas 404. En cada h1 visible de la pagina.

Relacioná cada concepto de Axios, servicios e interceptores con su uso principal. axios.post. interceptor. axios.get params. servicio.

Seleccioná todas las afirmaciones correctas sobre React Hook Form, validaciones y formState. (3 correctas). Leer errores y estado desde formState. Usar CORS como regla de validacion de formulario. Declarar validaciones cerca del registro del campo permite mostrar errores consistentes antes de enviar. Registrar inputs con register. Validar solo con alert sin registrar campos.

El campo nombre de pago es obligatorio y debe tener al menos 3 caracteres. Donde se declaran esas reglas con React Hook Form?. En res.status(422) solamente. En register("nombre", { required: true, minLength: 3 }). En app.use(cors()). En navigate sin props.

Relacioná cada concepto de React Hook Form con su uso principal. reset. formState.errors. handleSubmit. register.

Denunciar Test