Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Christian te amo
Micael puto😡
Cami te amo🥰
● Abstracción:
○ es un proceso de interpretación y diseño que
implica reconocer y enfocarse en las
características importantes de una situación u
objeto, y filtrar o ignorar todas las
particularidades no esenciales.
● Encapsulamiento:
○ Es la propiedad que permite asegurar que la
información de un objeto está oculta del mundo
exterior.
○ El encapsulamiento consiste en agrupar en una
Clase las características(atributos) con un acceso
privado y los comportamientos (métodos) con un
acceso público.
○ Acceder o modificar los miembros de una clase a
través de sus métodos
● Herencia:
○ Es una propiedad que permite crear clases a partir
de otras ya existentes, obteniendo características
(métodos y atributos) similares a los ya
existentes.En otras palabras la nueva clase
(subclase o clase derivada) puede utilizar la
misma implementación de su superclase (clase base)
o especificar una nueva implementación.
● Polimorfismo:
○ Son comportamientos diferentes, asociados a
objetos distintos, pueden compartir el mismo
nombre; al llamarlos por ese nombre se utilizará
el comportamiento correspondiente al objeto que se
esté usando.
6. Que es programación funcional en java? Para que sirve? (va de la mano con
los streams)
La programación funcional es un paradigma de programación
declarativa que usa múltiples funciones para realizar cálculos y
transformaciones a los datos de entrada para producir un
resultado
8. Diferencia entre una clase y una interfaz, para que se usa cada una?
a. Una clase abstracta puede heredar o extender cualquier clase
(independientemente de que esta sea abstracta o no),
mientras que una interfaz solamente puede extender o
implementar otras interfaces.
b. Una clase abstracta puede heredar de una sola clase
(abstracta o no) mientras que una interfaz puede extender
varias interfaces de una misma vez.
c. Una clase abstracta puede tener métodos que sean abstractos
o que no lo sean, mientras que las interfaces sólo y
exclusivamente pueden definir métodos abstractos.
d. En java concretamente (ya que has puesto la etiqueta Java),
en las clases abstractas la palabra abstract es obligatoria
para definir un método abstracto (así como la clase). Cuando
defines una interfaz, esta palabra es opcional ya que se
infiere en el concepto de interfaz.
e. En una clase abstracta, los métodos abstractos pueden ser
public o protected. En una interfaz solamente puede haber
métodos públicos.
f. En una clase abstracta pueden existir variables static,
final o static final con cualquier modificador de acceso
(public, private, protected o default). En una interfaz sólo
puedes tener constantes (public static final).
9. Estructuras de datos, Para que sirven? (List, Set, Map) Cuales son sus
diferencias? Cuando uso una y cuando uso otra?
Collection:
● Contenedor simple de objetos no ordenados.
● Los duplicados son permitidos.
List:
● Contenedor de elemento ordenados.
● Los duplicados son permitidos.
Set:
● Colección desordenada de objetos.
● Los duplicados no son permitidos.
Map:
● Colección de pares clave/valor.
● La clave es usada para indexar el elemento.
● Las claves duplicadas no son permitas.
15. MVC(Model View Controller) Que es? Para que sirve? Para que sirve
cada capa?
Modelo-vista-controlador es un patrón de arquitectura de
software, que separa los datos y principalmente lo que es la
lógica de negocio de una aplicación de su representación y el
módulo encargado de gestionar los eventos y las comunicaciones.
Define la forma en que se organizan los componentes de
presentación en sistemas distribuidos.
En la capa Modelo encontraremos siempre una representación
de los datos del dominio, es decir, aquellas entidades que nos
servirán para almacenar información del sistema que estamos
desarrollando
Los componentes de la Vista son los responsables de generar
la interfaz de nuestra aplicación, es decir, de componer las
pantallas, páginas, o cualquier tipo de resultado utilizable por
el usuario o cliente del sistema.
El Controlador es actuar como intermediarios entre el
usuario y el sistema.
Patrones de comportamiento
Diferencias fundamentales:
Diferencia:
● SQL permite combinar de forma eficiente diferentes
tablas para extraer información relacionada, mientras
que NoSQL no lo permite o muy limitadamente.
● NoSQL permite distribuir grandes cantidades de
información; mientras que SQL facilita distribuir bases
de datos relacionales.
● SQL permite gestionar los datos junto con las
relaciones existentes entre ellos; en NoSQL no existe
este tipo de utilidades .
● NoSQL permite un escalado horizontal sin problemas –
por su capacidad de distribución-; mientras que escalar
SQL resulta más complicado.
33. Azure
Microsoft Azure es conjunto en constante expansión de
servicios en la nube para ayudar a su organización a satisfacer
sus necesidades comerciales.
35. Jenkins
Jenkins es un servidor de integración continua. La base de
Jenkins son las tareas, donde indicamos qué es lo que hay que
hacer en un build.
37. TDD
TDD o Test-Driven Development (desarrollo dirigido por
tests) es una práctica de programación que consiste en escribir
primero las pruebas (generalmente unitarias), después escribir el
código fuente que pase la prueba satisfactoriamente y, por
último, refactorizar el código escrito.
39. Kubernetes
Kubernetes es una plataforma de código abierto para
administrar cargas de trabajo y servicios. Kubernetes facilita la
automatización y la configuración declarativa. Tiene un
ecosistema grande y en rápido crecimiento. El soporte, las
herramientas y los servicios para Kubernetes están ampliamente
disponibles.
40. Kafka
Es una plataforma distribuida de transmisión de datos que
permite publicar, almacenar y procesar flujos de registros, y
suscribirse a ellos, en tiempo real. Está diseñada para manejar
flujos de datos de varias fuentes y distribuirlos a los diversos
usuarios.
41. Queue
es una forma lineal especial, que sólo permite la
eliminación en el extremo frontal de la mesa, mientras que el
extremo posterior de la operación de inserción de la mesa.
La clase LinkedList implementa la interfaz de cola, por lo
que puede ListaEnlazada como una cola de usar.
Agregar elementos a las colas es particularmente útil en
entornos de subprocesos múltiples. Una cola se puede compartir
entre subprocesos y usarse para bloquear el progreso hasta que
haya espacio disponible , lo que nos ayuda a superar algunos
problemas comunes de subprocesos múltiples.
Afortunadamente, Java ofrece ConcurrentLinkedQueue,
ArrayBlockingQueue y ConcurrentLinkedDeque, que son seguros para
subprocesos y perfectos para programas de subprocesos múltiples.
42. Solid
S - Single responsability ( Responsabilidad Única)
Este principio básicamente indica que cada clase debe tener
una finalidad concreta y única, de modo que no podemos añadir
métodos que no correspondan con la clase creada.
O - Open/closed (Abierto/Cerrado)
Este principio indica que las entidades que creamos deben
estar abiertas para su extension y cerradas para su modificación,
básicamente es crear clases que se puedan extender, sin necesidad
de entrar al código fuente y modificarlo, en otras palabras
encapsulación.
L - Liskov substitution (Sustitución de Liskov)
Este principio indica básicamente que lo objetos que
provienen de una clase padre pueden sustituir al padre sin que
esto altere el funcionamiento del sistema.