22 parasta Java-suunnittelumallin haastattelukysymystä & Vastaukset

Anonim

Lataa PDF

1) Selitä mikä on Java Design Pattern?

Suunnittelumalli on kielestä riippumaton strategia yhteisten olio-suunnitteluongelmien ratkaisemiseksi. Siinä kuvataan luokkien jäsentäminen tietyn vaatimuksen täyttämiseksi.

2) Selitä mikä on luovia suunnittelumalleja ja tehdasmalleja?

Luonnollinen suunnittelumalli : Tätä mallia käytetään määrittelemään ja kuvaamaan, kuinka objektit luodaan luokan välittömän ilmeten aikana.

Tehdasmalli : Tehdasmallia käytetään luomaan objekti paljastamatta luontologiikkaa asiakkaalle ja viittaamaan äskettäin luotuun objektiin käyttämällä yhteistä käyttöliittymää.

3) Mitä mallikuviota käytetään tapaan päästä kokoelmaobjektin elementteihin peräkkäin?

Iteraattorikuviota käytetään tapaan päästä kokoelmaobjektin elementteihin peräkkäin.

4) Kun käytetään palvelunetsintäkuviota?

Kun haluamme etsiä erilaisia ​​palveluja JNDI: n avulla, käytämme palvelun paikannusmallia.

5) Mainitse kuinka monella tapaa voit luoda yksittäisen mallin?

Yksittäisten esineiden luomiseen on kaksi tunnettua tapaa

  • Laiska lastaus
  • Innokas lataus

6) Mainitse mitä mallia käytetään, kun meidän on erotettava abstraktio sen toteutuksesta?

Kun haluamme erottaa abstraktin sen toteutuksesta, jotta kaksi voi vaihdella toisistaan ​​riippumatta, käytämme siltakuviota.

7) Mainitse mikä suunnittelumalli on hyödyllinen uuden toiminnallisuuden lisäämiseksi olemassa olevaan objektiin?

Sisustuskuvion avulla käyttäjä voi lisätä uusia toimintoja olemassa olevaan objektiin muuttamatta sen rakennetta.

8) Selitä, kuinka voit luoda Singleton-luokan Java-sovelluksessa?

Se on kaksivaiheinen prosessi,

  • Tee ensin rakentaja yksityiseksi, jotta uutta operaattoria ei voida käyttää luokan instantisoimiseksi
  • Palauta objektin objekti, ellei null ole, muuten luo objekti ja palauta sama menetelmän kautta.

9) Voiko Java: iin kirjoittaa langankiertoisen singletonin?

Jos haluat kirjoittaa ketjun turvallisen singleton Java-muodossa, on useita tapoja, esimerkiksi käyttämällä staattista singleton-ilmentymää, joka on alustettu luokan lataamisen aikana, kirjoittamalla singleton käyttämällä kaksinkertaista tarkistettua lukitusta. Java Enum on yksinkertaisin tapa luoda lanka turvallinen yksittäinen.

10) Mainitse miten kuvailukuvio tulisi kuvata?

Suunnittelumallin kuvaamiseksi on huolehdittava seuraavista asioista

  • Kuvion nimi ja luokitus
  • Ongelma ja ratkaisu
  • Seuraukset: Vaihtoehtoihin ja kielestä riippuvaisiin vaihtoehtoihin tulisi myös puuttua
  • Tiedä käyttötarkoitukset: Tunnista todellisten järjestelmien käyttö ja sen tehokkuus

11) Mainitse miksi Java-staattisesta menetelmästä ei sallita pääsyä ei-staattiseen muuttujaan?

Et voi käyttää ei-staattista dataa staattisesta kontekstista, koska ei-staattinen muuttuja liittyy objektin tiettyyn esiintymään, kun taas staattinen ei ole yhteydessä mihinkään esiintymään.

12) Mainitse mikä malli on hyödyllinen, kun on siirrettävä useita ominaisuuksia sisältäviä tietoja yhdellä otoksella asiakkaalta palvelimelle?

