option
Cuestiones
ayuda
daypo
buscar.php

Recuperatorio DDS

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

Descripción:
Desarrollo de Software - Recuperatorio 2do parcial

Fecha de Creación: 2026/06/24

Categoría: Informática

Número Preguntas: 54

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

Relaciona cada concepto de Express Router y controllers con su uso principal. Usá la relación técnica más específica. controller. express.Router. app.use('/api', router). req.params.

El frontend de cursos optativos corre en http://localhost:5173 y la API en http://localhost:3000. El navegador bloquea la llamada por CORS. ¿Dónde se configura la solución habitual? Elegí la alternativa correcta. En el backend Express, agregando middleware cors ocn el origen permitido. En el package.json de Vite cambiando el nombre del proyecto. En la base de datos, agregando el dominio a una tabla. En cada componente React, desactivando CORS del navegador.

El endpoint GET /notificaciones/:notificacionId devuelve un objeto. ¿Qué matcher de Jest conviene para verificar una estructura parcial sin acoplarse a campos irrelevantes? Elegí la alternativa correcta. expect(app.listen).toEqual(3000). expect.objectContaining({...}). expect(console.log).toHaveBeenCalled(). expect.toBe({...}).

Seleccioná todas las afirmaciones correctas sobre seguridad fullstack. Hay 2 opciones correctas. Cada opción correcta seleccionada suma puntaje parcial; las opciones incorrectas descuentan. Seleccione una o más de una: Guardar claves privadas de Keycloak en el navegador. Diferenciar 401 de 403 según autenticación y permisos. Confiar solo en que el botón no se vea en React. Validar firma y expiración del access token.

Al renderizar una lista de cursos, React advierte que falta key. ¿Qué key es preferible? Elegí la alternativa correcta. La posicion del array siempre, aunque el orden cambie. Un identificador estable del curso, como curso.id. Math.random() en cada render. El mismo texto fijo para todos los items.

Seleccioná todas las afirmaciones correctas sobre componentes, props, estado, hooks y efectos. Hay 2 opciones correctas. Cada opción correcta seleccionada suma puntaje parcial; las opciones incorrectas descuentan. Actualizar estado mediante el setter. Mutar arrays de estado sin crear nueva referencia. Declarar dependencias reales en useEffect. Llamar hooks dentro de if de manera condicional.

Relacioná cada concepto de React Router con su uso principal. Usá la relación técnica más específica. Navigate. useParams. Route path='*'. useNavigate.

Seleccioná todas las afirmaciones correctas sobre comunicación entre componentes, Context y formularios React. Hay 2 opciones correctas. Cada opción correcta seleccionada suma puntaje parcial; las opciones incorrectas descuentan. Usar Context para estado transversal como sesión. Modificar estado privado de otro componente directamente. Guardar roles sensibles como texto HTML editable. Enviar datos hijo-padre mediante callbacks.

El frontend repite llamadas Axios a /cursos en varios componentes. ¿Qué mejora propone el enfoque de servicios? Elegí la alternativa correcta. Mover todos los componentes al backend. Duplicar la URL en cada componente para ver todo junto. Guardar respuestas en variables globales mutables sin control. Centralizar funciones como listarCursos y crearCurso en un módulo reutilizable.

El campo nombre de pago es obligatorio y debe tener al menos 3 caracteres. ¿Dónde se declaran esas reglas con React Hook Form? Elegí la alternativa correcta. En register("nombre", { required: true, minLength: 3 }). En res.status(422) solamente. En app.use(cors()). En Navigate sin props.

En /consultas se declaran primero router.get("/:consultaId", obtener) y después router.get("/activos", listarActivos). Al pedir /consultas/activos se ejecuta obtener. ¿Cómo se corrige? Elegí la alternativa correcta. Cambiar GET por PATCH en ambas rutas. Usar res.sendStatus(204) en listarActivos. Agregar CORS antes de express.json(). Declarar la ruta estática "/activos" antes de la ruta parametrizada "/:consultaId".

Relacioná cada concepto de middlewares y manejo de errores en Express con su uso principal. Usá la relación técnica más específica. express.static. next(). next(error). cors().

