Top 22 Java Design Patterns -haastattelukysymykset (2025)
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

6) Mainitse mitä mallia käytetään, kun meidän on irrotettava abstraktio sen toteutuksesta?
Kun halutaan irrottaa abstraktio sen toteutuksesta, jotta kaksi voi vaihdella itsenäisesti, 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 abstraktia suunnittelukuviota, jota käytetään entity beanin, jdbc:n ja mahdollisesti jopa JDO:n kanssa yrityssovelluksissa yleisesti havaittujen eristys- ja tapahtumaongelmien ratkaisemiseksi.
Nämä haastattelukysymykset auttavat myös vivassasi (suullinen)