Introduction à Design Pattern Questions et réponses d'entrevue

Les modèles de conception sont une solution bien décrite aux problèmes les plus courants rencontrés lors du développement logiciel. Le modèle de conception représente les meilleures pratiques développées au cours d'une période de temps par des développeurs de logiciels expérimentés. Ils favorisent la réutilisabilité qui conduit à un code plus robuste et maintenable.
Les modèles de conception ont d'abord été décrits dans le livre A Pattern Language de l'architecte Christopher Alexander. Plus tard, ils ont été décrits dans Design Patterns: Elements of réutilisable orienté objet écrit par quatre auteurs (Erich Gamma, Richard Helm, Ralph Johnson et John Vlissides) également appelé «Gang of Four».
Les modèles de conception peuvent être classés en trois catégories principales:
• Modèles de création
• Modèles comportementaux
• Modèles fonctionnels

Alors tout en se préparant à un entretien d'embauche en design. Je suis sûr que vous voulez connaître les questions et réponses d'entrevue de modèle de conception 2019 les plus courantes qui vous aideront à résoudre facilement l'entretien de modèle de conception. Vous trouverez ci-dessous la liste des principales questions et réponses d'entrevue sur les modèles de conception à votre secours.

Voici quelques-unes des questions les plus fréquemment posées lors des entretiens sur les modèles de conception 2019:

1.Qu'est-ce que Singleton Pattern en Java?

Répondre:
Le modèle singleton est un modèle de création qui permet de créer une seule instance d'une classe qui sera disponible pour l'ensemble de l'application. Le principal avantage du modèle de conception Singleton est sa sauvegarde de la mémoire car l'instance unique est réutilisée encore et encore; il n'est pas nécessaire de créer un nouvel objet à chaque demande. Par exemple, dans notre application, nous pouvons utiliser une seule connexion à la base de données partagée par plusieurs objets, au lieu de créer une connexion à la base de données pour chaque demande.

2. Quels sont les inconvénients de l'utilisation d'un motif de conception singleton?

Répondre:
Les principaux inconvénients de l'utilisation du modèle de conception singleton sont les suivants:
a) Singleton fait que le code est étroitement couplé. L'objet singleton est exposé globalement et est disponible pour toute une application. Ainsi, les classes utilisant cet objet deviennent étroitement couplées; tout changement dans l'objet global affectera toutes les autres classes l'utilisant.
b) Ils cachent des dépendances au lieu de les exposer.
c) Le modèle singleton ne prend pas en charge l'héritage.
d) Le principe Singleton peut être violé par des techniques telles que le clonage. Si une application s'exécute sur plusieurs machines virtuelles Java, alors, dans ce cas, Singleton peut être rompu.

3. Quel modèle de conception utiliserez-vous pour créer un objet complexe?

Répondre:
Le modèle de conception Builder est utilisé pour construire un objet complexe. Il est conçu pour résoudre les problèmes de modèle de conception d'usine et abstrait.

4.Pourquoi utiliser une classe d'usine pour instancier une classe lorsque nous pouvons utiliser un nouvel opérateur?

Répondre:
Les classes d'usine offrent une flexibilité en termes de conception. Voici certains des avantages de la classe d'usine:
• Le modèle de conception d'usine entraîne un code plus découplé car il nous permet de cacher la logique de création du code dépendant
• Il nous permet d'introduire un conteneur d'inversion de contrôle
• Il vous donne beaucoup plus de flexibilité quand vient le temps de changer l'application car notre logique de création est cachée du code dépendant

5. Quelle est la différence entre le modèle de conception d'usine et le modèle d'usine abstrait?

Répondre:
L'usine et l'usine abstraite sont des modèles de conception créatifs. La principale différence entre ces deux éléments est qu'un modèle d'usine crée un objet par héritage et ne produit qu'un seul produit. D'un autre côté, un motif d'usine abstrait crée l'objet à travers la composition et produit des familles de produits.

6.Quel est le modèle de conception de l'observateur en Java?

