Bevezetés a Design Pattern interjúkérdésekbe és -válaszokba

A tervezési minták egy jól leírt megoldás a szoftverfejlesztés során felmerülő leggyakrabban felmerülő problémákra. A formatervezési minta a tapasztalt szoftverfejlesztők által egy bizonyos időszak alatt kialakult bevált gyakorlatokat képviseli. Elősegítik az újrafelhasználhatóságot, ami egy robusztusabb és karbantarthatóbb kódhoz vezet.
A formatervezési mintákat először Christopher Alexander építész írja le az A minta nyelve című könyvben. Később a Design Patterns: Az újrafelhasználható objektum-orientált szoftverek elemei, amelyeket négy szerző írt (Erich Gamma, Richard Helm, Ralph Johnson és John Vlissides), „Négy Gangnak” is neveztek.
A formatervezési mintákat három fő kategóriába lehet sorolni:
• Létrehozási minták
• viselkedési minták
• Funkcionális minták

Tehát, miközben felkészül a munkainterjúra a Design témában. Biztos vagyok benne, hogy meg akarja tudni a leggyakoribb 2019-es Design Pattern interjúval kapcsolatos kérdéseket és válaszokat, amelyek segítenek könnyedén feltörni a Design Pattern interjút. Az alábbiakban felsoroljuk a legfontosabb tervezési mintával kapcsolatos interjúkérdéseket és válaszokat a mentésed során.

Az alábbiakban felsorolunk néhány, a 2019-es tervezési minta interjúval kapcsolatos kérdést:

1.Mi az Singleton minta a Java-ban?

Válasz:
A Singleton minta egy létrehozási minta, amely lehetővé teszi az osztály csak egy példányának létrehozását, amely az egész alkalmazás számára elérhető lesz. A Singleton tervezési mintájának fő előnye az, hogy memóriát takarít meg, mivel az egyetlen példányt újra és újra használják; nincs szükség új objektum létrehozására minden egyes kérésre. Például alkalmazásunkban egyetlen objektum-kapcsolatot használhatunk, amelyet több objektum oszt meg, ahelyett, hogy minden kéréshez adatbázis-kapcsolatot hozzunk létre.

2.Milyen hátrányai vannak a szingulett tervezési minta használatának?

Válasz:
A szingulett mintázat alkalmazásának fő hátrányai:
a) A Singleton miatt a kód szorosan kapcsolódik. A szingulett objektum globálisan exponálva van, és egy teljes alkalmazás számára elérhető. Így az objektumot használó osztályok szorosan összekapcsolódnak; a globális objektum bármilyen változása hatással lesz az összes többi osztályra is.
b) A függőségeket elrejti ahelyett, hogy felfedné őket.
c) A Singleton Pattern nem támogatja az öröklést.
d) A szingulett elv megsérthető olyan technikákkal, mint például a klónozás. Ha egy alkalmazás több JVM-en fut, akkor ebben az esetben a Singleton megsérülhet.

3.Mely tervezési mintát fog használni összetett objektum létrehozásához?

Válasz:
Az építő tervezési mintáját egy összetett objektum felépítésére használják. Úgy tervezték, hogy megoldja a kérdéseket gyári és absztrakt tervezési mintával.

4. Miért használunk gyári osztályt az osztály elindításához, amikor új operátort tudunk használni?

Válasz:
A gyári osztályok rugalmasságot biztosítanak a tervezés szempontjából. Az alábbiakban bemutatjuk a gyári osztály előnyeit:
• A gyári tervezési minta elválasztottabb kódot eredményez, mivel lehetővé teszi, hogy elrejtsük a létrehozási logikát a függő kódtól
• Ez lehetővé teszi számunkra, hogy vezessenek be egy inverziós vezérlő tartályt
• Sokkal nagyobb rugalmasságot biztosít Önnek, amikor ideje megváltoztatni az alkalmazást, mivel létrehozási logikánk rejtett a függő kódtól

5.Miben különbözik a gyári és az absztrakt gyári tervezési minta?

Válasz:
Mind a gyár, mind az absztrakt gyár alkotói tervezési minták. A kettő közötti fő különbség az, hogy egy gyári minta létrehoz egy objektumot öröklés útján, és csak egy terméket állít elő. Másrészt egy elvont gyári minta létrehozza az objektumot a kompozíción keresztül, és termékcsaládokat állít elő.

6.Milyen a megfigyelő tervezési mintája a Java-ban?

