Top 22 interviewvragen over Java Design Patterns & Antwoorden

Anonim

Download PDF

1) Leg uit wat het Java-ontwerppatroon is?

Een ontwerppatroon is een taalonafhankelijke strategie voor het oplossen van veelvoorkomende objectgeoriënteerde ontwerpproblemen. Het beschrijft hoe klassen kunnen worden gestructureerd om aan een bepaalde vereiste te voldoen.

2) Leg uit wat creatieve ontwerppatronen en fabriekspatronen zijn?

Creationeel ontwerppatroon : dit patroon wordt gebruikt om te definiëren en te beschrijven hoe objecten worden gemaakt op het moment van klasse-instantiatie.

Fabriekspatroon : het fabriekspatroon wordt gebruikt om een ​​object te maken zonder de aanmaaklogica aan de klant bloot te stellen en verwijst naar een nieuw gemaakt object met behulp van een gemeenschappelijke interface.

3) Welk ontwerppatroon wordt gebruikt om een ​​manier te vinden om op sequentiële wijze toegang te krijgen tot de elementen van een collectieobject?

Iteratorpatroon wordt gebruikt om een ​​manier te vinden om op een sequentiële manier toegang te krijgen tot de elementen van een verzamelingsobject.

4) Wanneer het servicelocatorpatroon wordt gebruikt?

Als we verschillende services willen lokaliseren met behulp van JNDI, gebruiken we het servicelocatorpatroon.

5) Noem op hoeveel manieren je een singletonpatroon kunt creëren?

Er zijn twee bekende manieren om afzonderlijke objecten te maken

  • Trage voortgang
  • Gretig laden

6) Geef aan welk patroon wordt gebruikt wanneer we een abstractie moeten ontkoppelen van de implementatie ervan?

Als we een abstractie willen ontkoppelen van de implementatie, zodat twee onafhankelijk kunnen variëren, gebruiken we een brugpatroon.

7) Geef aan welk ontwerppatroon nuttig zal zijn om nieuwe functionaliteit aan een bestaand object toe te voegen?

Met een decorateurpatroon kan een gebruiker nieuwe functionaliteit aan een bestaand object toevoegen zonder de structuur ervan te veranderen.

8) Leg uit hoe je een Singleton-klasse in Java kunt maken?

Het is een proces in twee stappen,

  • Maak eerst de constructor privé zodat de nieuwe operator niet kan worden gebruikt om de klasse te instantiëren
  • Retourneer een object van het object, zo niet null, maak anders het object en retourneer hetzelfde via een methode.

9) Is het mogelijk om threadveilige singleton in Java te schrijven?

Om thread-safe singleton in Java te schrijven, zijn er meerdere manieren, bijvoorbeeld door een statische singleton-instantie te gebruiken die is geïnitialiseerd tijdens het laden van de klasse, door singleton te schrijven met behulp van dubbele gecontroleerde vergrendeling. Java Enum is de eenvoudigste manier om een ​​threadveilige singleton te maken.

10) Noem hoe men een ontwerppatroon moet omschrijven?

Om een ​​ontwerppatroon te beschrijven, moet voor de volgende dingen worden gezorgd

  • Patroonnaam en classificatie
  • Probleem en oplossing
  • Gevolgen: Variatie- en taalafhankelijke alternatieven moeten ook worden aangepakt
  • Ken het gebruik: identificeer het gebruik in de echte systemen en de efficiëntie ervan

11) Geef aan waarom toegang tot de niet-statische variabele niet is toegestaan ​​vanuit de statische methode in Java?

U hebt geen toegang tot niet-statische gegevens vanuit een statische context omdat niet-statische variabelen zijn gekoppeld aan een specifiek exemplaar van een object, terwijl statisch niet aan een exemplaar is gekoppeld.

12) Noem welk patroon handig is als men gegevens met meerdere attributen in één keer van client naar server moet doorgeven?

