Top 22 Java Design Patterns -haastattelukysymykset (2026)

Tรคssรค on Java Design Patterns haastattelee kysymyksiรค ja vastauksia tuoreemmille ja kokeneemmille hakijoille saadakseen unelmatyรถnsรค.

 

Design Patterns -haastattelukysymyksiรค ja vastauksia fuksilaisille

1) Selitรค mikรค on Java Suunnittelumalli?

Suunnittelumalli on kielestรค riippumaton strategia yleisen olio-suunnitteluongelman ratkaisemiseksi. Se kuvaa, kuinka luokat rakennetaan tietyn vaatimuksen tรคyttรคmiseksi.


2) Selitรค, mitรค ovat luovat suunnittelumallit ja tehdaskuviot?

Luova suunnittelukuvio: Tรคtรค mallia kรคytetรครคn mรครคrittelemรครคn ja kuvaamaan, kuinka objektit luodaan luokan ilmentymishetkellรค.

Tehtaan malli: Tehdasmallia kรคytetรครคn objektin luomiseen paljastamatta luontilogiikkaa asiakkaalle ja viitataan รคskettรคin luotuun objektiin yhteisen kรคyttรถliittymรคn avulla.

๐Ÿ‘‰ Ilmainen PDF-lataus: Java Design Patterns -haastattelukysymyksiรค ja vastauksia


3) Millรค suunnittelumallilla pรครคstรครคn kรคsiksi kokoelmaobjektin elementteihin perรคkkรคin?

Iteraattorikuviota kรคytetรครคn saadakseen tapa pรครคstรค kรคsiksi kokoelmaobjektin elementteihin perรคkkรคin.


4) Milloin palvelupaikannuskuviota kรคytetรครคn?

Kun haluamme paikantaa erilaisia โ€‹โ€‹palveluita JNDI:n avulla, kรคytรคmme palvelupaikannusmallia.


5) Mainitse kuinka monella tavalla voit luoda yksittรคiskuvion?

Yksittรคisten objektien luomiseen on kaksi tunnettua tapaa

  • Laiska lastaus
  • Innokas lastaus
Java Suunnittelumalleja
Java Suunnittelukuvioiden haastattelukysymykset

6) Mainitse, mitรค kaavaa kรคytetรครคn vatsalihasten irrottamiseentracsen tรคytรคntรถรถnpanosta?

Kun haluamme irrottaa vatsalihaksettracJotta kaksi voi vaihdella toisistaan โ€‹โ€‹riippumatta, kรคytรคmme siltakuviota.


7) Mainitse mikรค suunnittelumalli auttaa lisรครคmรครคn uusia toimintoja olemassa olevaan kohteeseen?

Sisustuskuvion avulla kรคyttรคjรค voi lisรคtรค uusia toimintoja olemassa olevaan esineeseen muuttamatta sen rakennetta.


8) Selitรค, kuinka voit luoda Singleton-luokan Java?

Se on kaksivaiheinen prosessi,

  • Tee ensin rakentaja yksityiseksi, jotta uutta operaattoria ei voida kรคyttรครค luokan ilmentรคmiseen
  • Palauta objektin objekti, jos se ei ole tyhjรค, muuten luo objekti ja palauta se menetelmรคllรค.

9) Onko mahdollista kirjoittaa sรคikeen varma singleton sisรครคn Java?

Kirjoittaaksesi langan varman singleton sisรครคn Java on useita tapoja, esimerkiksi kรคyttรคmรคllรค staattista singleton-instanssia, joka on alustettu luokan latauksen aikana, kirjoittamalla singleton kรคyttรคmรคllรค kaksoistarkistettua lukitusta. Java Enum on yksinkertaisin tapa luoda sรคikeen varma singleton.


10) Mainitse kuinka suunnittelumallia pitรคisi kuvata?

Suunnittelumallin kuvaamiseksi on otettava huomioon seuraavat asiat

  • Kuvion nimi ja luokitus
  • Ongelma ja ratkaisu
  • Seuraukset: Variaatiosta ja kielestรค riippuvaisia โ€‹โ€‹vaihtoehtoja tulee myรถs kรคsitellรค
  • Tunne kรคyttรถtarkoitukset: Tunnista kรคyttรถtarkoitukset todellisissa jรคrjestelmissรค ja niiden tehokkuus

11) Mainitse, miksi pรครคsy ei-staattiseen muuttujaan ei ole sallittu staattisen menetelmรคn avulla Java?

Et voi kรคyttรครค ei-staattista dataa staattisesta kontekstista, koska ei-staattinen muuttuja liittyy tiettyyn objektin esiintymรครคn, kun taas staattinen ei liity mihinkรครคn ilmentymรครคn.


12) Mainitse mikรค malli on hyรถdyllinen, kun dataa, jossa on useita attribuutteja, on siirrettรคvรค yhdellรค kertaa asiakkaalta palvelimelle?

