Introducción al patrón de diseño Entrevista Preguntas y respuestas

Los patrones de diseño son una solución bien descrita para los problemas más comunes que ocurren durante el desarrollo de software. El patrón de diseño representa las mejores prácticas desarrolladas durante un período de tiempo por desarrolladores de software experimentados. Promueven la reutilización, lo que conduce a un código más robusto y fácil de mantener.
Los patrones de diseño se describieron por primera vez en el libro A Pattern Language del arquitecto Christopher Alexander. Más tarde se describieron en Patrones de diseño: elementos de software orientado a objetos reutilizables escritos por cuatro autores (Erich Gamma, Richard Helm, Ralph Johnson y John Vlissides) también conocidos como la "Banda de los Cuatro".
Los patrones de diseño se pueden clasificar en tres categorías principales:
• Patrones de creación
• Patrones de comportamiento
• Patrones funcionales

Entonces, mientras se prepara para una entrevista de trabajo en Diseño. Estoy seguro de que desea conocer las preguntas y respuestas más comunes de la entrevista de patrones de diseño de 2019 que lo ayudarán a descifrar la entrevista de patrones de diseño con facilidad. A continuación se muestra la lista de las principales preguntas y respuestas de la entrevista de patrones de diseño en su rescate.

A continuación se enumeran algunas de las preguntas frecuentes de la entrevista de patrones de diseño de 2019:

1. ¿Qué es el patrón Singleton en Java?

Responder:
El patrón Singleton es un patrón de creación que permite crear solo una instancia de una clase que estará disponible para toda la aplicación. La principal ventaja del patrón de diseño Singleton es que ahorra memoria porque la instancia única se reutiliza una y otra vez; no es necesario crear un nuevo objeto en cada solicitud. Por ejemplo, en nuestra aplicación, podemos usar una única conexión de base de datos compartida por varios objetos, en lugar de crear una conexión de base de datos para cada solicitud.

2. ¿Cuáles son los inconvenientes de usar el patrón de diseño singleton?

Responder:
Los principales inconvenientes del uso del patrón de diseño singleton son:
a) Singleton hace que el código esté estrechamente acoplado. El objeto singleton está expuesto globalmente y está disponible para toda una aplicación. Por lo tanto, las clases que usan este objeto se acoplan estrechamente; Cualquier cambio en el objeto global afectará a todas las demás clases que lo usen.
b) Ocultan dependencias en lugar de exponerlas.
c) El patrón Singleton no admite herencia.
d) El principio de Singleton puede ser violado por técnicas como la clonación. Si una aplicación se ejecuta en varias JVM, entonces, en este caso, Singleton podría estar roto.

3. ¿Qué patrón de diseño usarás para crear un objeto complejo?

Responder:
El patrón de diseño del generador se utiliza para construir un objeto complejo. Está diseñado para resolver los problemas con el patrón de diseño abstracto y de fábrica.

4. ¿Por qué usar una clase de fábrica para crear una instancia de una clase cuando podemos usar un nuevo operador?

Responder:
Las clases de fábrica proporcionan flexibilidad en términos de diseño. A continuación se presentan algunos de los beneficios de la clase de fábrica:
• El patrón de diseño de fábrica da como resultado un código más desacoplado, ya que nos permite ocultar la lógica de creación del código dependiente
• Nos permite introducir un contenedor de Inversión de Control
• Le brinda mucha más flexibilidad cuando llega el momento de cambiar la aplicación ya que nuestra lógica de creación está oculta del código dependiente

5. ¿Cuál es la diferencia entre la fábrica y el patrón de diseño abstracto de fábrica?

Responder:
Tanto la fábrica como la fábrica abstracta son patrones de diseño de creación. La principal diferencia entre estos dos es que un patrón de fábrica crea un objeto a través de la herencia y produce un solo Producto. Por otro lado, un patrón de fábrica abstracto crea el objeto a través de la composición y produce familias de productos.

6. ¿Qué es el patrón de diseño de observador en Java?

