Mix 20250112-2 Flashcards

1
Q

¿Qué es la arquitectura peer-to-peer y en qué se diferencia de la arquitectura cliente-servidor?

A

La arquitectura peer-to-peer (P2P) es un modelo de red donde cada nodo actúa tanto como cliente como servidor, compartiendo recursos directamente entre sí sin necesidad de un servidor central. A diferencia de la arquitectura cliente-servidor, donde existe una clara separación entre proveedores y consumidores de servicios, en P2P todos los nodos tienen igual estatus y pueden iniciar comunicaciones.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Describe el patrón de diseño Factory Method y su propósito.

A

El patrón Factory Method define una interfaz para crear un objeto, pero permite que las subclases decidan qué clase instanciar. Su propósito es delegar la responsabilidad de creación de objetos a las subclases, promoviendo así el desacoplamiento y facilitando la extensión del código sin modificar las clases existentes.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

¿Qué es LINQ y cómo mejora el acceso a datos en .NET?

A

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. Mejora el acceso a datos al proporcionar una sintaxis coherente y concisa para filtrar, ordenar y manipular datos, independientemente de su origen (bases de datos, colecciones en memoria, XML, etc.).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Explica el principio de ‘Open/Closed’ en SOLID.

A

El principio de ‘Open/Closed’ establece que las entidades de software (clases, módulos, funciones) deben estar abiertas para su extensión pero cerradas para su modificación. Esto significa que el comportamiento de una entidad puede ser extendido sin alterar su código fuente existente, promoviendo así la mantenibilidad y reduciendo el riesgo de introducir errores.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

¿Qué es el patrón de integración ‘Message Broker’ y cuál es su función?

A

El patrón ‘Message Broker’ actúa como intermediario que facilita la comunicación entre diferentes sistemas o componentes mediante el enrutamiento, transformación y gestión de mensajes. Su función es desacoplar los productores y consumidores de mensajes, permitiendo una integración más flexible y escalable.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Define el concepto de cohesión y acoplamiento en el diseño de sistemas.

A

La cohesión se refiere al grado en que las responsabilidades de un módulo están relacionadas y enfocadas en una única tarea. Un módulo con alta cohesión realiza una función bien definida. El acoplamiento, por otro lado, mide el grado de interdependencia entre módulos. Un bajo acoplamiento es deseable ya que reduce las dependencias y facilita el mantenimiento.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

¿Qué es ASP.NET MVC y cuáles son sus componentes principales?

A

ASP.NET MVC es un framework para desarrollar aplicaciones web siguiendo el patrón Modelo-Vista-Controlador. Sus componentes principales son:
1. Modelo: Gestiona los datos y la lógica de negocio.
2. Vista: Presenta la interfaz de usuario.
3. Controlador: Maneja las solicitudes del usuario, interactúa con el modelo y selecciona la vista adecuada para responder.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Describe las propiedades ACID en las transacciones de bases de datos.

A

ACID es un conjunto de propiedades que garantizan la fiabilidad de las transacciones en bases de datos:
1. Atomicidad: Todas las operaciones de una transacción se completan completamente o ninguna se aplica.
2. Consistencia: La transacción lleva la base de datos de un estado válido a otro.
3. Aislamiento: Las transacciones concurrentes no se interfieren entre sí.
4. Durabilidad: Los cambios realizados por una transacción se mantienen permanentemente, incluso en caso de fallos.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

¿Qué es Hibernate en el desarrollo en plataforma Java?

A

Hibernate es un framework de mapeo objeto-relacional (ORM) para Java que facilita la interacción entre aplicaciones Java y bases de datos relacionales. Permite a los desarrolladores trabajar con objetos Java en lugar de escribir SQL directamente, manejando automáticamente la persistencia de datos y la gestión de transacciones.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Define el concepto de microservicios y menciona dos ventajas de su uso.

A

