Wprowadzenie do projektowania wzorca Wywiad Pytania i odpowiedzi

Wzorce projektowe są dobrze opisanym rozwiązaniem najczęściej spotykanych problemów, które pojawiają się podczas tworzenia oprogramowania. Wzorzec projektowy reprezentuje najlepsze praktyki opracowane przez pewien czas przez doświadczonych programistów. Promują możliwość ponownego użycia, co prowadzi do bardziej niezawodnego i łatwego w utrzymaniu kodu.
Wzory projektowe zostały po raz pierwszy opisane w książce A Pattern Language autorstwa architekta Christophera Alexandra. Później zostały one opisane w Design Patterns: Elements wielokrotnego użytku zorientowanego obiektowo oprogramowania napisanego przez czterech autorów (Erich Gamma, Richard Helm, Ralph Johnson i John Vlissides) zwanych również „Gangiem Czterech”.
Wzory projektowe można podzielić na trzy główne kategorie:
• Wzory kreacyjne
• Wzorce zachowań
• Wzory funkcjonalne

Przygotowując się do rozmowy kwalifikacyjnej w dziale projektowania. Jestem pewien, że chcesz poznać najczęstsze wywiady wzorców projektowych na rok 2019 Pytania i odpowiedzi, które pomogą ci z łatwością przełamać wywiad wzorców projektowych. Poniżej znajduje się lista najczęściej zadawanych pytań i odpowiedzi podczas wzorca projektowania.

Poniżej wymieniono niektóre z najczęściej zadawanych pytań podczas wywiadu dotyczącego wzoru projektu w 2019 r .:

1.Co to jest wzór Singleton w Javie?

Odpowiedź:
Wzorzec Singleton to wzorzec kreacyjny, który umożliwia utworzenie tylko jednego wystąpienia klasy, który będzie dostępny dla całej aplikacji. Główną zaletą wzorca projektowego Singleton jest oszczędność pamięci, ponieważ pojedyncze wystąpienie jest wielokrotnie używane; Nie ma potrzeby tworzenia nowego obiektu przy każdym żądaniu. Na przykład w naszej aplikacji możemy użyć jednego połączenia z bazą danych współużytkowanego przez wiele obiektów, zamiast tworzyć połączenie z bazą danych dla każdego żądania.

2. Jakie są wady stosowania wzorca projektowego singleton?

Odpowiedź:
Główne wady stosowania wzorca projektowania singleton to:
a) Singleton powoduje, że kod jest ściśle powiązany. Obiekt singleton jest ujawniany globalnie i jest dostępny dla całej aplikacji. Tak więc klasy korzystające z tego obiektu stają się ściśle powiązane; każda zmiana w obiekcie globalnym wpłynie na wszystkie inne klasy, które go wykorzystują.
b) Ukryją zależności zamiast je ujawniać.
c) Singleton Pattern nie obsługuje dziedziczenia.
d) Zasada singletonu może zostać naruszona przez techniki takie jak klonowanie. Jeśli aplikacja działa na wielu maszynach JVM, w takim przypadku Singleton może być uszkodzony.

3. Jakiego wzoru projektowego użyjesz do stworzenia złożonego obiektu?

Odpowiedź:
Wzorzec projektowy konstruktora służy do konstruowania złożonego obiektu. Jest przeznaczony do rozwiązywania problemów z fabrycznym i abstrakcyjnym wzorem.

4.Dlaczego warto użyć klasy fabrycznej, aby utworzyć instancję klasy, kiedy możemy użyć nowego operatora?

Odpowiedź:
Klasy fabryczne zapewniają elastyczność w zakresie projektowania. Poniżej znajdują się niektóre zalety klasy fabrycznej:
• Wzorzec projektowania fabrycznego powoduje, że kod jest bardziej oddzielony od kodu, ponieważ pozwala nam ukryć logikę kreacji przed kodem zależnym
• Pozwala nam wprowadzić kontener Inversion of Control
• Daje ci większą elastyczność, jeśli chodzi o zmianę aplikacji, ponieważ nasza logika tworzenia jest ukryta przed zależnym kodem

5. Jaka jest różnica między fabrycznym a abstrakcyjnym wzorem fabrycznym?

Odpowiedź:
Zarówno fabryka, jak i fabryka abstrakcyjna są wzorami kreacyjnymi. Główna różnica między nimi polega na tym, że wzór fabryczny tworzy obiekt poprzez dziedziczenie i wytwarza tylko jeden Produkt. Z drugiej strony abstrakcyjny wzór fabryki tworzy obiekt poprzez kompozycję i produkuje rodziny produktów.

6.Co to jest wzorzec projektowy obserwatora w Javie?

