50 лучших вопросов и ответов на собеседовании EJB (2024 г.)

Здесь представлены вопросы и ответы на собеседовании по EJB для новичков, а также для опытных кандидатов-разработчиков, желающих получить работу своей мечты.


1. Что такое EJB?

Серверный компонент, который управляет архитектурой для ограничения корпоративных приложений и управляет ими, называется Enterprise JavaBeans (EJB).


2. Когда был разработан EJB?

EJB был разработан IBM в 1997 году.

Бесплатная загрузка в формате PDF: Вопросы и ответы для интервью EJB


3. Кто взял на себя управление EJB?

EJB перешла во владение Sun Microsystems в 1999 году.


4. Зарегистрировать типы Enterprise Beans?

К ним относятся:

  • Сессионные компоненты: Расширенный как «Stateful», «Stateless» и «Singleton», удаленный или локальный интерфейс используется для доступа к файлам EJB.
  • Компоненты, управляемые сообщениями (MDB): Поддерживается асинхронное выполнение с помощью парадигмы обмена сообщениями.

5. Что такое Entity Beans?

Entity Beans были представлены в более ранних версиях EJB и состояли из постоянных данных в распределенных объектах.


6. Укажите типы декларативных транзакций?

К ним относятся:

  • ОБЯЗАТЕЛЬНЫЙ:
  • ТРЕБУЕТСЯ
  • REQUIRES_NEW
  • ОПОРЫ
  • НЕ ПОДДЕРЖИВАЕТСЯ
  • ЕЩЕ НИКОГДА НЕ БЫЛ
Вопросы для собеседования по EJB
Вопросы для собеседования по EJB

7. Какие версии EJB?

  • ЕJB 3.1
  • ЕJB 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 г.)

8. Что такое J2EE?

Набор синхронизированных спецификаций и процедур, которые позволяют принимать решения по развертыванию и разработке многоуровневых серверно-ориентированных приложений, называется J2EE.


9. Зафиксировать изменения в EJB 2.1?

Внесены следующие изменения:

  • Компоненты, управляемые сообщениями (MDB): сообщения принимаются из других источников, помимо JMS.
  • Язык запросов EJB: добавлены новые функции.
  • Поддерживаются веб-сервисы.
  • Служба таймера EJB: механизм, основанный на событии, для вызова EJB в определенное время.
  • XML схема
  • Адресаты сообщений
EJB
EJB

10. Зарегистрируйте содержимое Контейнера. • Контейнер содержит?

  • Поддержка безопасности: используется для настройки дескриптора развертывания (DD).
  • Поддержка персистентности: раньше была персистентностью транзакций.
  • Поддержка управления транзакциями: используется для настройки дескриптора развертывания (DD).
  • Управление сеансом: в Developer используются методы обратного вызова, такие как ejbStore(), ejbLoad().
  • Управление жизненным циклом: автоматическое

11. Отличить «сессию с состоянием» от «Entity Bean»?

Хотя оба подвергаются активации и пассивации; EB имеет обратный вызов ejbStore() для сохранения состояния посредством пассивации и обратный вызов ejbLoad() для загрузки состояния посредством активации. Но в случае с SS это не нужно, поскольку поля SSB сериализуются через объекты контейнерами.


12. Что более выгодно: компонент с состоянием или без состояния?

Если необходимо диалоговое состояние, то предпочтительным является режим с отслеживанием состояния, а парадигма без сохранения состояния предпочтительна для одного бизнес-процесса.


13. Что выгоднее: CMP или BMP?

Когда используется сопоставление «один к одному» и данные постоянно хранятся в региональной базе данных, предпочтительным является CMP. Но когда сопоставление «один к одному» отсутствует и данные извлекаются из многочисленных таблиц с помощью сложного запроса, используется Bean Managed Persistence.


14. Как поддерживается согласованность Stateful Session посредством обновлений транзакций?

Согласованность данных поддерживается за счет обновления их полей каждый раз, когда выполняется фиксация транзакции.


15. Является ли метод ejbCreate() обязательным при определении сеансового компонента?

EjbCreate() является частью жизненного цикла bean-компонента, поэтому присутствие метода ejbCreate() не является обязательным, и компилятор не будет возвращать ошибки.