Los microservicios son una arquitectura que divide una aplicación en servicios pequeños, independientes y desplegables de manera autónoma, cada uno enfocado en una funcionalidad específica. Dos ventajas son:
1. Escalabilidad: Cada microservicio puede escalarse de manera independiente según la demanda.
2. Desarrollo independiente: Diferentes equipos pueden desarrollar, desplegar y mantener microservicios de forma autónoma, agilizando el ciclo de desarrollo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

¿Qué es UML y para qué se utiliza en el desarrollo de software?

A

UML (Unified Modeling Language) es un lenguaje de modelado estandarizado utilizado para visualizar, especificar, construir y documentar los artefactos de un sistema de software. Se utiliza para representar gráficamente la estructura y el comportamiento del sistema mediante diversos tipos de diagramas, facilitando la comunicación y el diseño entre los miembros del equipo.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Explica el patrón de diseño Singleton y cuándo es adecuado su uso.

A

El patrón Singleton garantiza que una clase tenga una única instancia y proporciona un punto de acceso global a ella. Es adecuado cuando se necesita exactamente un objeto para coordinar acciones en todo el sistema, como en gestores de configuración, conexiones a bases de datos o registros de logs.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

¿Qué es el ciclo de vida de un proyecto según la gestión de proyectos?

A

El ciclo de vida de un proyecto comprende las fases por las que pasa un proyecto desde su inicio hasta su cierre. Generalmente incluye:
1. Inicio: Definición y autorización del proyecto.
2. Planificación: Establecimiento de objetivos, cronogramas y recursos.
3. Ejecución: Desarrollo de las actividades planificadas.
4. Monitoreo y Control: Seguimiento del progreso y ajustes necesarios.
5. Cierre: Finalización formal del proyecto y evaluación de resultados.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Describe brevemente qué es DevOps y cuáles son sus objetivos principales.

A

DevOps es una filosofía de desarrollo de software que promueve la colaboración y la integración entre los equipos de desarrollo (Dev) y operaciones (Ops). Sus objetivos principales son acelerar el ciclo de desarrollo, mejorar la calidad del software, facilitar la entrega continua mediante la automatización de procesos y fomentar una cultura de mejora continua.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

¿Qué es una base de datos NoSQL y cuáles son sus tipos principales?

A

Una base de datos NoSQL es un sistema de gestión de bases de datos que no utiliza el modelo relacional tradicional y está diseñado para manejar grandes volúmenes de datos variados y distribuidos. Los tipos principales incluyen:
1. Documentales: Almacenan datos en documentos JSON o XML (e.g., MongoDB).
2. Clave-Valor: Almacenan pares clave-valor (e.g., Redis).
3. Columnares: Almacenan datos en columnas en lugar de filas (e.g., Cassandra).
4. Grafos: Almacenan relaciones entre datos como grafos (e.g., Neo4j).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Explica el concepto de aprendizaje supervisado en machine learning.

A

El aprendizaje supervisado es una técnica de machine learning donde el modelo se entrena utilizando un conjunto de datos etiquetado, es decir, cada entrada del conjunto de entrenamiento está asociada con una salida deseada. El objetivo es que el modelo aprenda una función que, a partir de nuevas entradas, pueda predecir las salidas correctas.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

¿Qué es Entity Framework y cómo facilita el acceso a datos en .NET?

A

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 el acceso a datos al manejar la mapeo entre clases y tablas, gestionar la persistencia y proporcionar consultas basadas en LINQ.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Define el patrón de arquitectura de n niveles y sus beneficios.

A

El patrón de arquitectura de n niveles divide una aplicación en múltiples capas o niveles, cada una con responsabilidades específicas. Por lo general incluye niveles como presentación, lógica de negocio y acceso a datos. Los beneficios incluyen:
1. Mantenibilidad: Facilita el mantenimiento y la actualización de cada capa de manera independiente.
2. Escalabilidad: Permite escalar individualmente cada nivel según las necesidades.
3. Reusabilidad: Promueve la reutilización de componentes en diferentes partes de la aplicación.

19
Q

