Вступ до питань проектування інтерв'ю з питаннями та відповідями

Шаблони дизайну - це добре описане рішення найбільш часто зустрічаються проблем, які виникають під час розробки програмного забезпечення. Шаблон дизайну представляє найкращі практики, що складалися протягом певного часу досвідченими розробниками програмного забезпечення. Вони сприяють повторному використанню, що призводить до більш міцного та збереженого коду.
Шаблони дизайну вперше були описані в книзі «Мова візерунка» архітектора Крістофера Олександра. Пізніше вони були описані в «Шаблони дизайну»: Елементи об'єктно-орієнтованого програмного забезпечення для багаторазового використання, написані чотирма авторами (Еріх Гамма, Річард Хелм, Ральф Джонсон та Джон Вліссайдс), також називаються «бандою чотирьох».
Шаблони дизайну можна класифікувати на три основні категорії:
• Шаблони творчості
• поведінкові моделі
• Функціональні візерунки

Тож готуючись до співбесіди в галузі дизайну. Я впевнений, що ви хочете знати найпоширеніші запитання та відповіді щодо інтерв'ю з дизайном 2019 року, які допоможуть вам легко зрушити інтерв'ю з дизайнерським малюнком. Нижче наведено перелік найпопулярніших запитань щодо інтерв'ю дизайну та відповідей, які допоможуть вам.

Нижче перераховано декілька поширених питань інтерв'ю щодо дизайну 2019 року:

1.Що таке Singleton Pattern на Java?

Відповідь:
Singleton pattern - це креативний шаблон, який дозволяє створити лише один екземпляр класу, який буде доступний для всієї програми. Основна перевага шаблону дизайну Singleton - це економія пам’яті, оскільки один екземпляр знову і знову використовується; немає потреби створювати новий об’єкт при кожному запиті. Наприклад, у нашому додатку ми можемо використовувати єдине підключення до бази даних, яке розділяється декількома об'єктами, а не створювати з'єднання з базою даних для кожного запиту.

2.Які недоліки використання однотонної схеми дизайну?

Відповідь:
Основними недоліками використання однотонної схеми дизайну є:
а) Синглтон спричиняє щільність з'єднання коду. Одиничний об'єкт виставляється в усьому світі та доступний цілій програмі. Таким чином, класи, що використовують цей об’єкт, щільно поєднуються; будь-яка зміна глобального об'єкта вплине на всі інші класи, що використовують його.
б) Вони приховують залежності, а не піддавати їх.
c) Singleton Pattern не підтримує успадкування.
г) Принцип синглтона може бути порушений такими методами, як клонування. Якщо програма працює на декількох JVM, то в цьому випадку Singleton може бути зламаний.

3.Яку схему дизайну ви використаєте для створення складного об'єкта?

Відповідь:
Шаблон проектування будівельника використовується для побудови складного об'єкта. Він призначений для вирішення проблем із заводською та абстрактною схемою дизайну.

4.Чому ми використовуємо заводський клас для інстанціювання класу, коли ми можемо використовувати нового оператора?

Відповідь:
Заводські класи забезпечують гнучкість з точки зору дизайну. Нижче наведено деякі переваги заводського класу:
• Заводський дизайн шаблону призводить до більш зв'язаного коду, оскільки він дозволяє приховати логіку творчості від залежного коду
• Це дозволяє нам ввести контейнер Inversion of Control
• Це дає вам набагато більшу гнучкість, коли настає час змінити додаток, оскільки наша логіка створення прихована від залежного коду

5. Яка різниця між фабричним та абстрактним дизайном фабрики заводу?

Відповідь:
І фабрика, і абстрактна фабрика - це креативний дизайн дизайну. Основна відмінність між цими двома полягає в тому, що заводський зразок створює об'єкт за допомогою спадкування та виробляє лише один Продукт. З іншого боку, абстрактний заводський візерунок створює об'єкт за допомогою композиції та виробляє родини продуктів.

6.Який шаблон дизайну спостерігачів на Java?