Répondre:
Le modèle de conception de l'observateur est l'un des modèles de conception comportementale qui définit les dépendances un à plusieurs entre les objets et est utile lorsque nous sommes intéressés par l'état d'un objet et que nous voulons être avertis en cas de changement d'état de l'objet. Dans le modèle de conception Observer, lorsqu'un objet change d'état, tous ses objets dépendants sont automatiquement notifiés, l'objet est appelé Sujet et les dépendants sont appelés Observateurs. Java fournit des bibliothèques pour implémenter le modèle de conception Observer à l'aide de la classe java.util.Observable et de l'interface java.util.Observer.

7.Différence entre la stratégie et le modèle de conception d'état en Java?

Répondre:
La stratégie, ainsi que le modèle de conception de l'État, sont similaires dans la pratique, mais leur mise en œuvre est différente. Voici quelques-unes des principales différences entre ces deux:
Un modèle de conception de stratégie définit un ensemble d'algorithmes pour effectuer un comportement spécifique tandis que le modèle de conception d'état permet à un objet de modifier son comportement lorsqu'il change d'état interne.
b.Le modèle de conception de stratégie ne nous permet pas de stocker une référence à l'objet contextuel tandis que le modèle de conception d'état stocke la référence à l'objet contextuel qui les contient.
c. Dans le modèle de conception de stratégie, le client est conscient de la stratégie qui est choisie pour la mise en œuvre, tandis que dans le modèle de conception d'état, le client ne décide pas de l'état à choisir pour la mise en œuvre.
d. Le modèle de stratégie traite de la façon dont un objet exécute une certaine tâche tandis que le modèle de conception d'état traite de ce qu'est un objet.
e. Il n'y a pas de relation successeur / prédécesseur dans le modèle de conception de stratégie alors que dans le modèle de conception d'état, les états sont liés les uns aux autres en tant que successeur et prédécesseur.

8.Qu'est-ce qu'un modèle d'objet nul?

Répondre:
Le modèle d'objet nul est un modèle de conception dans lequel un objet nul remplace le contrôle NULL pour la variable d'instance. Au lieu de cocher une valeur nulle, Null Object reflète une relation de ne rien faire. Il peut également être utilisé pour fournir un comportement par défaut dans le cas où les données ne sont pas disponibles.

9. Donner un exemple de modèle de conception de décorateur?

Répondre:
Le motif de décoration, également appelé motif structurel, est utilisé pour ajouter des fonctionnalités supplémentaires à un objet particulier lors de l'exécution. Il enveloppe l'objet d'origine à travers l'objet décorateur. Par exemple, lorsque vous achetez un hamburger, vous pouvez le personnaliser en ajoutant des garnitures et des sauces supplémentaires, maintenant le coût de ces articles doit être ajouté au prix final. La personnalisation diffère d'un client à l'autre et offre dans un magasin. La création de différentes classes de burger avec différentes garnitures finira par créer beaucoup de classes. Decorator résout ce problème en étendant les fonctionnalités d'une seule classe Burger au moment de l'exécution en fonction de la demande du client.

10.Quel est l'avantage d'utiliser un modèle de conception de prototype par rapport à la création d'une instance à l'aide du nouveau mot clé?

Répondre:
Parfois, la création d'objet est lourde et nécessite beaucoup de ressources, la création d'une nouvelle instance aura un impact sur les performances. Dans de tels cas, un modèle de conception de prototype est utilisé qui fait référence à la création d'objets en double. Dans le modèle de conception de prototype, si un objet similaire est déjà présent, le clonage est effectué en gardant à l'esprit les performances.

Article recommandé

Ceci a été un guide complet des questions et réponses d'entrevue de modèle de conception afin que le candidat puisse réprimer ces questions d'entrevue de modèle de conception facilement. Vous pouvez également consulter les articles suivants pour en savoir plus -

  1. 25 questions d'entrevue les plus importantes en informatique
  2. Connaître le Top 10 des questions et réponses d'entrevue Agile utiles
  3. Les 5 questions d'entrevue les plus utiles sur la science des données
  4. Incroyable 20 conseils pour réussir votre prochain entretien d'embauche (idées)