¿Qué es un sistema de integración continua y cuáles son sus principales beneficios?

A

Un sistema de integración continua es una práctica de desarrollo donde los cambios de código se integran y prueban automáticamente de forma frecuente, generalmente varias veces al día. Los principales beneficios incluyen la detección temprana de errores, mejora de la calidad del software, reducción de conflictos de integración y aceleración del ciclo de desarrollo.

20
Q

Describe brevemente el patrón de diseño Observer y su aplicación.

A

El patrón Observer establece una relación de dependencia uno a muchos entre objetos, de modo que cuando un objeto cambia su estado, todos sus observadores son notificados y actualizados automáticamente. Se aplica en sistemas donde es necesario mantener la consistencia entre diferentes componentes, como en interfaces de usuario, sistemas de eventos o notificaciones.

21
Q

¿Qué es una base de datos relacional y cuáles son sus características principales?

A

Una base de datos relacional es un sistema de gestión de bases de datos que organiza los datos en tablas compuestas por filas y columnas. Sus características principales incluyen:
1. Estructura tabular: Datos organizados en tablas con relaciones definidas entre ellas.
2. Lenguaje SQL: Uso de SQL para consultas y manipulación de datos.
3. Integridad referencial: Garantía de consistencia entre tablas mediante claves primarias y foráneas.
4. Transacciones ACID: Soporte para transacciones con propiedades de Atomicidad, Consistencia, Aislamiento y Durabilidad.

22
Q

Explica el concepto de Docker y sus principales ventajas.

A

Docker es una plataforma de contenedores que permite empaquetar aplicaciones y sus dependencias en contenedores ligeros y portátiles. Las principales ventajas incluyen:
1. Portabilidad: Los contenedores pueden ejecutarse consistentemente en cualquier entorno.
2. Eficiencia: Consumen menos recursos que las máquinas virtuales tradicionales.
3. Escalabilidad: Facilita la escalabilidad horizontal de aplicaciones.
4. Aislamiento: Asegura que las aplicaciones no interfieran entre sí.

23
Q

¿Qué es PL/SQL y en qué se utiliza?

A

PL/SQL (Procedural Language/Structured Query Language) es un lenguaje de programación procedural extendido para SQL, utilizado principalmente en bases de datos Oracle. Se utiliza para escribir procedimientos almacenados, funciones, triggers y paquetes, permitiendo la automatización de tareas complejas y la lógica de negocio dentro de la base de datos.

24
Q

Define el concepto de testing de carga y su objetivo.

A

El testing de carga es una técnica de pruebas de software que evalúa el comportamiento de una aplicación bajo una carga específica de usuarios o transacciones. Su objetivo es identificar el rendimiento y la estabilidad del sistema cuando se enfrenta a altos niveles de demanda, asegurando que puede manejar el tráfico esperado sin degradación significativa.

25
Q

¿Qué es la metodología Scrum y cuáles son sus roles principales?

A

Scrum es una metodología ágil para la gestión y desarrollo de proyectos de software. Sus roles principales son:
1. Product Owner: Define y prioriza las características del producto.
2. Scrum Master: Facilita el proceso Scrum y elimina obstáculos.
3. Equipo de Desarrollo: Desarrolla el producto de manera colaborativa.
Además, incluye eventos como sprints, reuniones diarias, revisiones y retrospectivas.

26
Q

Explica el principio de ‘Single Responsibility’ en SOLID.

A

El principio de ‘Single Responsibility’ establece que una clase debe tener una única razón para cambiar, es decir, debe tener una única responsabilidad o función dentro del sistema. Esto mejora la cohesión, facilita el mantenimiento y reduce el acoplamiento entre componentes.

27
Q

¿Qué es un Web Service REST y cuáles son sus características principales?

A