Los tests de pagos de aranceles fallan de manera intermitente porque comparten datos modificados entre casos. ¿Qué práctica reduce ese acoplamiento? Elegí la alternativa correcta. Eliminar las aserciones sobre el body. Poner todos los casos dentro de un único it gigante. Ejecutar los tests siempre a mano y en distinto orden. Preparar y limpiar datos en beforeEach/afterEach o usar fixtures controlados por test.

El backend valida un JWT de Keycloak. ¿Qué claim ayuda a comprobar que el token no esté vencido? Seleccione una: exp. preferred_username. sub. given_name.

Al renderizar una lista de cursos, React advierte que falta key. ¿Qué key es preferible? Elegí la alternativa correcta. El mismo texto fijo para todos los items. Math.random() en cada render. Un identificador estable del curso, como curso.id. La posicion del array siempre, aunque el orden cambie.

La vista de administración de mesa de ayuda solo debe mostrarse a usuarios autenticados. ¿Qué patrón es adecuado en la SPA? Elegí la alternativa correcta. Eliminar la validación del backend para evitar duplicidad. Crear una ruta protegida que verifique sesión/rol y redirija si no cumple. Ocultar el botón y asumir que con eso alcanza para proteger la API. Guardar el rol en CSS.

Un formulario React recarga la página al enviar. ¿Qué acción básica falta en el handler? Elegí la alternativa correcta. app.use(express.static()). event.preventDefault(). npm run build dentro del submit. res.status(201).json().

Seleccioná todas las afirmaciones correctas sobre Axios, servicios e interceptores. Hay 2 opciones correctas. Cada opción correcta seleccionada suma puntaje parcial; las opciones incorrectas descuentan. Duplicar URLs y headers en cada componente. Enviar tokens en query string para simplificar. Centralizar llamadas en servicios. Agregar bearer token con un interceptor de request.

El botón Guardar debe deshabilitarse mientras se envía el formulario. ¿Qué propiedad de formState sirve? Elegí la alternativa correcta. isValidRoute. isJwtExpired del DOM. hasCors. isSubmitting.

Selecciona todas las afirmaciones correctas sobre Express Router y organizacion de rutas. Hay 3 opciones correctas. Cada opcion correcta seleccionada suma puntaje parcial, las opciones incorrectas descuentan. Mantener rutas y responsabilidades separadas permite cambiar la implementacion sin romper el contrato HTTP. Montar un Router por recurso, por ejemplo /dispositivos. Responder siempre desde app.js sin modulos. Usar un unico endpoint POST para listar, crear y borrar. Separar rutas, controladores y servicios cuando crece la logica.

Selecciona todas las afirmaciones correctas sobre el manejo de errores y middlewares en una API para mejorar el inventario de dispositivos. Hay 3 opciones correctas. Cada opcion correcta seleccionada suma puntaje parcial; las opciones incorrectas descuentan. Ubicar el middleware de errores despues de las rutas. Responder dos veces ante el mismo request. Configurar CORS en el navegador del usuario final. Llamar next(error) para delegar errores al handler central. Centralizar errores y middlewares reduce respuestas duplicadas y hace mas predecible el flujo request-response.

Relaciona cada concepto de testing de APIs con Jest y Supertest con su uso pirncipal. Usa la relacion tecnica mas especifica. expect.objectContaining. beforeEach. Supertest. red-green-refactor.

Relaciona cada concepto de seguridad fullstack con su uso principal. Usa la relacion tecnica mas especifica. access token. 403. exp. jwks_uri.

Relaciona cada concepto de React, VIte y JSX con su uso principal. Usa la relacion tecnica mas especifica. Vite. createRoot. JSX. key.

Para agregar un equipo a un array en estado, ¿Que opcion respeta inmutabilidad?. Elegi la alternativa correcta. setEquipos(prev => [..prev, nuevoEquipo]). equipos.push(nuevoEquipo); setEquipos(equipos). Modificar prev[0] directamente y no llamar al setter. Guardar el array en localStorage como unica fuente.

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

Relaciona cada concepto de Axios, servicios e interceptores con su uso principal. Usa la tecnica mas especifica. axios.get params. servicio. interceptor. axios.post.

