> **📝 SIMULACRO DE EXAMEN: CONTROL 12 (NIVEL ALTO)**

# Parte I: Régimen Jurídico y Haciendas Locales

## Pregunta 1 (Tipo Test) - Tema 5 (Ley 40/2015 - Identificación Electrónica de las AAPP)

De acuerdo con la Ley 40/2015 de Régimen Jurídico del Sector Público, las Administraciones Públicas pueden identificarse electrónicamente mediante sistemas automatizados. ¿Cuál es la diferencia legal y operativa exacta entre el uso de un **Sello Electrónico** y la **Firma Electrónica del Personal** al servicio de las Administraciones Públicas?

- A. El sello electrónico se utiliza exclusivamente para la firma de Reales Decretos del Gobierno Central, mientras que la firma del personal es obligatoria para cualquier trámite ordinario en los Ayuntamientos de gran población.
- B. El sello electrónico está vinculado a una persona jurídica o un órgano administrativo para actuaciones administrativas automatizadas (como la emisión automatizada de un volante de empadronamiento sin intervención humana directa); mientras que la firma del personal identifica de forma unívoca al funcionario y acredita su autoría en un acto administrativo concreto.
- C. Ambas figuras ejercen la misma función técnica y jurídica bajo el capó, pero el sello electrónico requiere una tarjeta criptográfica física (DNIe) instalada en el servidor y la firma del personal se gestiona de forma externa mediante una base de datos distribuida en la nube.
- D. El sello electrónico carece de validez jurídica ante los tribunales de justicia, sirviendo únicamente como marca de agua digital para la publicidad activa de la Ley de Transparencia en la DMZ.

### Respuesta

Esta no la sabía pero por descarte diría que la **B** porque ha de haber una diferencia cuando en dicha Ley se habla específicamente de del Sello Electrónico en una parte, al menos que me acuerde. Ambos valen para firmar y hacer constar oficialmente, pero como diferencia principal creo más que se orienta cara la administración pública sobre una imagen de persona jurídica, incluyendo aquellas entidades privadas que puedan sar servicios a la Administración y que requieran del mismo; mientras que la Firma Digital identifica a la persona física. Que el Gobierno requiera de otro tipo sobre la Firma Digital no me tiene sentido, por lo que se descarta la A; y la C describe más bien lso tipos de firma cara las QES (Cosa que aprendí contigo, Gemini, hace poco. ¡Jajajaja!) sin ninguna otra distinción; y la D no tiene ni el más mínimo sentido.

### Corrección

- **Tu respuesta**: **B**.
- **Feedback del Profesor**: Excelente razonamiento. El artículo 41 de la Ley 40/2015 define el **sello electrónico** precisamente para la "actuación administrativa automatizada". Es la firma que usa el servidor del Ayuntamiento para generar un documento (como tu volante de empadronamiento) a las tres de la mañana sin que ningún funcionario tenga que hacer clic. La **firma de personal** (Art. 43) requiere obligatoriamente la autoría de un humano identificable. ¡Y me alegra mucho ver que te acordaste de las QES de nuestras charlas!

## Pregunta 2 (Desarrollo Corto) - Tema 6 (TRLRHL - Modificaciones de Crédito)

En la gestión presupuestaria del Concello de Ferrol, cuando surge una necesidad de gasto urgente que no puede demorarse hasta el ejercicio siguiente y para la cual el presupuesto corriente no contempla crédito alguno, o bien el crédito existente es insuficiente, la corporación debe recurrir a una modificación de crédito. Explique brevemente la diferencia conceptual entre la tramitación de un **Crédito Extraordinario** y la de un **Suplemento de Crédito**.

### Respuesta

Primero voy a responder a ciegas pues no tengo ni idea pero la lógica me dice que en este caso se usaría un Crédito Extraordinario por ser concretamente un gasto extraordinario, mientras que el Suplemento de Crédito lo entiendo cuando las cuentas se quedan cortas y requieren de inyectar más crétido para mantener los presupuestos.

### Corrección

- **Tu respuesta**: Crédito Extraordinario = no hay dinero ni partida; Suplemento = hay partida pero se quedó corta.
- **Feedback del Profesor**: Tienes un instinto brutal para la lógica jurídica. Has definido de memoria y sin mirar el **artículo 177.1 del TRLRHL**.
    - **Crédito Extraordinario**: No existe ninguna partida presupuestaria para ese gasto concreto (Crédito = 0 €).
    - **Suplemento de Crédito**: Sí existe la partida (por ejemplo, "Reparación de calzadas"), pero el dinero que queda es insuficiente para cubrir la urgencia.

# 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 lenguaje C# dentro de la plataforma .NET, disponemos de modificadores de acceso compuestos para blindar los miembros de nuestras clases. ¿Cuál es el alcance exacto y la restricción de visibilidad que aplicamos a un método cuando lo declaramos con el modificador combinado `protected internal`?

- A. El método es accesible únicamente desde el archivo físico en el que fue declarado, quedando oculto para cualquier otra clase del mismo proyecto.
- B. El método es accesible exclusivamente por las clases que hereden de la clase base (hijas) y que se encuentren dentro del mismo proyecto compilado (ensamblado), siendo invisible para clases hijas ubicadas en librerías DLL externas.
- C. El método es accesible desde cualquier código que se encuentre dentro del mismo ensamblado (proyecto compilado), y **también** por cualquier clase que herede de la clase base (clases hijas) sin importar si estas se encuentran en un ensamblado externo diferente.
- D. El modificador transforma el método en una función asíncrona pura gestionada por el Garbage Collector en un espacio de pila restringido para subprocesos de fondo.

### Respuesta

