Топ-50 запитань і відповідей на інтерв’ю EJB (2025)
Ось питання та відповіді на співбесіді EJB для новачків, а також для досвідчених кандидатів у розробники, щоб отримати роботу своєї мрії.
1. Що таке EJB?
Компонент на стороні сервера, який керує архітектурою для обмеження корпоративних програм і керується, називається Enterprise JavaBeans (EJB).
2. Коли було розроблено EJB?
EJB був розроблений IBM у 1997 році.
Безкоштовне завантаження у форматі PDF: EJB Interview Questions and Answers
3. Хто прийняв EJB?
Компанія Sun Microsystems поглинула EJB у 1999 році.
4. Зарахувати типи Enterprise Bean?
До них відносяться:
- Сесійні компоненти: Розширений як «Stateful», «Stateless» і «Singleton», віддалений або локальний інтерфейс використовується для доступу до файлів EJB.
- Компоненти, керовані повідомленнями (MDB): Підтримується асинхронне виконання за допомогою парадигми обміну повідомленнями.
5. Що таке Entity Bean?
Компоненти Entity Bean були представлені в попередніх версіях EJB і складалися з постійних даних у розподілених об’єктах.
6. Перелічіть типи декларативних операцій?
До них відносяться:
- ОБОВ'ЯЗКОВО:
- ВИМАГАЄТЬСЯ
- REQUIRES_NEW
- ПІДТРИМКИ
- НЕ_ПІДТРИМУЄТЬСЯ
- НІКОЛИ
7. Що таке версії EJB?
- EJB 3.1
- EJB 3.2
- Остаточний випуск EJB 3.2 (2013 травня 05 р.)
- Остаточний випуск EJB 3.1 (2009 травня 12 р.)
- Остаточний випуск EJB 3.0 (2006 травня 05 р.)
- EJB 2.1, остаточний випуск (2003 листопада 11 р.)
- Остаточний випуск EJB 2.0 (2001 травня 08 р.)
- Остаточний випуск EJB 1.1 (1999 травня 12 р.)
- EJB 1.0 (1998-03-24)
8. Що таке J2EE?
Називається набір синхронізованих специфікацій і процедур, які дозволяють приймати рішення щодо розгортання, розробки нагляду за багаторівневими сервероцентричними програмами. J2EE.
9. Зареєструвати зміни в EJB 2.1?
Внесені зміни:
- Компоненти, керовані повідомленнями (MDB): повідомлення приймаються з інших джерел, крім JMS.
- Мова запитів EJB: додано нові функції.
- Підтримуються веб-сервіси.
- Служба таймера EJB: механізм на основі події для виклику EJB у певний час.
- XML схема
- Адресати повідомлень
10. Зарахуйте вміст контейнера. • Контейнер містить?
- Підтримка безпеки: використовується для налаштування дескриптора розгортання (DD)
- Підтримка постійності: використовується як стійкість у транзакціях.
- Підтримка керування транзакціями: використовується для налаштування дескриптора розгортання (DD)
- Керування сеансом: у розробнику використовуються такі методи зворотного виклику, як ejbStore (), ejbLoad ().
- Управління життєвим циклом: Автоматичне
11. Відрізнити «Stateful Session» від «Entity Bean»?
При цьому обидва проходять активацію і пасивацію; EB має зворотний виклик ejbStore () для збереження стану через пасивацію та зворотний виклик ejbLoad () для завантаження стану через активацію. Але у випадку SS це не потрібно, оскільки поля SSB серіалізуються через об’єкти контейнерами.
12. Що є більш вигідним: Stateful або Stateless Bean?
Якщо потрібен розмовний стан, тоді перевага віддається режиму Stateful, тоді як парадигма Stateless є кращою для одного бізнес-процесу.
13. Що вигідніше: CMP чи BMP?
Якщо використовується відображення «один до одного» і дані постійно зберігаються в регіональній базі даних, CMP є кращим. Але коли відображення «один до одного» не існує, а дані витягуються з багатьох таблиць, що мають складний запит, використовується керована стійкість Bean.
14. Як підтримується узгодженість за допомогою Stateful Session через оновлення транзакцій?
Узгодженість даних підтримується шляхом оновлення їхніх полів кожного разу, коли виконується зобов’язання транзакції.
15. Чи є метод ejbCreate () обов’язковим під час визначення Session Bean?
EjbCreate () є частиною життєвого циклу компонента, тому наявність методу ejbCreate () не є обов’язковою, і компілятор не повертатиме помилок.
16. Визначте контекст?
Це метод прив’язки імені до певного об’єкта шляхом надання інтерфейсу на зразок javax.naming.Context.
17. Визначте початковий контекст?
Реалізація доступних методів в інтерфейсі контексту, наприклад контексті під назвою javax.meaning.InitialContext.
18. Визначити SessionContext?
Об’єкт EJBContext, SessionContext, використовується для доступу до інформаційних і контейнерних служб.
19. Чи може remove() бути компонентом сеансу без збереження стану?
Так, remove() може бути bean-компонентом сеансу без збереження стану, тому що життя залишається незмінним до виконання методу.
20. Чи підтримується стан компонентом без стану?
Bean-компонент без стану не містить специфічного для клієнта стану через методи, викликані клієнтом.
21. Чи може EJB обробляти кілька транзакцій?
EJB можна змусити обробляти кілька транзакцій, увімкнувши кілька Entity Bean для обробки кожної бази даних і один Session Bean для збереження транзакції з Entity Bean.
22. Залучити методи CallBack Session Bean?
public interface javax.ejb.SessionBean extends javax.ejb.EnterpriseBean { Public abstract void ejbCreate(); public abstract void ejbRemove(); Public abstract void ejbActivate (); public abstract void setSessionContext(SessionContext ctx); public abstract void ejbPassivate(); }
23. Залучіть методи CallBack Entity Bean.
public interface javax.ejb.EntityBean extends javax.ejb.EnterpriseBean { public abstract void ejbRemove(); public abstract void ejbActivate(); public abstract void ejbStore(); public abstract void ejbPassivate(); public abstract void setEntityContext(EntityContext ctx); public abstract void unsetEntityContext(); public abstract void ejbLoad(); }
24. Як один EJB можна викликати з іншого EJB?
EJB можна викликати в іншому EJB за допомогою JNDI, який можна використовувати для пошуку домашнього інтерфейсу та отримання примірника.
25. Як відрізнити розмовну взаємодію від нерозмовної?
Взаємодія між клієнтом і bean-компонентом називається розмовним, тоді як багатометодні розмови з клієнтами не проводяться, це взаємодія без розмов.
26. Визначити ejb Create() і EjbPostCreate ()?
Коли метод викликається перед записом постійного сховища зі станом bean, це ejbCreate ().
Коли метод викликається після запису постійного сховища зі станом компонента, це ejbPostCreate ().
27. Дайте визначення EAR, WAR і JAR?
Файли JAR містять усі класи EJB.
Файли WAR містять усі сервлети, сторінки веб-компонентів, gif, HTML, боби, аплети, класи та класи.
Файли EAR містять файли JAR і WAR.
28. Як відрізнити Phantom від Un-repeatable?
Коли вставляються дані, які раніше не існували, вони зчитуються як фантомні, тоді як коли дані, які вже існували, змінюються, відбувається неповторення.
29. Визначити властивості ACID?
ACID — це атомарність, консистенція, ізоляція та довговічність.
- Атомарність: операції, які об’єднані разом і спроектовані як одна одиниця роботи.
- Послідовність: гарантує, що після здійснення транзакції буде послідовність.
- Ізоляція: допомагає захистити перегляд інших одночасних незавершених результатів транзакцій.
- Довговічність: забезпечує довговічність, зберігаючи перехідний журнал, за допомогою якого постійні дані відтворюються шляхом повторного застосування відповідних кроків.
30. Що ви маєте на увазі під «гарячим розгортанням»?
Акт повторного розгортання, розгортання та скасування розгортання в веб-логіці, коли сервер працює в EJB, називається гарячим розгортанням.
31. Як можна налаштувати сеансовий компонент для транзакцій, керованих компонентом?
Це можна зробити, встановивши атрибут транзакції в секторі розгортання або файлі XML.
32. Використовуйте технології, використані в J2EE.
Технології, використані в J2EE:
- Enterprise JavaBeansTM (EJBsTM)
- JavaServer PagesTM (JSPsTM)
- Сервлети Java
- Інтерфейс імен і каталогів JavaTM (JNDITM)
- Транзакція Java API (JTA)
- CORBA
- API доступу до даних JDBCTM.
33. Що ви маєте на увазі під контейнером Enterprise JavaBeans (EJB)?
Корпоративний контейнер JavaBeans допомагає в управлінні реалізацією корпоративних bean-додатків J2EE.
34. Що ви маєте на увазі під реплікацією в пам'яті?
Коли вміст, що має пам’ять одного фізичного м/с, моделюється в усіх м/с у цьому кластері, цей процес називається реплікацією пам’яті.
35. Дайте визначення ефекту пульсації?
Під час виконання, коли зміни, внесені в різні властивості групи серверів, поширюються на кожен пов’язаний клон, цей процес відомий як ефект хвилі.
36. Дайте визначення клону?
Копії груп серверів визначаються як клони. Але на відміну від груп серверів, клони пов’язані за допомогою вузлів.
37. Що ви маєте на увазі під транзакцією, керованою компонентом?
Якщо контейнер не потрібний розробнику для керування транзакціями, кожна операція бази даних може бути реалізована для написання відповідного JDBC Код.
38. Відрізнити «знайти метод» від «вибрати метод» в EJB?
Постійне поле повертається методом select пов’язаного компонента сутності. Віддалений або локальний інтерфейс повертається методом пошуку.
39. Що ви маєте на увазі під абстрактною схемою?
Елемент дескриптора розгортання компонента сутності, який визначає постійні поля компонента та зв’язок, що існує між ними, відомий як абстрактна схема. Це специфічно для кожного компонента сутності, який керує збереженням контейнера.
40. Що ви маєте на увазі під повторним вступом? Чи можете ви сказати, що сеансові компоненти є повторним входом? Чи можна вказати bean-компоненти entity як re-entrant?
Якщо entity-компонент визначено як повторний, тоді кілька клієнтів можуть асоціюватися з entity-компонентом і отримати методи, що виконуються одночасно всередині entity-компонента. Про синхронізацію піклується контейнер. Існує виняток, коли промінь сутності визначено як неповторний і численні клієнти підключені до нього одночасно для виконання методу.
41. Що ви маєте на увазі під архітектурою EJB?
Невізуальний компонент, що включає орієнтовану на транзакції розподілену корпоративну програму, називається Enterprise bean. Вони, як правило, розгорнуті в контейнерах EJB і працюють на серверах EJB.
Три типи корпоративних компонентів:
- Сеансові компоненти: ці корпоративні компоненти є непостійними і можуть бути без стану або без збереження стану. Якщо потрібен розмовний стан, тоді перевага віддається режиму Stateful, тоді як парадигма Stateless є кращою для одного бізнес-процесу.
- Entity Beans: Entity Beans були представлені в попередніх версіях EJB і складалися з постійних даних у розподілених об’єктах. Вони мали можливість зберігатися в різних постійних сховищах даних.
- Компоненти, керовані повідомленнями: підтримується асинхронне виконання за допомогою парадигми обміну повідомленнями. Слідкуйте за процесом отримання та обробки даних. Доступ до них здійснюється лише через повідомлення, і вони не підтримують розмовний стан.
42. Напишіть основні вимоги до класу на основі сутності CMP у версії 2.0 з EJB 1.1?
Основною вимогою до CMP є абстрактний клас, який розширює контейнер і отримує реалізовані методи, необхідні для керування зв’язками.
43. Як можна отримати доступ до Enterprise JavaBeans із сторінок активного сервера?
Доступ до корпоративних JavaBeans можна отримати з активних сторінок сервера:
- «Платформа Java 2»
- Enterprise Edition Client Access Services (J2EETM CAS) COM Bridge 1.0, який наразі завантажено з Sun Microsystems.
44. Має статичні блоки ініціалізації правової в EJB?
Технічно це законно, але статичні блоки ініціалізатора використовувалися для виконання фрагментів коду перед остаточним виконанням будь-якого методу чи конструктора під час створення екземпляра класу.
45. Які зміни внесено в специфікації EJB 2.0?
Зміни, внесені в специфікацію EJB 2.0:
- JMS інтегровано з EJB.
- Компоненти, керовані повідомленнями.
- Впровадження додаткових методів бізнесу.
46. Що ви маєте на увазі під EJBDoclet?
Документ JavaDoc з відкритим вихідним кодом — це документ, який генерує корисні матеріали, пов’язані з EJB, із тегів коментарів спеціального JavaDoc, які вбудовано у вихідний файл EJB.
47. Що ви маєте на увазі під EJB QL?
Мова запитів, яка забезпечує навігацію мережею, що містить корпоративні компоненти та об’єкти, які залежать і визначаються методами збереження, керованого контейнером. EJB 2.0 був платформою для впровадження EJB QL. Він визначає методи пошуку, які використовуються для компонентів сутності, які мають постійність, керовану контейнером, і мають можливість перенесення між менеджерами постійності та контейнерами. Це корисно в двох видах методів пошуку: Методи пошуку, які мають інтерфейс Home і повертають об’єкти сутності. Виберіть методи, які залишаються невідкритими для перегляду клієнтом, але які використовує постачальник Bean.
48. Як відбувається виклик EJB?
Посилання на домашній об’єкт отримується зі служби імен через JNDI. Посилання на Home Object повертається клієнту. Кроки такі:
- Створено новий об’єкт EJB через інтерфейс Home Object.
- Створено об’єкт EJB з об’єкта Ejb.
- Повернуто клієнту посилання на об’єкт EJB.
- Викликано бізнес-метод за допомогою посилання на об’єкт EJB.
- Делегат запитується в Bean (Enterprise Bean).
49. Чи можна відобразити більше ніж одну таблицю в CMP?
Ні, більше ніж одну таблицю не можна відобразити в одному CMP.
50. Чи дозволено компонентам сутності створювати () методи?
Так, це дозволено у випадках, коли дані не вставляються за допомогою програми Java.
Ці запитання для співбесіди також допоможуть вам у життєдіяльності (усному)