Transfer Object Pattern on hyรถdyllinen, kun dataa, jossa on useita attribuutteja, on siirrettรคvรค kerralla asiakkaalta palvelimelle.


13) Nimeรค joitain DAO-mallin kokonaisuuksia?

Joitakin DAO:n kokonaisuuksia ovat mm.

  • Tiedonkรคyttรถobjektin konkreettinen luokka
  • Tiedonkรคyttรถobjektin kรคyttรถliittymรค
  • Malliobjekti tai arvoobjekti

14) Mainitse milloin voit kรคyttรครค sieppauskuviota?

Sieppauskuviota kรคytetรครคn, kun sinun on suoritettava esi- tai jรคlkikรคsittely sovelluksen pyynnรถstรค tai vastauksena.


15) Mainitse milloin tehdaskuviota tulee kรคyttรครค?

Tehdaskuviota voidaan kรคyttรครค,

  • Kun luokka ei tiedรค, mikรค objektiluokka on luotava
  • Kun luokka mรครคrittรครค aliluokkansa mรครคrittรครคkseen luotavat objektit
  • Ohjelmointikielessรค voit kรคyttรครค tehdasmallia, jossa sinun on luotava minkรค tahansa alaluokan objekti annetuista tiedoista riippuen

Design Patterns -haastattelukysymyksiรค ja vastauksia kokeneille

16) Selitรค singleton-kaavassa, onko parempi tehdรค koko getinstance()-metodi synkronoitu vai riittรครคkรถ pelkkรค kriittinen osa? Kumpi on parempi?

Synckokonaisuuden hronisointi getinstance() menetelmรค on kallis ja tarvitaan vain alustuksen aikana singleton-instanssissa, jotta toisen Singleton-esiintymรคn luominen lopetetaan. Siksi on parempi synkronoida vain kriittinen osa, ei koko menetelmรครค.


17) Mainitse kuinka monella tavalla voit kirjoittaa singleton-luokan Java?

Yksittรคisluokkaan voi kirjoittaa Java neljรคllรค tavalla

  • Singleton, jossa on julkinen staattinen lopullinen kenttรค alustettu luokan latauksen aikana
  • Staattisen sisรคkkรคisen luokan luoma singleton, jota kutsutaan myรถs singleton-merkkikuvioksi
  • Singleton synkronoimalla get instance () -menetelmรค
  • alkaen Java 5 eteenpรคin kรคyttรคen Enumsia

18) Selitรค, kuinka voit estรครค toisen singletonin esiintymรคn luomisen kรคyttรคmรคllรค clone()-menetelmรครค?

Suosituin tapa estรครค toisen yksittรคisen esiintymรคn luominen on olla toteuttamatta Cloneable-rajapintaa ja jos teet vain poikkeuksen clone()-metodista "ei luoda singleton-luokan kloonia".


19) Mainitse mitรค eroa on "heitolla" ja "heitolla"?

Avainsanaa "Throw" kรคytetรครคn nimenomaisesti heittรคmiseen poikkeuksena, kun taas "heittoja" kรคytetรครคn tarkasteltujen poikkeuksien kรคsittelemiseen, jotta kรครคntรคjรค voidaan ilmoittaa, ettรค poikkeuksia kรคsitellรครคn. Heittoja tulee kรคyttรครค menetelmรคn mรครคrittelyssรค ja myรถs tarkistettuja poikkeuksia herรคttรคvรครค metodia vedotessa.


20) Mainitse mitkรค luokat JDK:ssa kรคyttรคvรคt singleton mallia?

Java.lang.Runtime luokat kรคyttรคvรคt singleton-mallia JDK:ssa.


21) Mainitse mikรค on singleton-kuvion kรคytรถn rajoitus?

Yksittรคinen malli varmistaa, ettรค luokalla on vain yksi esiintymรค ja ettรค se tarjoaa maailmanlaajuisen pรครคsypisteen siihen. Mutta samaan aikaan tรคstรค tulee sen rajoitus, koska useimmat sovelluksen luokat joutuvat luomaan useita esiintymiรค.


22) Mainitse mitรค eroa on VO:lla ja JDO:lla?

Ero JDO:n ja VO:n vรคlillรค on se, ettรค JDO on pysyvรค tekniikka, joka kilpailee entiteettipapuja vastaan โ€‹โ€‹yrityssovelluskehityksessรค. Sen avulla voit luoda POJO-tiedostoja (pelkkรค vanhoja Java-objekteja) ja sรคilyttรครค ne tietokantaan.

Vaikka VO tarkoittaa arvoobjekteja, se edustaa abs-liikettรคtract-suunnittelumalli, jota kรคytetรครคn yhdessรค entiteettipaanien, JDBC:n ja mahdollisesti jopa JDO:n kanssa yleisten eristรคytymis- ja transaktio-ongelmien ratkaisemiseksi yrityssovelluksissa.

Nรคmรค haastattelukysymykset auttavat myรถs vivassasi (suullinen)

Tiivistรค tรคmรค viesti seuraavasti: