- **📝 SIMULACRO DE EXAMEN: CONTROL 8 (NIVEL ALTO)**

# Parte I: Legislación y Procedimiento Administrativo

## Pregunta 1 (Tipo Test) - Tema 5 (Ley 39/2015 - Caducidad)

En los procedimientos iniciados de oficio por la Administración local de los que puedan derivarse efectos desfavorables o de gravamen (como un procedimiento sancionador urbanístico o tributario en el Concello), si vence el plazo máximo establecido sin que se haya notificado una resolución expresa, ¿cuál es la consecuencia jurídica exacta según la ley?

- A. Se producirá la caducidad del procedimiento, debiendo la Administración ordenar el archivo de las actuaciones, sin que esto impida por sí mismo que se pueda abrir un nuevo procedimiento idéntico si la infracción original aún no ha prescrito.
- B. Se entenderá estimado el procedimiento por silencio positivo en beneficio del presunto infractor, quedando la Administración local obligada a dictar una resolución expresa de carácter confirmatorio en el plazo improrrogable de 3 días hábiles.
- C. Se suspenderá automáticamente el cómputo del plazo de prescripción de la infracción objeto del expediente, quedando el órgano instructor facultado para prorrogar las actuaciones de investigación por un periodo equivalente a la mitad del plazo originario.
- D. El procedimiento quedará interrumpido por causa imputable a la Administración, devengándose de forma inmediata intereses de demora a favor del interesado y declarándose la nulidad de pleno derecho de todas las actuaciones previas del expediente.

### Respuesta

Esta la voy a responder a ciegas pues creo que sé cual es la correcta. Entiendo que la **A** pues la infracción sigue vigente, salvo que prescribiera por el tiempo transcurrido. Además, cuando hay una fecha o plazo establecido y se excede de esa fecha sin un fin aclaratorio se entiende la caducidad.

### Corrección

- **Tu respuesta**: **A**.
- **Feedback del Profesor**: Clavada a ciegas. El artículo 25.1.b de la Ley 39/2015 establece que en procedimientos de gravamen o sancionadores, el vencimiento del plazo sin notificar dicta la caducidad. El archivo es obligatorio, pero como bien dijiste, si la infracción no ha prescrito, la Administración puede volver a abrir el expediente desde cero.

## Pregunta 2 (Desarrollo Corto) - Tema 8 (Ley 3/1983 - Normalización Lingüística)

De acuerdo con la Ley 3/1983, de normalización lingüística de Galicia, explique brevemente cuál es el régimen jurídico aplicable a la **toponimia oficial** de Galicia. ¿Quién tiene la competencia legal para determinar los nombres oficiales de los lugares y qué validez u oficialidad tienen las formas tradicionales traducidas al castellano?

### Respuesta

La toponimia pertenece a la entidad local, es decir, a los Ayuntamientos. Éstos han de ser en Gallego salvo que no se pueda. El nombre establecido será el oficial, sin opción a traducción.

Este contexto, hablando más a ciegas, entiendo que va marcado con dos excepciones: cuando un elemento como un río o bosque, entre otros, excede de ese marco, donde entraría en juego la administración superior o la Xunta de Galicia; además de excepciones que nos podemos encontrar como la Provincia de Ourense, pudiendo ser Orense y Ourense. También entiendo que las administraciones locales que establecen nombres topónimos han de comunicarlo a la Xunta quien será el órgano que las oficie finalmente. Puede que esté mal pero es por razonamiento, además de así extender y aprender de mis errores y corregir mi pensamiento.

### Corrección

- **Tu respuesta**: Dijiste que la competencia es de los Ayuntamientos y que "Orense" es una excepción válida.
- **Feedback del Profesor**: Aquí el tribunal te habría crujido. Has acertado en que la única forma oficial es la gallega y que no cabe traducción, pero **fallaste en quién manda aquí**:
    1. **La competencia real**: Según el artículo 10.2 de la Ley 3/1983, corresponde al **Consello da Xunta de Galicia** determinar los topónimos oficiales, no a los Ayuntamientos (aunque se les escuche en el proceso).
    2. **El caso de Ourense**: Legalmente **no existe la doble denominación**. Desde la Ley estatal 2/1998, la *única* forma oficial aprobada por las Cortes Generales tanto para la provincia como para la capital es exclusivamente **Ourense**. El término "Orense" quedó relegado al uso informal en castellano, pero carece de validez administrativa oficial.

# Parte II: Desarrollo y Estructura de Datos (.NET y SQL)

## Pregunta 3 (Tipo Test) - Tema 12 (Programación Orientada a Objetos en C#)