16. Определить контекст?

Это метод привязки имени к конкретному объекту путем предоставления интерфейса типа javax.naming.Context.


17. Определите исходный контекст?

Реализация доступных методов в интерфейсе контекста, например контекста с именем javax.meaning.InitialContext.


18. Определите SessionContext?

Объект EJBContext, SessionContext, используется для доступа к информации и службам контейнеров.


19. Может ли функция удаления () быть сессионным компонентом без сохранения состояния?

Да, метод Remove() может быть сеансовым компонентом без сохранения состояния, поскольку срок его действия остается прежним до тех пор, пока метод не будет выполнен.


20. Поддерживается ли состояние компонентом без сохранения состояния?

Компонент без сохранения состояния содержит состояние, не зависящее от клиента, посредством методов, вызываемых клиентом.


21. Может ли EJB обрабатывать несколько транзакций?

EJB можно заставить обрабатывать несколько транзакций, разрешив нескольким Entity Bean обрабатывать каждую базу данных и одному Session Bean для сохранения транзакций с Entity Bean.


22. Подключить методы обратного вызова сессионного компонента?

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. Подключите методы обратного вызова 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. Отличайте разговорное взаимодействие от неразговорного?

Взаимодействие между клиентом и компонентом называется диалоговым, тогда как там, где многометодное общение с клиентами не ведется, оно называется недиалоговым взаимодействием.


26. Определите ejb Create() и EjbPostCreate()?

Когда метод вызывается до записи состояния компонента в постоянное хранилище, это ejbCreate().

Когда метод вызывается после записи состояния компонента в постоянное хранилище, это ejbPostCreate().


27. Дайте определение EAR, WAR и JAR?

Файлы JAR содержат все классы EJB.

Файлы WAR содержат все сервлеты, страницы веб-компонентов, файлы gif, HTML, beans, апплеты, классы и классы.

Файлы EAR содержат файлы JAR и WAR.


28. Отличить фантом от неповторимого?

Когда вставляются данные, которых раньше не существовало, они читаются как фантомные, тогда как когда данные, которые уже существовали, изменяются, происходит неповторяемость.


29. Определите свойства КИСЛОТЫ?

ACID — это атомарность, согласованность, изоляция и долговечность.

  • Атомарность: операции, которые объединены вместе и представляют собой единую единицу работы.
  • Согласованность: гарантирует, что после совершения транзакции будет согласованность.
  • Изоляция: помогает защитить просмотр других одновременных неполных результатов транзакций.
  • Долговечность: обеспечивает долговечность за счет ведения журнала перехода, в котором постоянные данные воссоздаются путем повторного применения соответствующих шагов.

30. Что вы подразумеваете под «горячим развертыванием»?

Процесс повторного развертывания, развертывания и отмены развертывания в веб-логике, когда сервер работает в EJB, называется горячим развертыванием.


31. Как можно настроить сеансовый компонент для транзакций, управляемых компонентом?

Это можно сделать, установив атрибут транзакции в секторе развертывания или XML-файле.


32. Задействуйте технологии, используемые в J2EE.

Технологии, включенные в J2EE:

  • Enterprise JavaBeansTM (EJBsTM)
  • JavaServer PagesTM (JSPsTM)
  • Сервлеты Java
  • Интерфейс именования и каталогов JavaTM (JNDITM)
  • Java-транзакция API (ДЖТА)
  • КОРБА
  • API доступа к данным JDBCTM.

33. Что вы подразумеваете под контейнером Enterprise JavaBeans (EJB)?

Контейнер Enterprise JavaBeans помогает управлять реализацией приложений корпоративных компонентов J2EE.


34. Что вы подразумеваете под репликацией в памяти?

Когда содержимое, имеющее память одного физического компьютера, моделируется на всех компьютерах в этом кластере, этот процесс называется репликацией памяти.


35. Дайте определение волновому эффекту?

Во время выполнения, когда изменения, внесенные в различные свойства группы серверов, распространяются на каждый связанный клон, этот процесс известен как волновой эффект.


36. Дайте определение клону?

