💻 Examen Final Profesional – Acceso a Datos DAM (con soluciones tipo)


¿Quieres probar si estás listo para trabajar con datos reales? Este simulacro integra varios formatos, tecnologías y retos como los que podrías encontrar tanto en el examen final como en un proyecto real.


📂 Parte 1 – Extracción de Datos

1. Lectura y unificaciĂłn de mĂşltiples fuentes

Enunciado:
Carga los siguientes archivos en una estructura comĂşn PaisCompleto:

  • paises.csv (datos básicos)
  • paises.xls (superficie y costa)
  • paises.json (para verificar consistencia)
  • religiones.xml (estructura DOM o JAXB)

Objetivo:
Unificar los datos sin duplicados, reportando inconsistencias en consola.

SoluciĂłn esperada:

class PaisCompleto {
    String nombre;
    int habitantes;
    String idioma;
    double superficie;
    double kmCosta;
    List<Religion> religiones;
}

🧪 Parte 2 – Validación y transformación

2. ValidaciĂłn con XSD y conversiĂłn

Enunciado:
Valida el archivo religiones.xml con un esquema XSD.
Luego, transforma las religiones con más de 10 millones de practicantes en cada país a un nuevo XML (mayorias.xml), usando JAXB o XSLT.

Bonus:
Genera también una versión mayorias.json equivalente.


🧷 Parte 3 – Persistencia Dual

3. Hibernate + MongoDB sincronizados

Enunciado:

  • Almacena los paĂ­ses y religiones en Hibernate.
  • Almacena las ciudades en MongoDB.
  • Cuando se elimine un paĂ­s en Hibernate, las ciudades correspondientes deben ser eliminadas en MongoDB automáticamente.

Tip:
Implementa una lĂłgica en el DAO con @Transactional y una llamada al cliente Mongo.


🔍 Parte 4 – Consultas combinadas

4A. XQuery en eXistDB

Consulta:
Muestra todos los paĂ­ses con:

  • Más de 2 religiones distintas con más de 1 millĂłn de practicantes.
  • Al menos una ciudad con más de 1 millĂłn de habitantes.

4B. MongoDB (Consulta de agregaciĂłn)

Consulta que devuelva:

  • Las ciudades con más densidad de poblaciĂłn.
  • Mostrando: nombre ciudad, paĂ­s, habitantes, superficie, densidad.

Pipeline sugerido:

db.ciudades.aggregate([
  { $project: {
      nombre: 1,
      pais: 1,
      num_habitantes: 1,
      superficie: 1,
      densidad: { $divide: ["$num_habitantes", "$superficie"] }
  }},
  { $sort: { densidad: -1 } }
])

💡 Parte 5 – Miniaplicación CLI

Enunciado:
Desarrolla una aplicaciĂłn de consola con este menĂş:

  1. Cargar datos de todos los formatos
  2. Mostrar paĂ­ses con mayorĂ­a religiosa
  3. Mostrar las 3 ciudades más densas
  4. Exportar paĂ­ses en JSON
  5. Guardar datos en Mongo o Hibernate
  6. Salir

Extra: Permite que el usuario decida si trabajar en modo:

  • Solo Mongo
  • Solo Hibernate
  • Modo sincronizado

đź§  ConclusiĂłn

Este examen pone a prueba tu capacidad para trabajar con mĂşltiples fuentes de datos, validarlas, transformarlas y consultarlas de forma eficiente. Dominarlo significa estar listo para el mundo laboral real.


Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable: Tomas Gonzalez.
  • Finalidad:  Moderar los comentarios.
  • LegitimaciĂłn:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • InformaciĂłn Adicional: Puede consultar la informaciĂłn detallada en la PolĂ­tica de Privacidad.

error: Content is protected !!
Este sitio web utiliza cookies, si necesitas más informaciĂłn puedes visitar nuestra polĂ­tica de privacidad    Ver
Privacidad