Einführung in Design Pattern Interview Fragen und Antworten

Entwurfsmuster sind eine gut beschriebene Lösung für die am häufigsten auftretenden Probleme, die während der Softwareentwicklung auftreten. Das Entwurfsmuster stellt die Best Practices dar, die im Laufe der Zeit von erfahrenen Softwareentwicklern entwickelt wurden. Sie fördern die Wiederverwendbarkeit, was zu einem robusteren und wartbaren Code führt.
Design Patterns wurden erstmals in dem Buch A Pattern Language des Architekten Christopher Alexander beschrieben. Später wurden sie in Design Patterns beschrieben: Elemente wiederverwendbarer objektorientierter Software, die von vier Autoren (Erich Gamma, Richard Helm, Ralph Johnson und John Vlissides) geschrieben wurden und auch als "Gang of Four" bezeichnet werden.
Die Entwurfsmuster können in drei Hauptkategorien eingeteilt werden:
• Erstellungsmuster
• Verhaltensmuster
• Funktionsmuster

Während Sie sich auf ein Vorstellungsgespräch im Bereich Design vorbereiten. Ich bin sicher, Sie möchten die häufigsten Fragen und Antworten zum Design Pattern-Interview für 2019 kennenlernen, mit denen Sie das Design Pattern-Interview mühelos knacken können. Nachstehend finden Sie eine Liste der wichtigsten Fragen und Antworten zu Design Pattern-Vorstellungsgesprächen, die Ihnen zur Seite stehen.

Im Folgenden sind einige der häufig gestellten Fragen zum Entwurfsmuster für 2019 aufgeführt:

1.Was ist Singleton Pattern in Java?

Antworten:
Singleton-Muster ist ein Erstellungsmuster, mit dem nur eine Instanz einer Klasse erstellt werden kann, die für die gesamte Anwendung verfügbar ist. Der Hauptvorteil von Singleton-Entwurfsmustern ist die Speicherersparnis, da die einzelne Instanz immer wieder verwendet wird. Es ist nicht erforderlich, bei jeder Anforderung ein neues Objekt zu erstellen. In unserer Anwendung können wir beispielsweise eine einzelne Datenbankverbindung verwenden, die von mehreren Objekten gemeinsam genutzt wird, anstatt für jede Anforderung eine Datenbankverbindung zu erstellen.

2.Was sind die Nachteile der Verwendung von Singleton-Entwurfsmustern?

Antworten:
Die Hauptnachteile der Verwendung von Singleton-Entwurfsmustern sind:
a) Singleton bewirkt, dass der Code eng gekoppelt ist. Das Singleton-Objekt wird global verfügbar gemacht und steht einer ganzen Anwendung zur Verfügung. Auf diese Weise werden Klassen, die dieses Objekt verwenden, eng miteinander verbunden. Jede Änderung am globalen Objekt wirkt sich auf alle anderen Klassen aus, die es verwenden.
b) Sie verbergen Abhängigkeiten, anstatt sie aufzudecken.
c) Singleton Pattern unterstützt keine Vererbung.
d) Das Singleton-Prinzip kann durch Techniken wie das Klonen verletzt werden. Wenn eine Anwendung auf mehreren JVMs ausgeführt wird, ist Singleton in diesem Fall möglicherweise fehlerhaft.

3.Welches Entwurfsmuster verwenden Sie, um ein komplexes Objekt zu erstellen?

Antworten:
Das Builder-Entwurfsmuster wird zum Erstellen eines komplexen Objekts verwendet. Es wurde entwickelt, um die Probleme mit werkseitigen und abstrakten Designmustern zu lösen.

4.Warum verwenden Sie eine Factory-Klasse, um eine Klasse zu instanziieren, wenn wir einen neuen Operator verwenden können?

Antworten:
Fabrikklassen bieten Flexibilität in Bezug auf das Design. Im Folgenden sind einige der Vorteile der Fabrikklasse aufgeführt:
• Das Factory-Design-Muster führt zu stärker entkoppeltem Code, da die Erstellungslogik vor abhängigem Code verborgen werden kann
• Es erlaubt uns, einen Inversion of Control-Container einzuführen
• Es gibt Ihnen viel mehr Flexibilität, wenn Sie die Anwendung ändern müssen, da unsere Erstellungslogik vor abhängigem Code verborgen ist

5.Was ist der Unterschied zwischen Fabrik- und abstraktem Fabrikdesignmuster?

Antworten:
Sowohl die Fabrik als auch die abstrakte Fabrik sind kreative Designmuster. Der Hauptunterschied zwischen diesen beiden ist, dass ein Factory-Muster durch Vererbung ein Objekt erstellt und nur ein Produkt erzeugt. Andererseits schafft ein abstraktes Fabrikmuster das Objekt durch Komposition und produziert Produktfamilien.

6.Was ist das Designmuster für Beobachter in Java?

