Pretendo desarrollar una buena guia solida en Español e Ingles para formar LOS FUNDAMENTOS de una Ingenieria Backend especialmente formada en Tecnologias de Microsoft como C#.
Note
Este repositorio se creó en 2024 y, por lo tanto, las preguntas proporcionadas aquí se basan en la sintaxis y el comportamiento en ese momento.Estare haciendo traducciones al Ingles, por lo que tu eres libre de añadir a tu idioma o sugerencias! Hagamos una buena comunidad 🤓. Yo sugiriría que con los temas que has visto aqui, puedas prepararte indivdualmente con tus preguntas, pero es un buen inicio para que sepas por donde empezar.
| Sientete libre de usar el proyecto! 😃 Apreciaría de corazón mucho que este proyecto te sirva, estare haciendolo más robusto para que tengas una buena guía. |
|---|
- A: Un API es una aplicación que muestra imágenes.
- B: Un API es un servidor de videojuegos.
- C: Un API es una forma de que dos sistemas se comuniquen.
- D: Un API es un lenguaje de programación.
Respuesta
Una API es una forma de que dos sistemas se comuniquen entre sí. Permite que las aplicaciones pidan o envíen datos a través de internet.
- A: FTP y SMTP.
- B: HTTP/HTTPS y SOAP.
- C: SSH y TCP/IP.
- D: WebSocket y POP3.
Respuesta
Los protocolos más comunes que utilizan las APIs son HTTP/HTTPS y SOAP. HTTP/HTTPS es el estándar en la web, mientras que SOAP es un protocolo más antiguo utilizado en aplicaciones empresariales mediante comunicación XML.
- A: SOAP, REST y HTTP son diferentes tipos de bases de datos.
- B: SOAP, REST y HTTP son diferentes lenguajes de programación.
- C: SOAP y REST son estilos para construir APIs, y HTTP es un protocolo que las APIs utilizan.
- D: SOAP, REST y HTTP son tipos de servidores web.
Respuesta
SOAP y REST son estilos de arquitectura para construir APIs, y HTTP es un protocolo que se usa para la comunicación en estas APIs. SOAP puede usar varios protocolos, pero comúnmente utiliza HTTP. REST está basado en HTTP y se usa ampliamente para diseñar APIs web.
- A: Un lenguaje de programación.
- B: Un protocolo de seguridad.
- C: Un estilo de arquitectura para construir APIs.
- D: Un tipo de base de datos.
Respuesta
REST es un estilo de arquitectura para construir APIs. Utiliza métodos HTTP como GET, POST, PUT, y DELETE para acceder y manipular recursos en un servidor. Cada recurso tiene una URL especifica.
- A: REST y RESTful son exactamente lo mismo.
- B: REST es la arquitectura, y RESTful describe APIs que siguen esa arquitectura.
- C: REST es un lenguaje de programación, y RESTful es una base de dato.
- D: RESTful es un tipo de protocolo diferente a REST.
Respuesta
REST es el estilo de arquitectura, y cuando una API sigue los principios de REST, se le llama API RESTful.
- A: GET, POST, PUT, DELETE.
- B: GET, POST, MANTAIN, ERASE.
- C: GET, UPDATE, POST, TRUNCATE.
- D: GET, DELETE, PARSE, CONVERT.
Respuesta
GET: Solo recibe recursos. POST: Envio de datos para actualizar un recurso. UPDATE: Envía datos a la API para crear y actualizar los recursos DELETE: Elimina los recursos del recurso especificado.
- A: El proceso de verificar la identidad de un usuario o sistema.
- B: El proceso de proteger los datos de una base de datos.
- C: Un método para guardar contraseñas en una API.
- D: Un servicio de red que envía datos.
Respuesta
La autenticación es el proceso de verificar la identidad de un usuario o sistema para asegurarse de que tiene acceso permitido a un recurso o servicio.
- A: 1.
- B: 3.
- C: 12.
- D: No hay un número fijo, existen varios tipos de autenticación.
Respuesta
Existen varios tipos de autenticación, dependiendo de cómo se verifique la identidad de un usuario o sistema. Los más comunes son:
- Autenticación de un solo factor (SFA): Requiere solo un método, como una contraseña.
- Autenticación de dos factores (2FA): Combina dos métodos, como contraseña y un código enviado al teléfono.
- Autenticación multifactor (MFA): Usa más de dos métodos, como contraseña, código y huella dactilar.
- Autenticación basada en tokens: Usa tokens temporales (como JWT) para identificar a los usuarios.
- Autenticación biométrica: Usa características físicas como huellas dactilares o reconocimiento facial.
- A: Un lenguaje de programación.
- B: Un conjunto de reglas para crear software.
- C: Una solución reusable para resolver problemas comunes en desarrollo de software.
- D: Un tipo de base de datos.
Respuesta
Un patrón de diseño es una solución probada y reutilizable para resolver problemas comunes en el desarrollo de software. Son guías que los desarrolladores pueden seguir para estructurar el código de manera eficiente, facilitando el mantenimiento, escalabilidad y legibilidad.
- A: Ambos son pasos para resolver un problema específico.
- B: Un algoritmo resuelve un problema específico, mientras que un patrón de diseño es una estructura para organizar el código.
- C: Un patrón de diseño es un algoritmo de ordenamiento.
- D: No tienen nada en común.
Respuesta
Un algoritmo resuelve un problema específico, mientras que un patrón de diseño es una estrategia general para organizar el código.
- A: Existen 5 patrones de diseño.
- B: Existen 15 patrones de diseño.
- C: Existen 23 patrones de diseño.
- D: Existen infinitos patrones de diseño.
Respuesta
Existen 23 patrones de diseño clásicos, divididos en tres categorías: creacionales, estructurales y de comportamiento.
- A: Solo existen algoritmos de búsqueda y ordenamiento.
- B: Existen más de 5 tipos de algoritmos.
- C: Todos los algoritmos son recursivos.
- D: Los algoritmos de grafos son los más comunes en programación.
Respuesta
Existen más de 5 tipos de algoritmos, que incluyen entre los más populares búsqueda, ordenamiento, recursivos, grafos, entre otros, como:
- Fuerza Bruta.
- Greedy.
- Algoritmos de Programación dinamica.
- Algoritmos Probabilisticos.
- Algoritmos de Inteligencia artificial.
- A: Se enfocan en cómo los objetos interactúan entre sí.
- B: Se enfocan en cómo se crean y gestionan los objetos.
- C: Son usados para destruir objetos en memoria.
- D: Ayudan a conectar diferentes clases sin instanciarlas.
Respuesta
Los patrones creacionales se enfocan en cómo se crean y gestionan los objetos, facilitando un proceso de creación flexible y eficiente.
- Singleton: Asegura que una clase tenga solo una instancia y proporciona un punto de acceso global a esa instancia.
- Factory Method: Proporciona una interfaz para crear objetos, pero permite a las subclases decidir qué clase instanciar.
- Abstract Factory: Crea familias de objetos relacionados sin especificar sus clases concretas.
- Builder: Separa la construcción de un objeto complejo de su representación para poder crear diferentes representaciones.
- Prototype: Permite crear nuevos objetos copiando una instancia existente (prototipo).
- A: Se enfocan en la creación de objetos.
- B: Se enfocan en cómo los objetos y clases se organizan y se relacionan entre sí.
- C: Se enfocan en la destrucción de objetos.
- D: Se enfocan en la validación de datos.
Respuesta
Los patrones estructurales se enfocan en cómo los objetos y clases se organizan y se relacionan entre sí para formar estructuras más complejas, facilitando la composición de estructuras flexibles y reutilizables.
- Adapter: Permite que dos interfaces incompatibles trabajen juntas. Convierte la interfaz de una clase en otra que el cliente espera.
- Bridge: Desacopla una abstracción de su implementación para que ambas puedan evolucionar de manera independiente.
- Composite: Permite tratar objetos individuales y compuestos de manera uniforme. Es útil para representar jerarquías de objetos.
- Decorator: Añade funcionalidad adicional a un objeto de manera dinámica sin modificar su estructura original.
- Facade: Proporciona una interfaz simplificada para un sistema complejo de clases, ocultando su complejidad.
- Flyweight: Minimiza el uso de memoria al compartir el estado común de los objetos en lugar de duplicarlos.
- Proxy: Proporciona un sustituto o intermediario para controlar el acceso a otro objeto.
- A: Se enfocan en la creación de objetos.
- B: Se enfocan en la organización de objetos y clases.
- C: Se enfocan en la interacción y comunicación entre objetos.
- D: Se enfocan en destruir objetos al finalizar el programa.
Respuesta
Los patrones de comportamiento se enfocan en la interacción y comunicación entre objetos, distribuyendo las responsabilidades de manera flexible y eficiente.
- Chain of Responsibility: Permite que varios objetos tengan la oportunidad de manejar una solicitud, evitando el acoplamiento entre el emisor y el receptor.
- Command: Encapsula una solicitud como un objeto, permitiendo parametrizar a los clientes con diferentes solicitudes, colas o registros.
- Interpreter: Define una gramática para un lenguaje y usa esta representación para interpretar sentencias.
- Iterator: Proporciona una manera de acceder secuencialmente a los elementos de una colección sin exponer su estructura interna.
- Mediator: Define un objeto que controla la comunicación entre objetos, reduciendo la interdependencia entre ellos.
- Memento: Permite capturar y restaurar el estado interno de un objeto sin violar su encapsulamiento.
- Observer: Define una dependencia uno-a-muchos entre objetos, de modo que cuando uno cambia su estado, todos sus dependientes son notificados automáticamente.
- State: Permite a un objeto cambiar su comportamiento cuando cambia su estado interno.
- Strategy: Define una familia de algoritmos, encapsula cada uno y los hace intercambiables, permitiendo cambiar el algoritmo independientemente del cliente que lo usa.
- Template Method: Define el esqueleto de un algoritmo en una clase base, permitiendo que las subclases redefinan ciertos pasos sin cambiar la estructura del algoritmo.
- Visitor: Permite definir nuevas operaciones sobre una estructura de objetos sin cambiar las clases de los elementos sobre los que opera.
- A: Un ORM es un tipo de base de datos.
- B: Un ORM es una técnica que permite mapear objetos a bases de datos relacionales.
- C: Un ORM es un motor de búsqueda para bases de datos.
- D: Un ORM es una herramienta para diseñar interfaces gráficas.
Respuesta
Un ORM es una técnica que permite mapear objetos a bases de datos relacionales, facilitando la interacción entre el código orientado a objetos y las bases de datos.
- A: Una migración es cuando una base de datos se traslada de un servidor a otro.
- B: Una migración es un archivo de respaldo de la base de datos.
- C: Una migración es la actualización de datos en una tabla.
- D: Una migración es el proceso de cambiar la estructura de la base de datos de manera organizada y segura.
Respuesta
Una migración es el proceso de cambiar la estructura de la base de datos de manera organizada y segura, como agregar nuevas tablas o modificar columnas existentes.
Las migraciones permiten modificar o actualizar la base de datos de forma incremental sin perder datos existentes, y aseguran que la estructura de la base de datos esté sincronizada con la versión del código de la aplicación
- A: Git es una herramienta para gestionar bases de datos.
- B: Git es un lenguaje de programación para servidores.
- C: Git es un sistema de control de versiones utilizado para rastrear cambios en proyectos.
- D: Git es una herramienta de diseño gráfico.
Respuesta
Git es un sistema de control de versiones utilizado para rastrear cambios en proyectos de software, permitiendo la colaboración y el manejo eficiente del código.
- A: El código 200 significa que la solicitud fue exitosa y se creó un nuevo recurso.
- B: El código 201 significa que la solicitud falló.
- C: El código 200 indica éxito en la solicitud, pero no se creó un nuevo recurso.
- D: El código 201 se utiliza cuando un recurso se actualiza.
