Кращі 22 Java Питання для співбесіди щодо шаблонів проектування (2025)
Ось Java Питання та відповіді на співбесіді з Design Patterns для нових і досвідчених кандидатів, щоб отримати роботу своєї мрії.
Шаблони дизайну. Запитання та відповіді на співбесіді для першокурсників
1) Поясніть, що таке Java Шаблон дизайну?
Патерн проектування — це незалежна від мови стратегія для розв’язання загальної задачі об’єктно-орієнтованого проектування. Він описує, як структурувати класи, щоб задовольнити певну вимогу.
2) Поясніть, що таке творчі шаблони проектування та шаблони Factory?
Шаблон творчого дизайну: Цей шаблон використовується для визначення та опису того, як об’єкти створюються під час створення екземпляра класу.
Заводський візерунок: Фабричний шаблон використовується для створення об’єкта без надання логіки створення клієнту та посилання на щойно створений об’єкт за допомогою загального інтерфейсу.
👉 Безкоштовне завантаження PDF: Java Запитання та відповіді на інтерв’ю щодо шаблонів дизайну
3) Який шаблон проектування використовується для отримання способу доступу до елементів об’єкта колекції послідовним способом?
Шаблон ітератора використовується, щоб отримати доступ до елементів об’єкта колекції послідовним способом.
4) Коли використовується шаблон локатора служби?
Коли ми хочемо знайти різні служби за допомогою JNDI, ми використовуємо шаблон пошуку служб.
5) Згадайте, скількома способами можна створити одиночний шаблон?
Для створення окремих об'єктів існує два відомих способи
- Ляжке навантаження
- Охоче завантаження
6) Згадайте, який шаблон використовується, коли нам потрібно відокремити абстракцію від її реалізації?
Коли ми хочемо відокремити абстракцію від її реалізації, щоб дві могли змінюватися незалежно, ми використовуємо шаблон моста.
7) Згадайте, який шаблон дизайну буде корисним для додавання нової функціональності до існуючого об’єкта?
Шаблон декоратора дозволяє користувачеві додавати нову функціональність до існуючого об’єкта, не змінюючи його структури.
8) Поясніть, як можна створити клас Singleton Java?
Це двоетапний процес,
- Спочатку зробіть конструктор приватним, щоб оператор new не використовувався для створення екземпляра класу
- Повертайте об’єкт об’єкта, якщо не null, інакше створіть об’єкт і поверніть його за допомогою методу.
9) Чи можна записати потокобезпечний синглтон Java?
Щоб записати потокобезпечний синглтон у Java існує кілька способів, наприклад, за допомогою статичного екземпляра singleton, ініціалізованого під час завантаження класу, шляхом написання singleton із використанням блокування з подвійною перевіркою. Java Enum — це найпростіший спосіб створити потокобезпечний синглтон.
10) Згадайте, як слід описувати шаблон проектування?
Щоб описати шаблон дизайну, потрібно подбати про наступні речі
- Назва зразка та класифікація
- Проблема і рішення
- Наслідки: Варіації та залежні від мови альтернативи також мають бути розглянуті
- Знати використання: Визначити використання в реальних системах та його ефективність
11) Згадайте, чому доступ до нестатичної змінної заборонено зі статичного методу в Java?
Ви не можете отримати доступ до нестатичних даних зі статичного контексту, оскільки нестатичні змінні пов’язані з певним екземпляром об’єкта, тоді як статичні не пов’язані з жодним екземпляром.
12) Згадайте, який шаблон корисний, коли потрібно передати дані з декількома атрибутами за один раз від клієнта до сервера?
Шаблон передачі об’єкта корисний, коли потрібно передати дані з кількома атрибутами одним кадром від клієнта до сервера.
13) Назвіть деякі сутності шаблону DAO?
Деякі з сутностей DAO включають,
- Конкретний клас об'єкта доступу до даних
- Інтерфейс об’єкта доступу до даних
- Об’єкт моделі або об’єкт значення
14) Згадайте, коли можна використовувати шаблон перехоплення?
Шаблон перехоплення використовується, коли вам потрібно виконати попередню обробку або постобробку запиту чи відповіді програми.
15) Згадайте, коли використовувати фабричний шаблон?
Можна використовувати фабричний шаблон,
- Коли клас не знає, який клас об’єктів потрібно створити
- Коли клас визначає свої підкласи, щоб визначити, які об’єкти створювати
- У мові програмування ви можете використовувати фабричний шаблон, де вам потрібно створити об’єкт будь-якого з підкласів залежно від наданих даних
Запитання та відповіді на інтерв’ю щодо шаблонів дизайну для досвідчених
16) Поясніть у шаблоні singleton, чи краще зробити весь метод getinstance() синхронізованим чи достатньо лише критичної частини? Який з них краще?
Syncхронізація цілого getinstance()
Метод дорогий і потрібен лише під час ініціалізації екземпляра Singleton, щоб припинити створення іншого екземпляра Singleton. Тому краще синхронізувати лише критичний розділ, а не весь метод.
17) Згадайте, скількома способами можна написати клас singleton Java?
Можна написати одиночний клас Java чотирма способами
- Singleton із загальнодоступним статичним кінцевим полем, ініціалізованим під час завантаження класу
- Singleton, згенерований статичним вкладеним класом, також називається шаблоном власника singleton
- Singleton шляхом синхронізації методу get instance ().
- From Java 5 і далі за допомогою Enum
18) Поясніть, як можна запобігти створенню іншого екземпляра singleton за допомогою методу clone()?
Найкращий спосіб запобігти створенню іншого екземпляра одиночного класу — це не реалізовувати інтерфейс Cloneable, а якщо ви це зробите, просто викинути виняток із методу clone() «не створювати клон одиночного класу».
19) Згадайте, яка різниця між «кидком» і «кидками»?
Ключове слово «Throw» використовується для явного викидання як винятку, тоді як «Throws» використовується для обробки перевірених винятків для повторного повідомлення компілятору про те, що винятки обробляються. Кидки потрібно використовувати у визначенні методу, а також під час виклику методу, який викликає перевірені винятки.
20) Згадайте, які класи в JDK використовують одиночний шаблон?
Java.lang.Runtime
класи використовують одиночний шаблон у JDK.
21) Згадайте, яке обмеження використання однотонного шаблону?
Шаблон singleton гарантує, що клас має лише один екземпляр і забезпечує глобальну точку доступу до нього. Але в той же час це стає його обмеженням, оскільки для більшості класів у програмі вам потрібно буде створити кілька екземплярів.
22) Згадайте, яка різниця між VO та JDO?
Різниця між JDO і VO полягає в тому, що JDO — це стійка технологія, яка конкурує з компонентами сутності в розробці корпоративних додатків. Це дозволяє створювати POJO (прості старі об’єкти Java) і зберігати їх у базі даних.
У той час як VO означає об’єкти значення, представляє абстрактний шаблон проектування, який використовується в поєднанні з компонентами сутності, jdbc і, можливо, навіть JDO для подолання типових проблем ізоляції та транзакцій у корпоративних програмах.
Ці запитання для співбесіди також допоможуть вам у життєдіяльності (усному)