Siirrä objektikuvio on hyödyllinen, kun on siirrettävä useita ominaisuuksia sisältäviä tietoja yhdellä otoksella asiakkaalta palvelimelle.

13) Nimeä joitain DAO-mallin kokonaisuuksia?

Jotkut DAO: n entiteetit sisältävät

  • Tiedonsiirtokohteen konkreettinen luokka
  • Tiedonsiirtokohteen käyttöliittymä
  • Malli- tai arvoobjekti

14) Mainitse milloin voit käyttää sieppauskuviota?

Sieppauskuviota käytetään, kun joudut suorittamaan jonkin esikäsittelyn tai jälkikäsittelyn sovelluksen pyynnöllä tai vastauksella.

15) Mainitse milloin käytetään tehdasmallia?

Tehdasmallia voidaan käyttää,

  • Kun luokka ei tiedä mikä luokan esineitä on luotava
  • Kun luokka määrittää aliluokkansa määrittääkseen mitkä objektit luodaan
  • Ohjelmointikielessä voit käyttää tehdasmallia, jossa sinun on luotava minkä tahansa alaluokan objekti annetuista tiedoista riippuen

16) Selitä yksinkertaisella kuviolla, onko parempi saada koko getinstance () -menetelmä synkronoituksi vai riittääkö vain kriittinen osa? Mikä on parempi?

Koko getinstance () -menetelmän synkronointi on kallista ja sitä tarvitaan vain Singleton-instanssin alustuksen aikana, jotta lopetetaan uuden Singleton-instanssin luominen. Siksi on parempi synkronoida vain kriittinen osa eikä koko menetelmä.

17) Mainitse kuinka monella tapaa voit kirjoittaa singleton-luokan Java-kielellä?

Yksittäistunnin voi kirjoittaa Java-kielellä neljällä tavalla

  • Singleton julkisella staattisella loppukentällä alustettiin luokan lataamisen aikana
  • Staattisen sisäkkäisen luokan tuottama Singleton, jota kutsutaan myös nimellä Singleton-pitimen kuvio
  • Singleton synkronoimalla get instance () -menetelmä
  • Java 5: n osastoilta Enumsin avulla

18) Selitä, miten voit estää uuden singletonin esiintymän luomisen käyttämällä klooni () -menetelmää?

Ensisijainen tapa estää uuden singletonin esiintymän luominen on Cloneable-käyttöliittymän toteuttamatta jättäminen ja jos vain heität poikkeuksen clone () -metodista, "ei luoda singleton-luokan kloonia".

19) Mainitse, mikä on ero heiton ja heiton välillä?

Avainsanaa "Heitä" käytetään nimenomaisesti heittämään poikkeuksena, kun taas "Heittoja" käytetään tarkastettujen poikkeusten käsittelemiseen kääntäjän uudelleen intimoimiseksi, että poikkeuksia käsitellään. Heittoja on käytettävä menetelmän määritelmässä ja samalla käytettäessä menetelmää, joka herättää tarkistetut poikkeukset.

20) Mainitse, mitkä JDK: n luokat käyttävät singleton-mallia?

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

21) Mainitse mikä on singleton-mallin käytön rajoitus?

Yksittäiskuvio varmistaa, että luokalla on vain yksi esiintymä, ja tarjoaa yleisen pääsypisteen siihen. Mutta samalla siitä tulee sen rajoitus, koska useimmat sovelluksen luokat sinun on luotava useita instansseja.

22) Mainitse, mikä on ero VO: n ja JDO: n välillä?

Ero JDO: n ja VO: n välillä on se, että JDO on jatkuva tekniikka, joka kilpailee entisöintipapujen kanssa yrityssovellusten kehittämisessä. Sen avulla voit luoda POJO: n (tavalliset vanhat java-objektit) ja säilyttää ne tietokannassa.

Vaikka VO tarkoittaa arvo-objekteja, edustaa abstraktia suunnittelumallia, jota käytetään yhdessä olion pavujen, jdbc: n ja mahdollisesti jopa JDO: n kanssa yrityssovellusten yleisesti havaittujen eristys- ja transaktio-ongelmien voittamiseksi.