En el desarrollo sobre la plataforma .NET utilizando el lenguaje C#, al heredar de una clase base que posee un método marcado como `virtual`, ¿cuál es la diferencia técnica y conceptual fundamental entre declarar en la clase hija ese mismo método con el modificador `override` frente a declararlo con el modificador `new` (*shadowing / ocultación*)?

- A. El modificador `override` extiende la accesibilidad del método transformándolo en estático para todo el ensamblado interno, mientras que `new` destruye la referencia en el montón (*heap*) obligando al Garbage Collector a liberar la memoria.
- B. El modificador `override` proporciona una nueva implementación del método virtual manteniendo el polimorfismo (si invocamos el método a través de una variable de referencia de la clase base, se ejecutará el de la clase hija); mientras que `new` oculta el método de la clase base sin reemplazarlo (el método que se ejecute dependerá estrictamente del tipo de la variable de referencia utilizada).
- C. El modificador `override` se utiliza exclusivamente cuando la clase base es una interfaz pura que implementa el modelo *Multicast* de delegados, mientras que `new` es obligatorio para evitar fugas de memoria (*Memory Leaks*) en hilos secundarios de ejecución.
- D. Ambos modificadores realizan exactamente la misma función técnica en el código de nivel intermedio (IL), pero `override` se reserva por buenas prácticas de ITIL para entornos de producción y `new` se limita a las fases de depuración local.

### Respuesta

Esta la tuve que buscar y encontré que es la **B** pues el modificador `new` hace que si se llama sobre un casteo sobre el padre, éste llame al método padre mientras que si es desde el hijo llame al método hijo mientras que si es desde el padre llamará al método del padre; a diferencia de `override` que siempre llamará al hijo. Por tanto, en este caso hablamos de que es la **B**.

> **NOTA**: Es importante aclarar todo esto porque nunca lo utilicé, para mi es contenido nuevo.

### Corrección

- **Tu respuesta**: **B**.
- **Feedback del Profesor**: Excelente búsqueda. Lo has entendido a la perfección:
    - `override` consolida el polimorfismo. Si manejas al objeto hijo vestido con la ropa del padre (una referencia de la clase base), se ejecutará el método del hijo.
    - `new` rompe el polimorfismo (oculta). Si lo manejas como clase base, ejecuta el del padre; si lo manejas como clase hija, ejecuta el de la hija. Es un concepto abstracto que raramente se usa en producción, pero en los exámenes de desarrollo técnico del grupo A2/C1 entra muchísimo.

## Pregunta 4 (Desarrollo Corto / Práctico) - Tema 15 (Lenguaje SQL Avanzado)

Imagina que en la base de datos municipal del Concello de Ferrol tienes una tabla llamada `Incidencias` con los siguientes campos: `id_incidencia`, `departamento`, `fecha_creacion` e `importe_reparacion`.

Escribe una consulta en SQL Server que utilice una **función de ventana** (como `ROW_NUMBER`, `RANK`, etc.) o una **CTE (Common Table Expression)** para obtener, por cada `departamento`, únicamente la incidencia que haya tenido el `importe_reparacion` **más alto** (debiendo mostrar en el resultado final: `departamento`, `id_incidencia` e `importe_reparacion`).

### Respuesta

Tuve que mirar que es una función de ventana porque no tenía ni idea. Básicamente son funciones que nos permiten hacer análisis de datos concretos sobre otros que les afecten, como medias, totales, etc. En este caso se pide que se busquen estas condiciones. En sí, no hay una definición clara de por donde ir pues hay varias opciones, así que voy a tirar dados.

```sql
use BaseDeDatos

select incidencias.departamento, incidencias.id_incidencia, incidencias.importe_reparacion 
from (
    select *, max(importe_reparacion) over(partition by departamento) as importe_maximo
    from dbo.Indicencias 
) incidencias
where incidencias.importe_reparacion = incidencias.importe_maximo

```

> **NOTA**: ¿Qué son los CTE? ¿Me puedes dar un ejemplo? ¿Qué más opciones hay a parte de `row_number`, que es el que conozco y uso habitualmente y qué los diferencia?

> **NOTA**: Creo que la consulta que hice es muy poco funcional y creo que se podría mejorar eliminando la anidación, pero no se me ocurre.

### Corrección

- **Tu respuesta**: Tu código utilizando una subconsulta con MAX() OVER(PARTITION BY...) es completamente válido y funcional. ¡No es poco funcional para nada! Funciona de lujo.

Para responder a tus notas, vamos a limpiar esa anidación utilizando herramientas de nivel senior: **CTEs** y funciones de clasificación.

