AD-UT05
|
|
Título del Test:
![]() AD-UT05 Descripción: Gestión de ficheros en Java. |



| Comentarios |
|---|
NO HAY REGISTROS |
|
¿Cuál es el caso de uso más habitual del formato CSV?. Intercambio de datos jerárquicos entre APIs REST. Almacenar ficheros binarios como imágenes o vídeos. Exportar datos tabulares para abrir en Excel o importar datos masivos desde fuentes externas. Definir la estructura de una base de datos relacional. ¿En qué versión de Java se introdujo la API NIO2 (New I/O 2)?. Java 8. Java 5. Java 7. Java 11. ¿Cuándo ejecuta Spring un método anotado con @PostConstruct?. Justo después de construir el objeto e inyectar sus dependencias, antes de atender peticiones. Solo cuando se llama explícitamente desde el controlador. Cuando se destruye el bean al apagar la aplicación. Cada vez que se recibe una petición HTTP. ¿Qué tipo de Resource se usa habitualmente en Spring Boot para devolver ficheros del sistema de ficheros local?. ClassPathResource. InputStreamResource. ByteArrayResource. UrlResource. ¿Cuál es la clase central de Jackson para serializar y deserializar objetos Java a JSON?. JsonParser. ObjectMapper. JSONObject. Gson. ¿Qué comportamiento provoca la cabecera Content-Disposition con valor "inline"?. El navegador intenta mostrar el fichero directamente (imagen, PDF, etc.). Comprime el fichero antes de enviarlo. Fuerza la descarga con el diálogo "Guardar como...". Envía el fichero como adjunto en un correo electrónico. En Spring Boot, ¿qué interfaz representa un fichero recibido en una petición HTTP?. MultipartFile. Resource. InputStream. Path. ¿Qué hace el método Files.createDirectories() si la carpeta ya existe?. No hace nada ni lanza excepción. Borra la carpeta y la vuelve a crear. Lanza una FileAlreadyExistsException. Crea una carpeta con un nombre diferente añadiendo un sufijo. ¿Qué comportamiento provoca la cabecera Content-Disposition con valor "attachment" en el navegador?. Fuerza la descarga del fichero mostrando el diálogo "Guardar como...". Redirige al usuario a otra URL. Elimina el fichero del servidor tras descargarlo. Muestra el fichero directamente dentro del navegador. ¿Para qué se utiliza la anotación @Value en el StorageServiceImpl?. Para validar que un campo no sea nulo. Para inyectar valores de application.properties en el código sin hardcodearlos. Para asignar un nombre personalizado al bean de Spring. Para indicar el valor por defecto de un campo en la base de datos. ¿Qué efecto tiene la anotación @JsonIgnore sobre un campo de un DTO?. El campo nunca aparece en el JSON serializado ni se lee al deserializar. El campo se formatea con un patrón de fecha personalizado. El campo se muestra con un nombre diferente en el JSON. El campo se convierte a null en el JSON. ¿Qué código HTTP devuelve el GlobalExceptionHandler cuando se lanza una StorageNotFoundException?. 403 (Forbidden). 500 (Internal Server Error). 404 (Not Found). 400 (Bad Request). ¿Cuál de los siguientes métodos de la clase Files se usa para escribir texto en un fichero?. Files.createDirectories(). Files.readAllLines(). Files.writeString(). Files.list(). ¿Qué representa la clase Path de NIO2?. Una ruta de fichero o directorio en el sistema de ficheros, sin acceder aún al fichero. Un flujo de bytes para leer datos binarios. El contenido de un fichero de texto. Una conexión de red a un servidor de ficheros. ¿Por qué se define StorageService como una interfaz en lugar de una clase directa?. Porque las interfaces permiten guardar ficheros más grandes. Porque Spring Boot obliga a que todos los servicios sean interfaces. Para que el código compile más rápido. Para poder tener varias implementaciones intercambiables (local, S3, BD) sin cambiar el controlador. ¿Qué propiedad de application.properties limita el tamaño máximo de un fichero individual subido?. spring.servlet.multipart.max-request-size. server.max-upload-size. spring.servlet.multipart.max-file-size. app.storage.location. ¿Cómo se indica a Spring qué implementación de StorageService debe inyectar cuando hay varias?. Usando la anotación @Primary en todas las implementaciones. Usando la anotación @Profile junto con la propiedad spring.profiles.active en application.properties. Escribiendo el nombre de la clase concreta en el constructor del controlador. Spring inyecta siempre la primera clase que encuentra en orden alfabético. ¿Por qué se usa UUID.randomUUID() al guardar ficheros en el StorageServiceImpl?. Porque Spring Boot obliga a usar UUID en nombres de fichero. Para cifrar el contenido del fichero. Para reducir el tamaño del fichero guardado. Para evitar colisiones de nombres si dos usuarios suben ficheros con el mismo nombre. ¿Para qué se utiliza el método resolve() de la clase Path?. Para convertir una ruta relativa en absoluta. Para combinar dos rutas de forma segura (por ejemplo, carpeta y nombre de fichero). Para borrar un fichero del sistema. Para verificar si un fichero existe. ¿Qué comportamiento provoca la cabecera Content-Disposition con valor "attachment" en el navegador?. Muestra el fichero directamente dentro del navegador. Redirige al usuario a otra URL. Fuerza la descarga del fichero mostrando el diálogo "Guardar como...". Elimina el fichero del servidor tras descargarlo. |