Transfer Object Pattern is handig wanneer men gegevens met meerdere attributen in één keer van de client naar de server moet doorgeven.

13) Noem enkele van de entiteiten van het DAO-patroon?

Enkele van de entiteiten van DAO zijn onder meer:

  • Gegevenstoegang object concrete klasse
  • Interface voor gegevenstoegang
  • Modelobject of waardeobject

14) Noem wanneer kunt u het onderscheppingspatroon gebruiken?

Het onderscheppingspatroon wordt gebruikt wanneer u wat voorverwerking of nabewerking moet doen met een verzoek of reactie van de toepassing.

15) Geef aan wanneer u een fabriekspatroon moet gebruiken?

Fabriekspatroon kan worden gebruikt,

  • Wanneer een klasse niet weet welke klasse objecten moet worden gemaakt
  • Wanneer klasse zijn subklassen specificeert om te specificeren welke objecten moeten worden gemaakt
  • In de programmeertaal kunt u het fabriekspatroon gebruiken, waarbij u een object van een van de subklassen moet maken, afhankelijk van de gegeven gegevens

16) Leg in singleton-patroon uit of het beter is om de hele methode getinstance () te synchroniseren of dat alleen de kritische sectie voldoende is? Welke heeft de voorkeur?

Synchronisatie van de hele methode getinstance () is kostbaar en is alleen nodig tijdens de initialisatie op een singleton-instantie om te stoppen met het maken van een nieuwe instantie van Singleton. Daarom is het beter om alleen de kritieke sectie te synchroniseren en niet de hele methode.

17) Noem op hoeveel manieren je singleton class in Java kunt schrijven?

Men kan op vier manieren een singleton-klasse in Java schrijven

  • Singleton met openbaar statisch laatste veld geïnitialiseerd tijdens het laden van de klasse
  • Singleton gegenereerd door statische geneste klasse, ook wel singleton-houderpatroon genoemd
  • Singleton door de methode get instance () te synchroniseren
  • Vanaf Java 5 en met Enums

18) Leg uit hoe u kunt voorkomen dat er nog een exemplaar van singleton wordt gemaakt met de methode clone ()?

De geprefereerde manier om te voorkomen dat er nog een instantie van een singleton wordt gemaakt, is door de Cloneable-interface niet te implementeren en als je gewoon een uitzondering gooit van de clone () -methode "om geen kloon van de singleton-klasse te maken".

19) Wat is het verschil tussen "worpen" en "worpen"?

Trefwoord "Throw" wordt gebruikt om expliciet als uitzondering te gooien, terwijl "Throws" wordt gebruikt om aangevinkte uitzonderingen af ​​te handelen om de compiler opnieuw te laten weten dat er uitzonderingen worden afgehandeld. De worpen moeten worden gebruikt in de definitie van de methode en ook tijdens het aanroepen van de methode die gecontroleerde uitzonderingen oproept.

20) Geef aan welke klassen in JDK het singleton-patroon gebruiken?

Java.lang.Runtime-klassen gebruiken singleton-patroon in JDK.

21) Wat is de beperking van het gebruik van een singletonpatroon?

Het singleton-patroon zorgt ervoor dat een klasse slechts één instantie heeft en een globaal toegangspunt ervoor biedt. Maar tegelijkertijd wordt dit de beperking, aangezien u voor de meeste klassen in een toepassing meerdere instanties moet maken.

22) Wat is het verschil tussen VO en JDO?

Het verschil tussen JDO en VO is dat de JDO een hardnekkige technologie is die concurreert met entiteitsbonen bij de ontwikkeling van bedrijfsapplicaties. Hiermee kunt u POJO (gewone oude Java-objecten) maken en deze in de database bewaren.

Terwijl VO staat voor value, vertegenwoordigt objecten een abstract ontwerppatroon dat wordt gebruikt in combinatie met entity beans, jdbc en mogelijk zelfs JDO om veel voorkomende isolatie- en transactieproblemen in bedrijfsapps te overwinnen.