Responder:
El patrón de diseño de observador es uno de los patrones de diseño de comportamiento que define las dependencias de uno a muchos entre los objetos y es útil cuando estamos interesados ​​en el estado de un objeto y queremos recibir notificaciones cuando haya algún cambio en el estado del objeto. En el patrón de diseño del Observador, cuando un objeto cambia su estado, todos sus objetos dependientes se notifican automáticamente, el objeto se llama Sujeto y los dependientes se llaman Observadores. Java proporciona bibliotecas para implementar el patrón de diseño de Observer utilizando la clase java.util.Observable y la interfaz java.util.Observer.

7.Diferencia entre la estrategia y el patrón de diseño de estado en Java?

Responder:
Ambas estrategias, así como el patrón de diseño de estado, son similares en la práctica, pero tienen una implementación diferente. Las siguientes son algunas de las principales diferencias entre estos dos:
El patrón de diseño de la estrategia define un conjunto de algoritmos para llevar a cabo un comportamiento específico, mientras que el patrón de diseño de estado permite que un objeto altere su comportamiento cuando cambia su estado interno.
El patrón de diseño de la estrategia no nos permite almacenar una referencia al objeto de contexto, mientras que el patrón de diseño de estado almacena la referencia al objeto de contexto que los contiene.
c. En el patrón de diseño de la estrategia, el cliente conoce la estrategia elegida para la implementación, mientras que en el patrón de diseño de estado el cliente no decide qué estado elegir para la implementación.
d. El patrón de estrategia trata de CÓMO un objeto realiza una determinada tarea, mientras que el patrón de diseño de estado trata de lo que es un objeto.
e.No hay una relación de sucesor / predecesor presente en el patrón de diseño de la estrategia, mientras que en el patrón de diseño de estado los estados están relacionados entre sí como sucesor y predecesor.

8. ¿Qué es el patrón de objeto nulo?

Responder:
El patrón de objeto nulo es un patrón de diseño en el que el objeto nulo reemplaza la comprobación NULL para la variable de instancia. En lugar de marcar un valor nulo, el objeto nulo refleja una relación de no hacer nada. También se puede usar para proporcionar un comportamiento predeterminado en caso de que los datos no estén disponibles.

9. ¿Da un ejemplo de patrón de diseño de decorador?

Responder:
El patrón decorador, también conocido como patrón estructural, se usa para agregar funcionalidad adicional a un objeto en particular en tiempo de ejecución. Envuelve el objeto original a través del objeto decorador. Por ejemplo, cuando compra una hamburguesa, puede personalizarla agregando relleno y salsas adicionales, ahora el costo de estos artículos debe agregarse al precio final. La personalización diferirá de cliente a cliente y la oferta de una tienda. Crear diferentes clases de hamburguesas con diferentes rellenos terminará creando muchas clases. Decorator resuelve este problema extendiendo la funcionalidad de una sola clase Burger en tiempo de ejecución según la solicitud del cliente.

10. ¿Cuál es el beneficio de usar un patrón de diseño de prototipo sobre la creación de una instancia usando la nueva palabra clave?

Responder:
A veces, la creación de objetos es pesada y requiere muchos recursos, crear una nueva instancia afectará el rendimiento. En tales casos, se utiliza un patrón de diseño de prototipo que se refiere a la creación de objetos duplicados. En el patrón de diseño de prototipo, si un objeto similar ya está presente, la clonación se realiza teniendo en cuenta el rendimiento.

Artículo recomendado

Esta ha sido una guía completa de las preguntas y respuestas de la entrevista del patrón de diseño para que el candidato pueda tomar medidas enérgicas contra estas preguntas de la entrevista del patrón de diseño fácilmente. También puede consultar los siguientes artículos para obtener más información:

  1. Las 25 preguntas más importantes de la entrevista de informática
  2. Conozca las 10 preguntas y respuestas útiles de la entrevista ágil útil
  3. Las 5 preguntas más importantes de la entrevista de ciencia de datos
  4. Increíbles 20 consejos para concretar tu próxima entrevista de trabajo (Ideas)