Въведение в въпросите и отговорите на модела за интервю за модел

Моделите на дизайна са добре описано решение на най-често срещаните проблеми, които се появяват по време на разработването на софтуер. Дизайнът на модела представлява най-добрите практики, развивани през определен период от време от опитни разработчици на софтуер. Те насърчават повторното използване, което води до по-здрав и поддържан код.
Моделите на дизайна бяха описани за първи път в книгата A Language Language от архитекта Кристофър Александър. По-късно те са описани в Design Patterns: Елементи на обектно-ориентиран софтуер за многократна употреба, написани от четирима автори (Erich Gamma, Richard Helm, Ralph Johnson и John Vlissides), също наречени „Gang of Four“.
Моделите на дизайна могат да бъдат класифицирани в три основни категории:
• Модели на творчество
• Поведенчески модели
• Функционални модели

Затова докато се подготвяте за интервю за работа в Дизайн. Сигурен съм, че искате да знаете най-често срещаните въпроси за интервю за дизайн за 2019 г. и отговори, които ще ви помогнат да напукате Интервюто с модела на дизайна с лекота. По-долу е списъкът на най-добрите въпроси за интервю за дизайн и отговори на вашето спасение.

По-долу са изброени някои често задавани въпроси за интервю за модел за дизайн на 2019 г.:

1.Какво е Singleton Pattern в Java?

Отговор:
Singleton pattern е модел за създаване, който позволява да се създаде само един екземпляр от клас, който ще бъде достъпен за цялото приложение. Основното предимство на дизайна на Singleton е неговата спестява памет, тъй като единичният екземпляр се използва отново и отново; няма нужда да създавате нов обект при всяка заявка. Например в нашето приложение можем да използваме една връзка с база данни, споделена от множество обекти, вместо да създаваме връзка с база данни за всяка заявка.

2.Какви са недостатъците на използването на единичен дизайн дизайн?

Отговор:
Основните недостатъци на използването на дизайн на единичен дизайн са:
а) Singleton причинява кода да е плътно свързан. Обектът с единични букви е изложен в световен мащаб и е достъпен за цялостно приложение. По този начин класовете, използващи този обект, стават плътно свързани; всяка промяна в глобалния обект ще повлияе на всички други класове, които го използват.
б) Те крият зависимостите, вместо да ги излагат.
в) Singleton Pattern не поддържа наследяване.
г) Принципът на Singleton може да бъде нарушен чрез техники като клониране. Ако дадено приложение работи на няколко JVM, в този случай Singleton може да бъде разбит.

3.Кой модел на дизайн ще използвате, за да създадете сложен обект?

Отговор:
Моделът на дизайнерския конструктор се използва за конструиране на сложен обект. Той е предназначен за решаване на проблемите с фабричен и абстрактен модел на дизайн.

4.Защо използваме фабричен клас, за да създадем клас, когато можем да използваме нов оператор?

Отговор:
Фабричните класове осигуряват гъвкавост по отношение на дизайна. По-долу са някои от предимствата на фабричния клас:
• Фабричният модел на дизайна води до повече отделен код, тъй като ни позволява да скрием логиката на творчеството от зависимия код
• Позволява ни да въведем контейнер Inversion of Control
• Дава ви много повече гъвкавост, когато дойде време за промяна на приложението, тъй като нашата логика на създаване е скрита от зависимия код

5.Каква е разликата между фабричния и абстрактния модел на фабричния дизайн?

Отговор:
Както фабриката, така и абстрактната фабрика са модели за творчески дизайн. Основната разлика между тези две е, че фабричният модел създава обект чрез наследяване и произвежда само един продукт. От друга страна, абстрактният фабричен модел създава обекта чрез композиция и произвежда семейства продукти.

6.Какъв е моделът за наблюдение на наблюдателите в Java?

Отговор:
Моделът на дизайн на наблюдателя е един от моделите на поведенчески дизайн, който дефинира зависимости между много обекти и е полезен, когато се интересуваме от състоянието на обект и искаме да получим известие, когато има промяна в състоянието на обекта. В модела на дизайн на наблюдателя, когато един обект промени състоянието си, всички негови зависими обекти се известяват автоматично, обектът се нарича субект и зависимите се наричат ​​наблюдатели. Java предоставя на библиотеките да прилагат модела на дизайн на наблюдателя, като използват интерфейс java.util.Observable class & java.util.Observer.

7. Разлика между стратегията и модела на държавния дизайн в Java?

Отговор:
И двете стратегии, както и моделът на държавния дизайн са сходни на практика, но те имат различно изпълнение, следвайки някои от основните разлики между тези две:
a.Strategy дизайн моделът определя набор от алгоритми за извършване на конкретно поведение, докато State Design pattern позволява на обект да променя поведението си, когато вътрешните му промени се променят.
b.Strategy моделът на проектиране не ни позволява да съхраняваме препратка към контекстния обект, докато state mode pattern съхранява препратката към контекстния обект, който ги съдържа.
c.При модела на проектиране на стратегията клиентът е запознат със стратегията, която е избрана за изпълнение, докато в модела на проектиране на държавата клиентът не решава коя държава да бъде избрана за изпълнение.
d.Strategy моделът се занимава с това как HOW даден обект изпълнява определена задача, докато state design pattern се занимава с това, което е обект.
напр. В модела на проектиране на стратегия няма връзка приемник / предшественик, докато в модела на проектиране на състояния състоянията са свързани един с друг като приемник и предшественик.

8.Какво е нулевият модел на обекта?

Отговор:
Null Object pattern е модел на дизайн, при който null object заменя NULL проверка например променлива. Вместо да постави чек за нулева стойност, Null Object отразява връзка нищо. Може да се използва и за предоставяне на поведение по подразбиране в случай, че няма данни.

9. Дайте пример за модел на дизайн на декоратор?

Отговор:
Моделът декоратор, известен още като структурен модел, се използва за добавяне на допълнителна функционалност към определен обект по време на изпълнение. Той обвива оригиналния обект чрез обект на декоратор. Например, когато купувате бургер, можете да го персонализирате, като добавите допълнително пълнене и сосове, сега цената на тези артикули трябва да се добави към крайната цена. Персонализирането ще се различава от клиента към клиента и офертата от магазин. Създаването на различни класове бургер с различни пълнежи в крайна сметка ще създаде много класове. Decorator решава този проблем, като разширява функционалността на един клас Burger по време на изпълнение въз основа на заявка на клиента.

10. Каква е ползата от използването на модел за проектиране на прототип при създаването на екземпляр, използващ новата ключова дума?

Отговор:
Понякога създаването на обекти е с голямо тегло и изисква много ресурси, създаването на нов екземпляр ще повлияе на производителността. В такива случаи се използва модел на прототип на дизайна, който се отнася до създаването на дублирани обекти. При модела на проектиране на прототип, ако вече съществува подобен обект, тогава се извършва клониране, като се имат предвид производителността.

Препоръчителен член

Това е изчерпателно ръководство за въпросите и отговорите на Design Pattern Interview, така че кандидатът да може лесно да провали тези въпроси за интервю за Design Pattern. Можете също да разгледате следните статии, за да научите повече -

  1. 25 най-важни въпроса за интервю за компютърни науки
  2. Познайте 10-те най-полезни въпроса и отговора на Agile Interview
  3. Топ 5 най-ценни въпроса за интервю за наука за данни
  4. Невероятни 20 съвета за нокти на следващото ви интервю за работа (идеи)