#### 💡 ¿Qué es una CTE (Common Table Expression)?

Es una forma de definir un conjunto de resultados temporales que solo existe durante la ejecución de esa consulta. Piensa en ella como una "vista virtual" que escribes justo antes del `SELECT` principal para que el código sea infinitamente más legible y limpio, evitando subconsultas anidadas dentro del `FROM`.

Si reescribimos tu consulta utilizando una CTE y la función de ventana `ROW_NUMBER()`, el código queda impecable:

```SQL

WITH CTE_IncidenciasMaximas AS (
    SELECT 
        departamento, 
        id_incidencia, 
        importe_reparacion,
        ROW_NUMBER() OVER(PARTITION BY departamento ORDER BY importe_reparacion DESC) as ranking
    FROM dbo.Incidencias
)
SELECT departamento, id_incidencia, importe_reparacion
FROM CTE_IncidenciasMaximas
WHERE ranking = 1;

```

#### 📊 ¿Qué otras funciones de ventana hay y qué las diferencia?

Cuando quieres ordenar o clasificar datos por grupos (`PARTITION BY`), las tres funciones reinas son:

1. `ROW_NUMBER()`: Asigna un número secuencial estricto (1,2,3,4...). Si hay un empate en el importe de reparación, a una le dará el 1 y a otra el 2 de forma arbitraria.
2. `RANK()`: Si hay un empate, les da el mismo número pero **salta** posiciones en el conteo. Si las dos más altas empatan, el resultado será: 1,1,3,4... (se salta el 2).
3. `DENSE_RANK()`: Si hay un empate, les da el mismo número **sin saltarse** ninguna posición. Si las dos más altas empatan, el resultado será: 1,1,2,3...

# Parte III: Esquema Nacional de Seguridad

## Pregunta 5 (Tipo Test) - Tema 29 (Normativa ENS - Roles de Seguridad)

De acuerdo con el Real Decreto 311/2022 por el que se regula el Esquema Nacional de Seguridad (ENS), ¿cómo se estructuran y diferencian las competencias básicas entre el rol de **Responsable del Servicio** y el rol de **Responsable de Seguridad** dentro de una organización pública local?

- A. El Responsable de Seguridad coordina de forma directa la criptografía asimétrica en la red perimetral, mientras que el Responsable del Servicio se limita a visar los contratos de suministro de hardware.
- B. El Responsable de Seguridad tiene la facultad exclusiva de dictar las directrices políticas operacionales del Pleno, mientras que el Responsable del Servicio puede eximir al Ayuntamiento del cumplimiento de las dimensiones DICAT.
- C. El Responsable del Servicio determina los requisitos de seguridad de los servicios prestados (fijando los niveles de las dimensiones), mientras que el Responsable de Seguridad implanta, gestiona y supervisa la eficacia de las medidas de seguridad necesarias para cumplir esos requisitos.
- D. El Responsable del Servicio recae de forma unificada en el Delegado de Protección de Datos (DPD), mientras que el Responsable de Seguridad es un rol externo que gestiona físicamente los accesos al Centro de Procesamiento de Datos (CPD).

### Respuesta

Aquí no me encaja ninguno. El Responsable del Servicio es el que gestiona en sí el servicio y ha de seguir las pautas establecidas por el Responsable de Seguridad para garantizar la seguridad de la misma. Un Responsable de Seguridad puede pedir un antivirus, pero quien lo elige y y lo instala es el Responsable del Servicio. Por cercanía, pero poco me encaja sería la **B**.

### Corrección

- **Tu respuesta**: **B** (pensando que Seguridad manda y Servicio obedece).
- **La respuesta correcta era**: **C**.
- **Feedback del Profesor**: Esta es la típica pregunta donde todo el mundo pincha porque la lógica común nos traiciona. En el ENS, las competencias están separadas por un sistema de contrapesos para que nadie tenga el control absoluto:
    - **Responsable del Servicio**: Es el "dueño" del negocio (ej. el jefe de la oficina del Padrón). Él sabe lo importante que es su servicio. Por tanto, **él determina los requisitos de seguridad** (ej: *"Mi servicio de padrón no puede caerse más de 2 horas, así que exijo Disponibilidad Alta"*).
    - **Responsable de Seguridad**: Es el técnico que recoge esos requisitos e **implanta, gestiona y supervisa las medidas** necesarias para que se cumpla lo que ha pedido el del servicio (ej: *"Como me pides Disponibilidad Alta, voy a montar un clúster de servidores en alta disponibilidad"*).

El de seguridad no impone los niveles; el de seguridad proporciona las defensas para cumplir los niveles que el negocio (el Servicio) necesita.