Topp 22 Java Design Patterns Intervju Frågor & Svar

Anonim

Ladda ner PDF

1) Förklara vad som är Java Design Pattern?

Ett designmönster är en språkoberoende strategi för att lösa vanliga objektorienterade designproblem. Den beskriver hur man strukturerar klasser för att uppfylla ett visst krav.

2) Förklara vad som är skapande designmönster och fabriksmönster?

Skapande designmönster : Detta mönster används för att definiera och beskriva hur objekt skapas vid klassinstansieringstid.

Fabriksmönster : Fabriksmönstret används för att skapa ett objekt utan att skapa skapelsens logik för klienten och hänvisa till ett nyskapat objekt med ett gemensamt gränssnitt.

3) Vilket designmönster används för att få ett sätt att få åtkomst till elementen i ett samlingsobjekt på sekventiellt sätt?

Iteratormönster används för att få ett sätt att komma åt elementen i ett samlingsobjekt på sekventiellt sätt.

4) När tjänsten lokaliseringsmönster används?

När vi vill hitta olika tjänster med JNDI använder vi servicelokatormönster.

5) Nämn på hur många sätt kan du skapa singletonmönster?

För att skapa enstaka objekt finns det två kända sätt

  • Lata lastning
  • Ivrig laddning

6) Nämn vilket mönster som används när vi behöver koppla bort en abstraktion från dess implementering?

När vi vill koppla bort en abstraktion från dess implementering så att två kan variera oberoende använder vi bromönster.

7) Nämn vilket designmönster som kan vara till hjälp för att lägga till ny funktionalitet i ett befintligt objekt?

Ett dekoratormönster tillåter en användare att lägga till ny funktionalitet i ett befintligt objekt utan att ändra dess struktur.

8) Förklara hur du kan skapa en Singleton-klass i Java?

Det är tvåstegsprocess,

  • Gör först konstruktören privat så att den nya operatören inte kan användas för att initiera klassen
  • Returnera ett objekt av objektet om inte null annars skapa objektet och returnera detsamma via en metod.

9) Är det möjligt att skriva trådsäker singleton i Java?

För att skriva trådsäker singleton i Java finns det flera sätt, till exempel genom att använda statisk singleton-instans initierad under klassladdning, genom att skriva singleton med dubbel markerad låsning. Java Enum är det enklaste sättet att skapa trådsäker singleton.

10) Nämn hur man ska beskriva ett designmönster?

För att beskriva ett designmönster måste följande saker tas om hand

  • Mönsternamn och klassificering
  • Problem och lösning
  • Konsekvenser: Variations- och språkberoende alternativ bör också tas upp
  • Know Uses: Identifiera användningen i de verkliga systemen och dess effektivitet

11) Nämn varför åtkomst till den icke-statiska variabeln inte är tillåten från den statiska metoden i Java?

Du kan inte komma åt icke-statisk data från en statisk kontext eftersom icke-statisk variabel är associerad med en specifik instans av ett objekt medan statisk inte är associerad med någon instans.

12) Nämn vilket mönster som är användbart när man måste skicka data med flera attribut i ett skott från klient till server?

Överföringsmönster är användbart när man måste skicka data med flera attribut i ett skott från klient till servern.

13) Nämn några av enheterna för DAO-mönster?

Några av enheterna i DAO inkluderar,

  • Betongklass för dataåtkomstobjekt
  • Dataåtkomst-objektgränssnitt
  • Modellobjekt eller värdeobjekt

14) Nämn när kan du använda avlyssningsmönstret?

Avlyssningsmönster används när du måste göra lite förbehandling eller efterbehandling med begäran eller svar från applikationen.

15) Nämn när man ska använda ett fabriksmönster?

Fabriksmönster kan användas,

  • När en klass inte vet vilken klass av objekt som behöver skapas
  • När klass specificerar dess underklasser för att ange vilka objekt som ska skapas
  • I programmeringsspråket kan du använda fabriksmönster där du måste skapa ett objekt av någon av underklasserna beroende på den givna informationen

16) Förklara i singletonmönster om det är bättre att göra hela getinstance () -metoden synkroniserad eller är det bara tillräckligt med kritiskt avsnitt? Vilken är att föredra?

Synkronisering av hela getinstance () -metoden är kostsam och behövs bara under initialiseringen på singleton-instans för att sluta skapa en annan instans av Singleton. Därför är det bättre att bara synkronisera kritiska avsnitt och inte hela metoden.

17) Nämn på hur många sätt kan du skriva singleton-klass i Java?

Man kan skriva singleton-klass i Java på fyra sätt

  • Singleton med offentligt statiskt slutfält initierat under klassladdning
  • Singleton genererad av statisk kapslad klass, även kallad singletonhållarmönster
  • Singleton genom att synkronisera metoden get instance ()
  • Från Java 5 on-wards använder Enums

18) Förklara hur du kan förhindra att du skapar ytterligare en instans av singleton med metoden clone ()?

Det föredragna sättet att förhindra att skapa en annan instans av en singleton är att inte implementera Cloneable-gränssnittet och om du bara kastar ett undantag från clone () -metoden "att inte skapa en klon av singleton-klass".

19) Nämn vad är skillnaden mellan ”kast” och ”kast”?

Nyckelordet "Kasta" används för att uttryckligen kasta som ett undantag, medan "Kasta" används för att hantera markerade undantag för att återintimera kompilatorn att undantag hanteras. Kasten måste användas i metodens definition och även när man åberopar metoden som ger kontrollerade undantag.

20) Nämn vilka klasser i JDK som använder singletonmönster?

Java.lang.Runtime-klasser använder singleton-mönster i JDK.

21) Nämn vad är begränsningen med att använda singletonmönster?

Singletonmönstret säkerställer att en klass bara har en instans och ger en global åtkomstpunkt till den. Men samtidigt blir detta dess begränsning eftersom de flesta klasser i en applikation måste skapa flera instanser.

22) Nämn vad är skillnaden mellan VO och JDO?

Skillnaden mellan JDO och VO är att JDO är en ihållande teknik som konkurrerar mot enhetsbönor vid utveckling av företagsapplikationer. Det gör att du kan skapa POJO (vanliga gamla Java-objekt) och behålla dem i databasen.

Medan VO står för värdeobjekt representerar ett abstrakt designmönster som används i samband med entitetsbönor, jdbc och möjligen till och med JDO för att övervinna vanligt förekommande isolerings- och transaktionsproblem i företagsappar.