Копии группы серверов определяются как клоны. Но в отличие от групп серверов клоны связаны посредством узлов.


37. Что вы подразумеваете под транзакцией, управляемой компонентом?

Если разработчику не нужен Контейнер для управления транзакциями, каждая операция с базой данных может быть реализована для написания подходящего JDBC код.


38. Отличие «найти метод» от «выбрать метод» в EJB?

Постоянное поле возвращается методом select связанного объектного компонента. Удаленный или локальный интерфейс возвращается методом поиска.


39. Что вы подразумеваете под абстрактной схемой?

Элемент дескриптора развертывания компонента сущности, который определяет постоянные поля компонента и отношения, существующие между ними, известен как абстрактная схема. Он специфичен для каждого объектного компонента, который управляет сохранением контейнера.


40. Что вы подразумеваете под повторным въездом? Можете ли вы сказать, что сессионные компоненты являются повторно входящими? Можно ли указать объектные компоненты как реентерабельные?

Если объектный компонент определен как реентерабельный, то несколько клиентов могут связаться с Entity bean и получить методы, выполняемые одновременно внутри объектного компонента. Синхронизация осуществляется контейнером. Исключение выдается, когда луч сущности определен как невозвратный и к нему одновременно подключаются многочисленные клиенты для выполнения метода.


41. Что вы подразумеваете под архитектурой EJB?

Невизуальный компонент, включающий в себя распределенное корпоративное приложение, ориентированное на транзакции, называется корпоративными компонентами. Обычно они развертываются в контейнерах EJB и запускаются на серверах EJB.

Три типа корпоративных компонентов:

  • Сеансовые компоненты. Эти корпоративные компоненты не являются постоянными и могут иметь состояние без сохранения состояния или с сохранением состояния. Если необходимо диалоговое состояние, то предпочтительным является режим с отслеживанием состояния, а парадигма без сохранения состояния предпочтительна для одного бизнес-процесса.
  •  Entity Beans: Entity Beans были представлены в более ранних версиях EJB и состояли из постоянных данных в распределенных объектах. У них была возможность сохраняться в разных постоянных хранилищах данных.
  • Компоненты, управляемые сообщениями: поддерживается асинхронное выполнение с помощью парадигмы обмена сообщениями. Следите за процессом получения и обработки данных. Доступ к ним осуществляется только через сообщения, и разговорное состояние не поддерживается.

42. Напишите основные требования к классу на основе сущностей CMP в версии 2.0 из EJB 1.1?

Основным требованием CMP является абстрактный класс, который контейнер расширяет и получает реализованные методы, необходимые для управления отношениями.


43. Как можно получить доступ к Enterprise JavaBeans с Active Server Pages?

Доступ к Enterprise JavaBeans можно получить с Active Server Pages следующими способами:

  • «Платформа Java 2»
  • Службы клиентского доступа Enterprise Edition (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. Он определяет методы поиска, которые используются для объектных компонентов, которые имеют постоянство, управляемое контейнером, и имеют переносимость между менеджерами постоянства и контейнерами. Это полезно для двух типов методов поиска: Методы поиска, которые имеют домашний интерфейс и возвращают объекты сущности. Выберите методы, которые остаются скрытыми от просмотра клиентом, но которые использует провайдер Bean.


48. Как происходит вызов EJB?

Ссылка на домашний объект получается из службы имен через JNDI. Ссылка на домашний объект возвращается клиенту. Шаги:

  • Создал новый объект EJB через интерфейс домашнего объекта.
  • Создал объект EJB из объекта Ejb.
  • Возвратил ссылку на объект EJB клиенту.
  • Вызов бизнес-метода с использованием ссылки на объект EJB.
  • Делегат запрошен в Bean (Enterprise Bean).

49. Можно ли сопоставить более одной таблицы в CMP?

Нет, в одном CMP нельзя сопоставить более одной таблицы.


50. Разрешено ли объектным компонентам создавать методы ()?

Да, это разрешено в тех случаях, когда данные не вставляются с помощью приложения Java.

Эти вопросы для собеседования также помогут вам в устной речи.

Поделиться

Оставьте комментарий

Ваш электронный адрес не будет опубликован. Обязательные поля помечены * *