Válasz:
A megfigyelő tervezési mintája az egyik olyan viselkedési tervezési mintázat, amely meghatározza az objektumok közötti függőségeket egytől sokig, és hasznos, ha egy objektum állapota érdekli, és értesítést szeretnénk kapni, ha az objektum állapota megváltozik. A Megfigyelő tervezési mintájában, amikor egy objektum megváltoztatja az állapotát, az összes függő objektuma automatikusan értesítést kap, az objektumot Tárgynak, az eltartottakat pedig Megfigyelőnek hívják. A Java könyvtárakat biztosít a Observer tervezési mintájának megvalósításához a java.util.Observable osztály és a java.util.Observer felületen.

7. Különbség a stratégia és az államtervezési minta között a Java-ban?

Válasz:
Mind a stratégia, mind az államtervezési minták hasonlóak a gyakorlatban, de eltérő megvalósításúak, az alábbiakban felsoroljuk a kettő közötti legfontosabb különbségeket:
a.Strategy tervezési minta meghatároz egy algoritmuskészletet egy adott viselkedés végrehajtására, míg az állam tervezési mintája lehetővé teszi az objektum számára, hogy megváltoztassa viselkedését, amikor a belső állapota megváltozik.
b.Strategy tervezési minta nem teszi lehetővé a kontextusobjektumra való hivatkozás tárolását, míg az állami formatervezési minta a kontextusobjektumra való hivatkozást tárolja.
c.A stratégia tervezési mintájában az ügyfél tisztában van a végrehajtáshoz kiválasztott stratégiával, míg az állapot tervezési mintában az ügyfél nem dönt arról, hogy melyik állapotot választja a végrehajtáshoz.
d.Strategy mintázat foglalkozik azzal, hogy egy tárgy hogyan hajt végre egy bizonyos feladatot, míg az állami tervezési minta foglalkozik azzal, hogy mi az objektum.
e.A stratégia kialakításában nincs jelen utód / előd kapcsolat, míg az állapot tervezési minták állapotai egymással, utódként és elődként kapcsolódnak.

8.Mi az null Object Pattern?

Válasz:
A Null Object minta olyan tervezési minta, amelyben a null objektum pótolja a NULL check például változót. Ahelyett, hogy ellenőrizne egy nulla értéket, a Null Object a semmit nem mutató kapcsolatot tükrözi. Arra is használható, hogy alapértelmezett viselkedést biztosítson, ha nem állnak rendelkezésre adatok.

9. Adjon példát a dekorátor tervezési mintájáról?

Válasz:
A dekorátor mintát, más néven szerkezeti mintázatot használunk, kiegészítő funkciók hozzáadására egy adott objektumhoz futási időben. Becsomagolja az eredeti objektumot a dekorációs objektumon keresztül. Például ha egy hamburgert vásárol, testreszabhatja azt további töltelék és szósz hozzáadásával. Most ezeknek a termékeknek a költségeit kell hozzáadni a végső árhoz. A testreszabás ügyfelenként és üzlet ajánlatától függ. Különböző osztályú hamburgerek létrehozása különféle töltelékekkel sok osztályt hoz létre. A dekorátor úgy oldja meg ezt a problémát, hogy az ügyfél igényei alapján kibővíti az egyetlen Burger osztály funkcionalitását futási időben.

10.Milyen előnyökkel jár a prototípus tervezési mintázata, mint egy példány létrehozása az új kulcsszó használatával?

Válasz:
Az esetek létrehozása néha nehéz és sok erőforrást igényel, egy új példány létrehozása hatással lesz a teljesítményre. Ilyen esetekben egy prototípus-tervezési mintát használnak, amely duplikált objektumok létrehozására utal. A prototípus tervezési mintában, ha már van hasonló objektum, akkor a klónozást a teljesítmény szem előtt tartásával kell elvégezni.

Ajánlott cikk

Ez egy átfogó útmutató a Design Pattern Interjú Kérdésekhez és válaszokhoz, így a jelölt könnyen meg tudja oldani ezeket a Design Pattern Interjú Kérdéseket. A következő cikkeket is megnézheti további információkért -

  1. 25 A legfontosabb számítástechnikai interjúkérdések
  2. Ismerje meg a 10 legfontosabb, agilis interjúval kapcsolatos kérdést és választ
  3. Az öt legértékesebb adattudományi interjú kérdése
  4. Csodálatos 20 tipp a következő állásinterjú körömhez (ötletek)