Mix 20250112-1 Flashcards
¿Qué es una arquitectura monolítica en el contexto de la arquitectura software?
Una arquitectura monolítica es un estilo de diseño donde todos los componentes de una aplicación están integrados en una única unidad indivisible. Esto implica que la interfaz de usuario, la lógica de negocio y el acceso a datos se encuentran en un solo bloque de código, lo que puede dificultar la escalabilidad y el mantenimiento.
Define el principio de cohesión en el análisis y diseño de sistemas de información.
La cohesión se refiere al grado en que las responsabilidades de un módulo o componente están relacionadas y enfocadas en una única tarea. Una alta cohesión indica que los elementos de un módulo están altamente relacionados entre sí, lo que mejora la mantenibilidad y la comprensibilidad del sistema.
¿Qué es la inyección de dependencias y cuáles son tres beneficios de su uso?
La inyección de dependencias es un patrón de diseño que permite a un objeto recibir sus dependencias desde fuentes externas en lugar de crearlas internamente. Tres beneficios son:
- Desacoplamiento: Reduce la dependencia directa entre componentes.
- Facilidad de pruebas: Permite sustituir dependencias por mocks o stubs durante las pruebas.
- Mantenibilidad: Facilita la modificación y actualización de dependencias sin alterar el código que las utiliza.
Explica las propiedades ACID en el contexto de las bases de datos relacionales.
ACID es un conjunto de propiedades que garantizan la fiabilidad de las transacciones en bases de datos:
- Atomicidad: Las operaciones dentro de una transacción se completan todas o ninguna.
- Consistencia: Las transacciones llevan la base de datos de un estado válido a otro.
- Aislamiento: Las transacciones concurrentes no interfieren entre sí.
- Durabilidad: Los cambios realizados por una transacción se mantienen incluso ante fallos.
¿Cuáles son las principales diferencias entre Microsoft .NET Framework y Microsoft .NET Core?
.NET Framework es exclusivo para Windows, mientras que .NET Core es multiplataforma (Windows, Linux, macOS). .NET Core es modular y más ligero, permitiendo incluir solo los componentes necesarios. .NET Core ofrece mejoras de rendimiento y optimizaciones respecto a .NET Framework. .NET Core tiene un ciclo de actualizaciones más rápido y es de código abierto.
¿Qué es la deuda técnica y cuáles son tres posibles causas de su existencia?
La deuda técnica es el costo acumulado de tomar atajos en el desarrollo de software que deben ser corregidos posteriormente. Tres causas son:
- Prisa en la entrega: Presión para lanzar productos rápidamente sin una calidad óptima.
- Falta de conocimientos: Desconocimiento de mejores prácticas o tecnologías.
- Cambios en los requisitos: Alteraciones frecuentes que requieren soluciones temporales.
Describe en qué consisten las pruebas de regresión.
Las pruebas de regresión son un conjunto de pruebas que se ejecutan para asegurar que cambios recientes en el código no han afectado negativamente las funcionalidades existentes del sistema. Su objetivo es detectar errores introducidos por modificaciones, actualizaciones o correcciones.
¿Qué es un patrón de arquitectura n capas y cuáles son sus capas típicas?
El patrón de arquitectura n capas divide una aplicación en capas independientes, cada una con responsabilidades específicas. Las capas típicas son:
- Presentación: Interfaz de usuario.
- Lógica de negocio: Procesamiento de reglas y lógica.
- Acceso a datos: Comunicación con bases de datos u otras fuentes de datos.
- Servicios: Integración con servicios externos (opcional).
Define el concepto de single sign-on (SSO) en sistemas de gestión de identidades.
Single Sign-On (SSO) es un mecanismo que permite a los usuarios autenticarse una sola vez para acceder a múltiples aplicaciones o sistemas sin necesidad de volver a ingresar credenciales. Mejora la experiencia del usuario y aumenta la seguridad al centralizar la autenticación.
¿Qué es el patrón de diseño Singleton y cuándo se utiliza?
El patrón Singleton garantiza que una clase tenga una única instancia y proporciona un punto de acceso global a ella. Se utiliza cuando se necesita exactamente un objeto para coordinar acciones en todo el sistema, como en gestores de configuración o conexiones a bases de datos.
Explica brevemente qué es LINQ en .NET Framework.
LINQ (Language Integrated Query) es una característica de .NET que permite realizar consultas sobre colecciones de datos de manera integrada en el lenguaje de programación. Facilita la manipulación y consulta de datos provenientes de diversas fuentes como bases de datos, colecciones en memoria, XML, etc.
¿Qué son los principios SOLID en programación orientada a objetos?
SOLID es un conjunto de cinco principios que mejoran el diseño y la mantenibilidad del software:
- Single Responsibility Principle (Responsabilidad Única)
- Open/Closed Principle (Abierto/Cerrado)
- Liskov Substitution Principle (Sustitución de Liskov)
- Interface Segregation Principle (Segregación de Interfaces)
- Dependency Inversion Principle (Inversión de Dependencias)
¿Qué es Entity Framework en el desarrollo en plataforma .NET?
Entity Framework es un ORM (Object-Relational Mapper) para .NET que permite a los desarrolladores trabajar con bases de datos utilizando objetos .NET, eliminando la necesidad de escribir código SQL manualmente. Facilita la manipulación de datos y la gestión de la persistencia.
Define el concepto de microservicios en arquitectura de aplicaciones empresariales.
Los microservicios son un estilo arquitectónico que estructura una aplicación como un conjunto de servicios pequeños, independientes y desplegables de forma autónoma. Cada microservicio se centra en una funcionalidad específica y se comunica con otros a través de interfaces bien definidas, lo que mejora la escalabilidad y la flexibilidad.
¿Qué es un diagrama entidad-relación y para qué se utiliza?
Un diagrama entidad-relación (ER) es una representación gráfica de las entidades dentro de un sistema y las relaciones entre ellas. Se utiliza en el diseño de bases de datos para modelar la estructura lógica de los datos, facilitando la comprensión y la implementación del modelo relacional.