Un Web Service REST (Representational State Transfer) es un servicio web que sigue los principios de la arquitectura REST. Sus características principales incluyen:
1. Stateless: Cada solicitud contiene toda la información necesaria y no depende de estados anteriores.
2. Recursos identificados por URIs: Los recursos se acceden mediante URLs únicas.
3. Uso de métodos HTTP: Utiliza métodos como GET, POST, PUT, DELETE para operaciones CRUD.
4. Formato flexible: Soporta múltiples formatos de datos como JSON y XML.

28
Q

Describe brevemente qué es el aprendizaje no supervisado en machine learning.

A

El aprendizaje no supervisado es una técnica de machine learning donde el modelo trabaja con datos no etiquetados, es decir, sin salidas deseadas. El objetivo es identificar patrones, estructuras o agrupaciones inherentes en los datos, como en el clustering o la reducción de dimensionalidad.

29
Q

¿Qué es una prueba unitaria y cuál es su propósito en el desarrollo de software?

A

Una prueba unitaria es una técnica de pruebas de software que verifica el funcionamiento correcto de una unidad individual de código, generalmente una función o método. Su propósito es asegurar que cada componente funcione de manera aislada, facilitando la detección temprana de errores y mejorando la calidad del código.

30
Q

Define el concepto de Access Control List (ACL) en seguridad informática.

A

Una Access Control List (ACL) es una lista de permisos asociada a un recurso que especifica qué usuarios o sistemas tienen permisos específicos (como leer, escribir o ejecutar) sobre ese recurso. Las ACLs se utilizan para gestionar y restringir el acceso a archivos, directorios, redes y otros recursos del sistema.

31
Q

¿Qué es Kanban y cómo se aplica en la gestión de proyectos ágiles?

A

Kanban es una metodología ágil que utiliza un tablero visual para gestionar y optimizar el flujo de trabajo. Se aplica en la gestión de proyectos ágiles limitando el trabajo en curso (WIP), visualizando las tareas en diferentes etapas (por ejemplo, por hacer, en progreso, terminado) y facilitando la mejora continua mediante la identificación y eliminación de cuellos de botella.

32
Q

Explica el modelo CAP en bases de datos NoSQL.

A

El modelo CAP establece que un sistema distribuido de bases de datos no puede garantizar simultáneamente las tres propiedades:
1. Consistencia: Todos los nodos ven la misma información al mismo tiempo.
2. Disponibilidad: Cada solicitud recibe una respuesta, sin garantía de consistencia.
3. Tolerancia a particiones: El sistema continúa operando a pesar de fallos en la red.
Según CAP, un sistema puede garantizar solo dos de estas tres propiedades al mismo tiempo.

33
Q

¿Qué es una red SAN y cuáles son sus principales usos?

A

Una red SAN (Storage Area Network) es una red dedicada de alta velocidad que proporciona acceso a almacenamiento de bloques a servidores y otros dispositivos. Sus principales usos incluyen la consolidación de almacenamiento, la mejora del rendimiento y la disponibilidad de datos, y el soporte para aplicaciones críticas que requieren acceso rápido y confiable a grandes volúmenes de datos.

34
Q

Describe brevemente qué es un data warehouse y su propósito.

A

Un data warehouse es un sistema de almacenamiento centralizado diseñado para integrar y almacenar grandes volúmenes de datos provenientes de múltiples fuentes. Su propósito es facilitar el análisis y la generación de informes, apoyando la inteligencia de negocio (BI) y la toma de decisiones estratégicas mediante el acceso eficiente a datos históricos y actuales.

35
Q

¿Qué son los patrones de diseño de Gamma y cuáles son dos ejemplos?

A

Los patrones de diseño de Gamma, también conocidos como los patrones de diseño del libro ‘Design Patterns: Elements of Reusable Object-Oriented Software’, son soluciones reutilizables a problemas comunes en el diseño de software orientado a objetos. Dos ejemplos son:
1. Singleton: Garantiza una única instancia de una clase.
2. Observer: Define una dependencia uno a muchos entre objetos para notificar cambios.

36
Q

Define el concepto de Single Sign-On (SSO) y menciona una ventaja clave.