Selecciona todas las afirmaciones correctas sobre React Hook Form, validaciones y formState. Hay 3 opciones correctas. Cada opcion correcta seleccionada suma puntaje parcial; las opciones incorrectas descuenta. Registrar inputs con register. Usar CORS como regla de validacion de formulario. Leer errores y estado desde formState. Validar solo con alert sin registrar campos. Declarar validaciones cerca del cregistro del campo permite mostrar errores consistentes antes de enviar.

Seleccioná todas las afirmaciones correctas sobre Express Router. Hay 2 opciones correctas. Cada opción correcta seleccionada suma puntaje parcial; las opciones incorrectas descuentan. Separar rutas, controladores y servicios cuando crece la lógica. Responder siempre desde app.js sin módulos. Montar un Router por recurso, por ejemplo /reclamos. Usar un único endpoint POST para listar, crear y borrar.

El frontend de pagos de aranceles corre en http://localhost:5173 y la API en http://localhost:3000. El navegador bloquea la llamada por CORS. ¿Dónde se configura la solución habitual? Elegí la alternativa correcta. En el backend Express, agregando middleware cors con el origen permitido. En el package.json de Vite cambiando el nombre del proyecto. En cada componente React, desactivando CORS del navegador. En la base de datos, agregando el dominio a una tabla.

Relacioná cada concepto de testing de APIs con Jest y Supertest con su uso principal. Usá la relación técnica más específica. red-green-refactor. expect.objectContaining. Supertest. beforeEach.

Un usuario autenticado intenta borrar consultas, pero no tiene el rol ayudante. ¿Qué respuesta representa mejor el caso?. 200 OK con un mensaje de advertencia. 401 Unauthorized, porque la ruta no existe. 403 Forbidden, porque la identidad existe pero no tiene permiso suficiente. 500 Internal Server Error para ocultar detalles.

Seleccioná todas las afirmaciones correctas sobre React, Vite, JSX y renderizado. Hay 3 opciones correctas. Cada opción correcta seleccionada suma puntaje parcial; las opciones incorrectas descuentan. Modificar siempre el DOM con querySelector. Usar JSX para describir UI declarativa. Usar app.use para montar componentes React. Asignar keys estables al renderizar listas. La UI debe expresarse de forma declarativa para que React pueda reconciliar cambios de estado y props.

Relacioná cada concepto de props, estado, hooks y efectos en React con su uso principal. Usá la relación técnica más específica. useEffect. Context. useState. props.

Para consultar una notificación por identificador se declara router.get("/: notificacionId") y el código falla porque req.params llega vacío. ¿Cuál es la causa más probable? Elegí la alternativa correcta. El parámetro está escrito con un espacio entre ":" y el nombre; debe ser "/:notificacionId". La ruta debe declararse siempre como POST. Express no permite parámetros dinámicos en Router. Los parámetros solo se leen con req.query.

Seleccioná todas las afirmaciones correctas sobre comunicación entre componentes, Context y formularios React. Hay 3 opciones correctas. Cada opción correcta seleccionada suma puntaje parcial; las opciones incorrectas descuentan. Modificar estado privado de otro componente directamente. Usar Context para estado transversal como sesión. Enviar datos hijo padre mediante callbacks. Guardar roles sensibles como texto HTML editable. El flujo de datos entre componentes debe ser explicito para evitar estado duplicado o efectos laterales confusos.

Seleccioná todas las afirmaciones correctas sobre Axios, servicios e interceptores. Hay 2 opciones correctas. Cada opción correcta seleccionada suma puntaje parcial; las opciones incorrectas descuentan. Agregar bearer token con un interceptor de request. Enviar tokens en query string para simplificar. Centralizar llamadas en servicios. Duplicar URLs y headers en cada componente.

El botón Guardar debe deshabilitarse mientras se envía el formulario. ¿Qué propiedad de formState sirve? Elegí la alternativa correcta. isSubmitting. isJwtExpired del DOM. isValidRoute. hasCors.