Odpowiedź:
Wzorzec projektowy obserwatora jest jednym z wzorców projektowania behawioralnego, który definiuje zależności jeden-do-wielu między obiektami i jest przydatny, gdy interesuje nas stan obiektu i chcemy otrzymywać powiadomienia, gdy nastąpi jakakolwiek zmiana stanu obiektu. We wzorcu projektowym Observer, gdy jeden obiekt zmienia swój stan, wszystkie jego obiekty zależne są automatycznie powiadamiane, obiekt nazywa się Obiekt, a osoby na utrzymaniu nazywane są Obserwatorami. Java udostępnia biblioteki do implementacji wzorca projektowego Observer przy użyciu klasy java.util.Observable i interfejsu java.util.Observer.

7.Różnica między strategią a wzorcem projektowania stanu w Javie?

Odpowiedź:
Zarówno strategia, jak i wzorzec projektowania państwowego są podobne w praktyce, ale różnią się implementacją, a niektóre z głównych różnic między nimi:
a.Strategy wzorzec projektowy definiuje zestaw algorytmów do przeprowadzania określonego zachowania, podczas gdy wzorzec projektowy Stan pozwala obiektowi zmienić swoje zachowanie, gdy zmienia się jego stan wewnętrzny.
b. Wzorzec projektowania strategii nie pozwala nam przechowywać odniesienia do obiektu kontekstu, podczas gdy wzorzec projektowania stanu przechowuje odwołanie do obiektu kontekstu, który je zawiera.
c. We wzorcu projektowania strategii klient jest świadomy strategii wybranej do wdrożenia, podczas gdy we wzorcu projektowania stanu klient nie decyduje, który stan ma zostać wybrany do wdrożenia.
d. Wzorzec strategii zajmuje się tym, JAK obiekt wykonuje określone zadanie, natomiast wzorzec projektowania stanu zajmuje się tym, czym jest obiekt.
e. Nie ma relacji następca / poprzednik we wzorcu projektowania strategii, podczas gdy w stanie projektowania wzorców stany są powiązane ze sobą jako następcą i poprzednikiem.

8. Co to jest zerowy wzorzec obiektu?

Odpowiedź:
Wzorzec obiektu zerowego to wzorzec projektowy, w którym obiekt zerowy zastępuje kontrolę NULL dla zmiennej przykładowej. Zamiast sprawdzania wartości pustej, Obiekt Null odzwierciedla relację „nic nie rób”. Można go również użyć do zapewnienia domyślnego zachowania w przypadku niedostępności danych.

9. Podać przykład wzoru dekoratora?

Odpowiedź:
Wzór dekoratora, znany również jako wzór strukturalny, służy do dodawania dodatkowej funkcjonalności do określonego obiektu w czasie wykonywania. Owija oryginalny obiekt przez obiekt dekoratora. Na przykład, gdy kupujesz burgera, możesz go dostosować, dodając dodatkowe nadzienie i sosy, teraz koszt tych produktów należy doliczyć do ostatecznej ceny. Personalizacja będzie się różnić w zależności od klienta i oferty w sklepie. Tworzenie różnych klas burgera z różnymi nadzieniami skończy się tworzeniem wielu klas. Decorator rozwiązuje ten problem, rozszerzając funkcjonalność pojedynczej klasy Burger w czasie wykonywania na podstawie żądania klienta.

10.Jaka jest korzyść ze stosowania prototypowego wzorca projektowego nad utworzeniem instancji przy użyciu nowego słowa kluczowego?

Odpowiedź:
Czasami tworzenie obiektów jest ciężkie i wymaga dużych zasobów, utworzenie nowej instancji wpłynie na wydajność. W takich przypadkach stosuje się prototypowy wzór projektowy, który odnosi się do tworzenia duplikatów obiektów. W prototypowym wzorze projektowym, jeśli podobny obiekt jest już obecny, klonowanie odbywa się z uwzględnieniem wydajności.

Polecany artykuł

Jest to obszerny przewodnik po pytaniach i odpowiedziach na temat wzorca projektowego, dzięki czemu kandydat może łatwo stłumić pytania dotyczące wzorca projektowego. Możesz także przejrzeć następujące artykuły, aby dowiedzieć się więcej -

  1. 25 najważniejszych pytań do wywiadu z zakresu informatyki
  2. Poznaj 10 najważniejszych przydatnych wywiadów Agile - pytania i odpowiedzi
  3. Top 5 najcenniejszych pytań do wywiadu z zakresu nauki o danych
  4. Niesamowite 20 wskazówek, jak wykonać nowy wywiad podczas pracy (pomysły)