A

Single Sign-On (SSO) es un mecanismo de autenticación que permite a los usuarios acceder a múltiples aplicaciones o sistemas con una sola autenticación inicial, sin necesidad de ingresar credenciales repetidamente. Una ventaja clave es la mejora de la experiencia del usuario al simplificar el proceso de acceso y reducir la necesidad de recordar múltiples contraseñas.

37
Q

¿Qué es el patrón de diseño Repository y cuál es su función?

A

El patrón Repository actúa como una capa intermediaria entre la lógica de negocio y la capa de acceso a datos, proporcionando una interfaz para realizar operaciones de persistencia sin exponer los detalles de implementación. Su función es abstraer la lógica de acceso a datos, facilitando el mantenimiento y la prueba del código.

38
Q

Explica brevemente el concepto de accesibilidad web y su importancia.

A

La accesibilidad web se refiere al diseño y desarrollo de sitios web que sean utilizables por personas con diversas capacidades y discapacidades. Su importancia radica en garantizar que todos los usuarios, independientemente de sus habilidades físicas o tecnológicas, puedan acceder, entender y navegar por el contenido web, promoviendo la inclusión y cumpliendo con normativas legales.

39
Q

¿Qué es un sistema de gestión de contenido (CMS) y cuáles son sus beneficios?

A

Un sistema de gestión de contenido (CMS) es una aplicación que permite crear, gestionar y modificar el contenido de un sitio web sin necesidad de conocimientos técnicos avanzados. Sus beneficios incluyen:
1. Facilidad de uso: Interfaces intuitivas para la creación y edición de contenido.
2. Colaboración: Permite que múltiples usuarios gestionen el contenido de manera simultánea.
3. Flexibilidad: Soporte para múltiples tipos de contenido y extensiones mediante plugins o módulos.

40
Q

Define el concepto de ‘Inyección de Dependencias’ y su relación con los principios SOLID.

A

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. Está relacionado con el principio de Inversión de Dependencias (D de SOLID), ya que promueve el desacoplamiento entre módulos, facilitando la mantenibilidad, la reutilización y las pruebas unitarias.

41
Q

¿Qué es un SIEM y cómo contribuye a la seguridad de una organización?

A

Un SIEM (Security Information and Event Management) es una solución que recopila, analiza y correlaciona eventos de seguridad provenientes de diversas fuentes dentro de una organización. Contribuye a la seguridad al detectar y responder a incidentes de manera proactiva, mejorar la visibilidad de las actividades en la red y facilitar el cumplimiento de normativas de seguridad.

42
Q

Describe brevemente qué es la regularización en redes neuronales.

A

La regularización en redes neuronales es una técnica utilizada para prevenir el sobreajuste, mejorando la capacidad de generalización del modelo. Incluye métodos como L1 y L2, que añaden penalizaciones al costo, dropout, que desconecta neuronas aleatoriamente durante el entrenamiento, y early stopping, que detiene el entrenamiento antes de que el modelo se ajuste demasiado a los datos de entrenamiento.

43
Q

¿Qué es el ‘Open Government’ y cuáles son sus principios fundamentales?

A

‘Open Government’ (Gobierno Abierto) es un enfoque de gobernanza que promueve la transparencia, la participación ciudadana y la colaboración. Sus principios fundamentales incluyen:
1. Transparencia: Acceso libre a la información gubernamental.
2. Participación: Involucrar a los ciudadanos en la toma de decisiones.
3. Colaboración: Trabajar conjuntamente con diferentes actores para mejorar los servicios públicos.

44
Q

Define el concepto de ‘Cohesión’ en el diseño orientado a objetos y su importancia.

A

En el diseño orientado a objetos, la cohesión se refiere al grado en que las responsabilidades de una clase o módulo están relacionadas y enfocadas en una única tarea. Una alta cohesión es importante porque mejora la mantenibilidad, la legibilidad y la reutilización del código, además de facilitar el entendimiento y la gestión de cambios.