Top 22 Java Design Patterns Interview Questions & Odpovědi

Obsah

Stáhnout PDF

1) Vysvětlete, co je Java Design Pattern?

Návrhový vzor je jazykově nezávislá strategie pro řešení běžných objektově orientovaných návrhových problémů. Popisuje, jak strukturovat třídy tak, aby splňovaly daný požadavek.

2) Vysvětlete, co jsou kreační návrhové vzory a tovární vzor?

Creational design pattern : Tento vzor se používá k definování a popisu způsobu, jakým jsou objekty vytvářeny v okamžiku instance třídy.

Tovární vzor : Tovární vzor se používá k vytvoření objektu bez vystavení logiky vytváření klientovi a odkazování na nově vytvořený objekt pomocí společného rozhraní.

3) Který návrhový vzor se používá k získání způsobu postupného přístupu k prvkům objektu kolekce?

Iterátorový vzor se používá k získání způsobu postupného přístupu k prvkům objektu kolekce.

4) Když se používá vzor vyhledávače služeb?

Když chceme najít různé služby pomocí JNDI, použijeme vzor vyhledávače služeb.

5) Uveďte, kolik způsobů můžete vytvořit singletonový vzor?

Chcete-li vytvořit jednotlivé objekty, existují dva slavné způsoby

  • Líné načítání
  • Nedočkavé načítání

6) Uveďte, který vzor se použije, když potřebujeme oddělit abstrakci od jeho implementace?

Když chceme oddělit abstrakci od její implementace, aby se dvě mohly lišit nezávisle, použijeme mostový vzor.

7) Uveďte, který návrhový vzor bude užitečný pro přidání nové funkce ke stávajícímu objektu?

Vzor dekorátoru umožňuje uživateli přidat nové funkce ke stávajícímu objektu beze změny jeho struktury.

8) Vysvětlete, jak můžete vytvořit třídu Singleton v Javě?

Je to dvoustupňový proces,

  • Nejprve vytvořte konstruktor jako soukromý, takže k vytvoření instance třídy nelze použít nový operátor
  • Vraťte objekt objektu, pokud není null, jinak objekt vytvořte a vraťte stejný pomocí metody.

9) Je možné v Javě psát singleton bezpečný pro vlákna?

Pro zápis singletonu bezpečného pro vlákna v Javě existuje několik způsobů, například použití statické instance singletonu inicializované během načítání třídy, psaní singletonu pomocí dvojitě kontrolovaného uzamčení. Java Enum je nejjednodušší způsob, jak vytvořit singleton bezpečný pro vlákna.

10) Uveďte, jak by měl být popsán návrhový vzor?

Abychom popsali návrhový vzor, ​​je třeba se postarat o následující věci

  • Název vzoru a klasifikace
  • Problém a řešení
  • Důsledky: Rovněž je třeba se zabývat variantami a alternativami závislými na jazyku
  • Know Uses: Identifikujte použití ve skutečných systémech a jejich účinnost

11) Uveďte, proč není přístup k nestatické proměnné ze statické metody v Javě povolen?

Nemůžete přistupovat k nestatickým datům ze statického kontextu, protože nestatické proměnné jsou přidruženy ke konkrétní instanci objektu, zatímco static není přidružena k žádné instanci.

12) Uveďte, který vzor je užitečný, když musíte předat data s více atributy v jednom snímku z klienta na server?

Transfer Object Pattern je užitečné, když musíte předat data s více atributy v jednom snímku z klienta na server.

13) Pojmenujte některé entity vzoru DAO?

Některé ze subjektů DAO zahrnují,

  • Konkrétní třída objektu pro přístup k datům
  • Rozhraní objektu pro přístup k datům
  • Objekt modelu nebo hodnotový objekt

14) Uveďte, kdy můžete použít zachycovací vzor?

Zachytávací vzor se používá, když musíte provést nějaké předběžné zpracování nebo následné zpracování s požadavkem nebo odpovědí aplikace.

15) Uveďte, kdy použít tovární vzor?

Lze použít tovární vzor,

  • Když třída neví, kterou třídu objektů je třeba vytvořit
  • Když třída určuje své podtřídy k určení, které objekty se mají vytvořit
  • V programovacím jazyce můžete použít tovární vzor, ​​kde musíte v závislosti na daných datech vytvořit objekt kterékoli z podtříd

16) Vysvětlete v jednoduchém vzoru, zda je lepší synchronizovat celou metodu getinstance () nebo stačí jen kritická část? Který je lepší?

Synchronizace celé metody getinstance () je nákladná a je nutná pouze během inicializace v instanci singleton, aby se zastavilo vytváření další instance singleton. Proto je lepší synchronizovat pouze kritickou část a ne celou metodu.

17) Uveďte, kolik způsobů můžete napsat třídu singleton v Javě?

Jeden může napsat třídu singleton v Javě čtyřmi způsoby

  • Singleton s veřejným statickým finálním polem inicializovaným během načítání třídy
  • Singleton generovaný statickou vnořenou třídou, označovaný také jako vzor držáku singleton
  • Singleton synchronizací metody get instance ()
  • Z prostředí Java 5 na okrajích pomocí Enums

18) Vysvětlete, jak můžete zabránit vytvoření další instance singletonu pomocí metody clone ()?

Upřednostňovaným způsobem, jak zabránit vytvoření další instance singletonu, je neimplementace rozhraní Cloneable a pokud uděláte výjimku z metody clone () „nevytvářet klon třídy singleton“.

19) Uveďte, jaký je rozdíl mezi „hodem“ a „hody“?

Klíčové slovo „Vyhodit“ se používá k výslovnému vyvolání jako výjimky, zatímco „Vyhodit“ se používá ke zpracování zkontrolovaných výjimek pro opětovné intimování kompilátoru, se kterým se manipuluje. Hody je třeba použít v definici metody a také při vyvolání metody, která vyvolává kontrolované výjimky.

20) Uveďte, které třídy v JDK používají singletonový vzor?

Třídy Java.lang.Runtime používají v JDK singletonový vzor.

21) Uveďte, jaké je omezení používání singletonového vzoru?

Vzor singleton zajišťuje, že třída má pouze jednu instanci a poskytuje k ní globální přístupový bod. Ale zároveň se to stane jeho omezením, protože u většiny tříd v aplikaci budete muset vytvořit více instancí.

22) Uveďte, jaký je rozdíl mezi VO a JDO?

Rozdíl mezi JDO a VO spočívá v tom, že JDO je perzistentní technologie, která konkuruje fazolím entit ve vývoji podnikových aplikací. Umožňuje vám vytvářet POJO (prosté staré java objekty) a přetrvávat je v databázi.

Zatímco VO znamená hodnotové objekty, představuje abstraktní návrhový vzor používaný ve spojení s fazolemi entit, jdbc a případně i JDO k překonání běžně používaných izolačních a transakčních problémů v podnikových aplikacích.

Zajímavé články...