Antworten:
Das Beobachter-Entwurfsmuster ist eines der Verhaltensentwurfsmuster, die eine zu viele Abhängigkeit zwischen Objekten definieren. Dies ist hilfreich, wenn wir an einem Zustand eines Objekts interessiert sind und benachrichtigt werden möchten, wenn sich der Zustand des Objekts ändert. Wenn ein Objekt im Observer-Entwurfsmuster seinen Status ändert, werden alle abhängigen Objekte automatisch benachrichtigt. Das Objekt heißt Subjekt und die abhängigen Objekte heißen Observer. Java stellt Bibliotheken zum Implementieren des Observer-Entwurfsmusters mithilfe der Schnittstelle java.util.Observable class & java.util.Observer bereit.

7. Unterschied zwischen Strategie und State Design Pattern in Java?

Antworten:
Sowohl Strategie als auch Zustandsentwurfsmuster sind in der Praxis ähnlich, weisen jedoch eine unterschiedliche Implementierung auf. Einige der Hauptunterschiede zwischen diesen beiden sind:
a.Strategieentwurfsmuster definieren eine Reihe von Algorithmen zum Ausführen eines bestimmten Verhaltens, während das Statusentwurfsmuster es einem Objekt ermöglicht, sein Verhalten zu ändern, wenn sich der interne Status ändert.
b. Mit dem Strategieentwurfsmuster können wir keinen Verweis auf das Kontextobjekt speichern, während das Statusentwurfsmuster den Verweis auf das Kontextobjekt speichert, in dem sie enthalten sind.
c.Im Strategieentwurfsmuster ist der Kunde über die Strategie informiert, die für die Implementierung ausgewählt wurde, während er im Statusentwurfsmuster nicht entscheidet, welcher Status für die Implementierung ausgewählt werden soll.
d.Strategiemuster behandelt, wie ein Objekt eine bestimmte Aufgabe ausführt, während Zustandsentwurfsmuster behandelt, was ein Objekt ist.
e.Im Strategieentwurfsmuster ist keine Nachfolger / Vorgänger-Beziehung vorhanden, wohingegen im Statusentwurfsmuster Zustände als Nachfolger & Vorgänger miteinander in Beziehung stehen.

8.Was ist das Null-Objektmuster?

Antworten:
Das Nullobjektmuster ist ein Entwurfsmuster, bei dem das Nullobjekt die NULL-Prüfung für die Instanzvariable ersetzt. Anstatt auf einen Nullwert zu prüfen, gibt Null Object eine Do-nothing-Beziehung wieder. Es kann auch verwendet werden, um das Standardverhalten für den Fall bereitzustellen, dass keine Daten verfügbar sind.

9. Geben Sie ein Beispiel für ein Dekorateur-Entwurfsmuster?

Antworten:
Das Dekorationsmuster, auch als Strukturmuster bezeichnet, wird verwendet, um einem bestimmten Objekt zur Laufzeit zusätzliche Funktionen hinzuzufügen. Es hüllt das ursprüngliche Objekt in ein Dekorationsobjekt. Wenn Sie beispielsweise einen Burger kaufen, können Sie ihn anpassen, indem Sie zusätzliche Füllung und Saucen hinzufügen. Jetzt müssen die Kosten für diese Artikel zum Endpreis hinzugerechnet werden. Die Anpassung unterscheidet sich von Kunde zu Kunde und Angebot von einem Geschäft. Wenn Sie verschiedene Burger-Klassen mit unterschiedlichen Füllungen erstellen, werden am Ende viele Klassen erstellt. Decorator löst dieses Problem, indem die Funktionalität einer einzelnen Burger-Klasse zur Laufzeit auf Kundenwunsch erweitert wird.

10.Was ist der Vorteil der Verwendung eines Prototypentwurfsmusters gegenüber der Erstellung einer Instanz mit dem neuen Schlüsselwort?

Antworten:
Manchmal ist die Objekterstellung sehr schwer und erfordert eine Menge Ressourcen. Das Erstellen einer neuen Instanz wirkt sich auf die Leistung aus. In solchen Fällen wird ein Prototyp-Entwurfsmuster verwendet, das sich auf das Erstellen doppelter Objekte bezieht. Wenn im Muster des Prototypentwurfs bereits ein ähnliches Objekt vorhanden ist, erfolgt das Klonen unter Berücksichtigung der Leistung.

Empfohlener Artikel

Dies ist ein umfassender Leitfaden für die Fragen und Antworten zum Design Pattern-Interview, damit der Kandidat diese Fragen zum Design Pattern-Interview leicht durchgreifen kann. Sie können sich auch die folgenden Artikel ansehen, um mehr zu erfahren -

  1. 25 Die wichtigsten Fragen zum Thema Informatik
  2. Kennen Sie die 10 wichtigsten Fragen und Antworten zu Agile-Interviews
  3. Die Top 5 der wertvollsten Fragen im Zusammenhang mit Data Science-Vorstellungsgesprächen
  4. Unglaubliche 20 Tipps für Ihr nächstes Vorstellungsgespräch (Ideen)