Відповідь:
Шаблон дизайну спостерігача - це одна із моделей поведінкового дизайну, яка визначає залежність між об'єктами від однієї до багатьох і корисна, коли нас цікавить стан об’єкта, і ми хочемо отримувати сповіщення про будь-які зміни стану Об'єкта. У шаблоні дизайну Observer, коли один об'єкт змінює свій стан, усі його залежні об'єкти автоматично повідомляються, об'єкт називається Subject, а залежні називаються Observers. Java надає бібліотекам для реалізації шаблону дизайну Observer за допомогою інтерфейсу java.util.Observable class & java.util.Observer.

7. Відмінність між стратегією та схемою дизайну стану на Java?

Відповідь:
Обидві Стратегії, а також модель дизайну держави схожі на практиці, але вони мають різну реалізацію, наступні - це основні відмінності між цими двома:
a.Стратегічний шаблон дизайну визначає набір алгоритмів для виконання конкретної поведінки, тоді як модель проектування State дозволяє об’єкту змінювати свою поведінку, коли він змінюється внутрішнім станом.
b.Стратегічний шаблон дизайну не дозволяє нам зберігати посилання на контекстний об'єкт, тоді як державний шаблон дизайну зберігає посилання на контекстний об'єкт, який їх містить.
c.У шаблоні розробки стратегії клієнт знає про стратегію, обрану для впровадження, тоді як у структурі дизайну штату клієнт не вирішує, який саме стан буде обрано для реалізації.
d.Strategy pattern має справу з тим, як об’єкт виконує певну задачу, тоді як модель дизайну стану стосується того, що таке об'єкт.
е. У схемі проектування стратегії немає відносин наступник / попередник, тоді як у моделі дизайну штатів стани пов'язані один з одним як наступник та попередник.

8. Що таке нульовий шаблон об'єкта?

Відповідь:
Шаблон Null Object - це модель дизайну, в якій null object замінює NULL check на змінну, наприклад. Замість того, щоб ставити чек на нульове значення, Null Object відображає відношення "нічого робити". Він також може бути використаний для надання поведінки за замовчуванням у випадку, якщо дані відсутні.

9.Надайте приклад дизайну дизайнера декораторів?

Відповідь:
Шаблон декоратора, також відомий як структурний візерунок, використовується для додавання додаткової функціональності певному об'єкту під час виконання. Він обгортає оригінальний предмет через предмет-декоратор. Наприклад, купуючи бургер, ви можете налаштувати його, додавши додаткові начинки та соуси, тепер вартість цих предметів повинна бути додана до кінцевої ціни. Налаштування відрізнятиметься від клієнта до замовника та пропозиції від магазину. Створення різних класів гамбургерів з різною начинкою закінчиться створенням багатьох класів. Decorator вирішує цю проблему, розширюючи функціональність одного класу Burger під час виконання на основі запиту клієнта.

10. У чому полягає користь використання шаблону дизайну прототипу над створенням екземпляра з використанням нового ключового слова?

Відповідь:
Іноді створення об'єктів має велику вагу і вимагає великих ресурсів, створення нового екземпляра вплине на продуктивність. У таких випадках застосовується модель дизайну прототипу, яка стосується створення повторюваних об'єктів. У моделі дизайну прототипу, якщо подібний об'єкт вже присутній, клонування проводиться з урахуванням продуктивності.

Рекомендована стаття

Це було вичерпним посібником щодо питань інтерв'ю щодо дизайну та їх відповідей, щоб кандидат міг легко розірвати ці запитання щодо інтерв'ю щодо дизайну. Ви також можете переглянути наступні статті, щоб дізнатися більше -

  1. 25 найважливіших питань інтерв'ю з інформатики
  2. Знайте 10 найкращих корисних запитань та відповідей на інтерв'ю
  3. Топ-5 найцінніших запитань щодо інтерв'ю щодо даних
  4. Дивовижні 20 підказок, щоб зняти наступне співбесіду (ідеї)