Para consultar una notificación por identificador se declara router.get("/: notificacionId") y el código falla porque req.params llega vacío. ¿Cuál es la causa más probable? Elegí la alternativa correcta. La ruta debe declararse siempre como POST. El parámetro está escrito con un espacio entre ":" y el nombre; debe ser "/:notificacionId". Los parámetros solo se leen con req.query. Express no permite parámetros dinámicos en Router.

Relacioná cada concepto de middlewares y manejo de errores en Express con su uso principal. Usá la relación técnica más específica. next(error). express.static. cors(). next().

Seleccioná todas las afirmaciones correctas sobre testing de APIs y contratos HTTP. Hay 3 opciones correctas. Cada opción correcta seleccionada suma puntaje parcial; las opciones incorrectas descuentan. Probar un endpoint solo mirando logs manuales. Depender del orden global de ejecución de tests. Un buen test verifica comportamiento observable y evita depender de detalles internos innecesarios. Verificar status HTTP esperado. Verificar forma relevante del JSON de respuesta.

El backend valida un JWT de Keycloak. ¿Qué claim ayuda a comprobar que el token no esté vencido?. exp. preferred_username. sub. given_name.

Relacioná cada concepto de React, Vite y JSX con su uso principal. Usá la relación técnica más específica. createRoot. JSX. Vite. key.

Seleccioná todas las afirmaciones correctas sobre componentes, props, estado, hooks y efectos. Hay 3 opciones correctas. Cada opción correcta seleccionada suma puntaje parcial; las opciones incorrectas descuentan. Mutar arrays de estado sin crear nueva referencia. Actualizar estado sin mutar referencias ayuda a que React detecte cambios de manera predecible. Actualizar estado mediante el setter. Declarar dependencias reales en useEffect. Llamar hooks dentro de if de manera condicional.

Seleccioná todas las afirmaciones correctas sobre React Router. Hay 3 opciones correctas. Cada opción correcta seleccionada suma puntaje parcial; las opciones incorrectas descuentan. Proteger la API solamente ocultando enlaces. Usar req.params dentro de componentes React. Leer parámetros dinámicos con useParams. Redirigir desde código con useNavigate cuando corresponde. La navegación cliente debe coordinar URL, parámetros y componente renderizado sin reemplazar autorización backend.

Un formulario React recarga la página al enviar. ¿Qué acción básica falta en el handler? Elegí la alternativa correcta. res.status(201).json(). event.preventDefault(). npm run build dentro del submit. app.use(express.static()).

Para crear una notificación con Axios, ¿cuál es la forma correcta de pasar body JSON y headers? Elegí la alternativa correcta. axios.post("/notificaciones", { headers }, datos). axios.get("/notificaciones", datos, headers). axios.post("/notificaciones", datos, { headers: { "Content-Type": "application/json" } }). axios.delete("/notificaciones", datos, { body: true }).

Seleccioná todas las afirmaciones correctas sobre React Hook Form, validaciones y formState. Hay 2 opciones correctas. Cada opción correcta seleccionada suma puntaje parcial; las opciones incorrectas descuentan. Usar CORS como regla de validación de formulario. Registrar inputs con register. Leer errores y estado desde formState. Validar solo con alert sin registrar campos.

Relacioná cada concepto de comunicación entre componentes y formularios React con su uso principal. Usá la relación técnica más específica. callback. useRef. preventDefault. controlled input.

La app debe adjuntar el access token a todas las llamadas protegidas. ¿Dónde conviene centralizarlo? Elegí la alternativa correcta. En el body de todas las respuestas 404. En un interceptor de request de Axios que agregue Authorization: Bearer <token>. En el nombre de la ruta React. En cada h1 visible de la página.

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

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

Para consultar una asistencia por identificador se declara router.get("/: asistenciaId") y el codigo falla porque req.params llega vacio. ¿Cual es la causa mas probable? Elegi la alternativa correcta. Los parametros solo se leen con req.query. Express no permite parametros dinamicos en Router. La ruta debe declararse siempre como POST. El parametro esta escrito con un espacio entre ":" y el nombre; debe ser "/:asistenciaId".

Relaciona cada concepto de React Hook Form con su uso principal. Usa la relacion tecnica mas especifica. handleSubmit. formState.errors. register. reset.

Denunciar Test