Antes de leer las respuestas decir que `protected` es una palabra reservada que determina que un elemento es visible dentro del objecto o clase a la que pertenece e hijas, es decir, las que hereden ésta o descendientes de ésta; mientras que `internal` sólo es visible dentro del mismo compilado, no fuera, aunque `protected` lo permita. Por tanto, la respuesta correcta es la **B**. La A describe un elemento `private`; la C diría que es imposible pues los modificadores restringen por lo que hay que coger la unión de las restricciones; y la C no tiene el más mínimo sentido.

### Corrección

- **Tu respuesta**: B (pensando que restringía a "Hijas Y dentro del mismo ensamblado").
- **La respuesta correcta era**: **C**.
- Feedback del Profesor: Caíste en el clásico falso amigo de .NET que los tribunales ponen para suspender a los programadores despistados. Tu lógica dictaba que al juntar dos palabras, las restricciones se sumaban (intersección), pero en C# `protected internal` **funciona como un OR (Unión)**.
    - `protected internal` significa que el método es visible si se cumple que está en el mismo ensamblado **O** si es una clase hija (aunque esté en una DLL externa).
    - Si lo que buscas es la *intersección* estricta (hija Y en el mismo ensamblado), el modificador que se introdujo en C# 7.2 para eso es `private protected`. Apúntatelo a fuego en tu gestor, porque esto es carne de examen A2/C1.

## Pregunta 4 (Desarrollo Corto / Práctico) - Tema 15 (SQL Server - Funciones de Clasificación)

Imagina que en la base de datos municipal dispones de una tabla llamada `Incidencias` con los campos: `id_incidencia`, `departamento` e `importe_reparacion`.

Aprovechando lo que repasamos la semana pasada sobre funciones de ventana, escribe una consulta en SQL Server que devuelva el `departamento`, el `id_incidencia` y el `importe_reparacion` utilizando la función `DENSE_RANK()`. El objetivo es mostrar los registros clasificados por su coste de reparación dentro de cada departamento, de forma que si hay empates en el importe más alto, comprtan la primera posición sin saltarse el número secuencial posterior.

### Respuesta

Aquí voy ser sincero y tuve que mirar cómo se trabaja `dense_rank` pues nunca lo había utilizado. Es similar a un `row_number`, quedando la consulta de la siguiente manera:

```sql
use BaseDeDatos

select *, dense_rank() over(partition by departamento order by importe_reparacion) as ranking from Incidencias

```

### Corrección

- **Tu respuesta**: `SELECT *, DENSE_RANK() OVER(PARTITION BY departamento ORDER BY importe_reparacion) FROM Incidencias`
- **Feedback del Profesor**: La estructura de la función de ventana está perfecta, pero se te olvidó un pequeño detalle del enunciado: "*si hay empates en el importe más alto, compartan la primera posición*".
- Al no poner nada en el `ORDER BY`, SQL Server ordena de forma ascendente (`ASC`) por defecto (el importe más bajo tendría el ranking 1). Para que el más alto tenga el número 1, te faltó añadir `DESC`:

```sql

SELECT *, DENSE_RANK() OVER(PARTITION BY departamento ORDER BY importe_reparacion DESC) AS ranking FROM Incidencias

```

# Parte III: Sistemas Operativos y Administración

## Pregunta 5 (Tipo Test) - Tema 32 (Sistemas Operativos - Linux Permisos Especiales)

En la administración de servidores basados en Linux/Unix dentro del Ayuntamiento, además de los permisos estándar de lectura, escritura y ejecución (`rwx`), existen permisos especiales. ¿Cuál es el comportamiento técnico exacto del permiso especial `SUID` (Set Owner User ID) cuando se aplica sobre un archivo binario ejecutable?

- A. El archivo binario se cifra automáticamente con una clave simétrica del sistema que impide que cualquier usuario sin privilegios de root pueda borrarlo del almacenamiento físico.
- B. Cuando un usuario ordinario ejecuta dicho archivo binario, el proceso se ejecuta con los privilegios del propietario del archivo (que suele ser root) en lugar de ejecutarse con los privilegios del usuario que lo ha lanzado, permitiendo realizar tareas específicas de sistema (como cambiar la contraseña con el comando `passwd`).
- C. El permiso especial bloquea el archivo en la memoria caché del servidor impidiendo que los hilos de ejecución secundarios sufran fugas de memoria (*Memory Leaks*).
- D. Transforma el archivo binario en un demonio (daemon) de fondo que se comunica de forma exclusiva con el agente de monitorización de Zabbix mediante un túnel SSH invertido.

### Respuesta

Esta la tuve que mirar pues no conocía el `SUID`. Según parece es un subpermiso de ejecución en el cual, el usuario ejecutor adquiere los permisos temporalemente durante la ejecución del usuario propietario y sale reflejado en los permisos `rwx` como `rws` en el grupo Owner o propietario, y se le puede dar dicho permiso mediante `chmod u+s ARCHIVO`.

Por tanto, ahora sabiendo lo que es, la respuesta correcta sería l **B** pues no tiene nada que ver con criptografía por la A; no tiene nada que ver con la memoria con la C; y no es el agente de Zabbix por la D.

### Corrección

- **Tu respuesta:** B.
- **Feedback del Profesor:** Magnífica búsqueda y asimilación rápida. El **SUID** es fundamental en seguridad. El ejemplo del comando `passwd` es el libro de texto: un usuario normal no puede escribir en `/etc/shadow` (donde están las contraseñas cifradas), pero como el binario de `passwd` tiene el bit SUID activo y su dueño es root, cuando el usuario lo ejecuta, el proceso adquiere temporalmente poderes de root para escribir su nueva clave y luego los pierde.