상위 50개 EJB 인터뷰 질문 및 답변(2025)

꿈의 직업을 갖기 위한 신입생과 숙련된 개발자 후보자를 위한 EJB 인터뷰 질문과 답변은 다음과 같습니다.


1. EJB란 무엇인가?

엔터프라이즈 애플리케이션을 제한하기 위한 아키텍처를 관리하고 관리하는 서버 측 구성 요소를 EJB(Enterprise JavaBeans)라고 합니다.


2. EJB는 언제 개발되었나요?

EJB는 1997년 IBM에 의해 개발되었습니다.

무료 PDF 다운로드: EJB 인터뷰 질문 및 답변


3. EJB는 누가 인수했나요?

EJB는 1999년 Sun Microsystems에 인수되었습니다.


4. Enterprise Beans 유형을 등록하시겠습니까?

그들은 :

  • 세션 빈: "Stateful", "Stateless" 및 "Singleton"으로 확장된 원격 또는 로컬 인터페이스는 EJB 파일에 액세스하는 데 사용됩니다.
  • 메시지 구동 Bean(MDB): 메시징 패러다임을 통한 비동기 실행이 지원됩니다.

5. 엔터티 빈(Entity Bean)이란 무엇입니까?

Entity Bean은 분산 객체의 영구 데이터로 구성된 이전 버전의 EJB에서 제공되었습니다.


6. 선언적 거래 유형을 등록하시겠습니까?

그들은 :

  • 필수적인:
  • 필요한
  • REQUIRES_NEW
  • 서포트
  • 지원되지 않음
  • 영어
EJB 면접 질문
EJB 면접 질문

7. EJB 버전은 무엇입니까?

  • EJB 3.1
  • EJB 3.2
  • EJB 3.2 최종 릴리즈 (2013-05-28)
  • EJB 3.1 최종 릴리즈 (2009-12-10)
  • EJB 3.0 최종 릴리즈 (2006-05-11)
  • EJB 2.1, 최종 릴리스(2003-11-24)
  • EJB 2.0 최종 릴리즈 (2001-08-22)
  • EJB 1.1 최종 릴리즈 (1999-12-17)
  • EJB 1.0 (1998-03-24)

8. J2EE란 무엇입니까?

다중 계층 서버 중심 응용 프로그램의 배포, 개발 감독과 관련된 솔루션을 가능하게 하는 동기화된 사양 및 절차 모음을 호출합니다. J2EE.


9. EJB 2.1의 변경 사항을 적용하시겠습니까?

변경된 내용은 다음과 같습니다.

  • MDB(Message Driven Bean): JMS 이외의 다른 소스에서 메시지가 허용됩니다.
  • EJB 쿼리 언어: 새로운 기능이 추가되었습니다.
  • 웹 서비스가 지원됩니다.
  • EJB 타이머 서비스: 특정 시간에 EJB를 호출하는 이벤트 기반 메커니즘입니다.
  • XML 개요
  • 메시지 대상
EJB
EJB

10. 컨테이너의 콘텐츠를 등록합니다. • 컨테이너에 포함되어 있습니까?

  • 보안 지원: DD(배포 설명자) 구성에 사용됩니다.
  • 지속성 지원: 트랜잭션의 지속성으로 사용됩니다.
  • 트랜잭션 관리 지원: DD(배포 설명자) 구성에 사용됩니다.
  • Session 관리: Developer에서는 ejbStore(), ejbLoad() 등의 콜백 메소드를 사용합니다.
  • 수명주기 관리: 자동

11. 'Stateful Session'과 'Entity Bean'을 구별합니까?

둘 다 활성화 및 비활성화를 거치는 동안; EB에는 비활성화를 통해 상태를 저장하는 ejbStore() 콜백과 활성화를 통해 상태를 로드하는 ejbLoad() 콜백이 있습니다. 그러나 SS의 경우 SSB 필드가 컨테이너별로 개체를 통해 직렬화되므로 이는 필요하지 않습니다.


12. Stateful Bean과 Stateless Bean 중 어느 것이 더 유리합니까?

대화 상태가 필요한 경우 Stateful 모드가 선호되고 단일 비즈니스 프로세스에는 Stateless 패러다임이 선호됩니다.


13. CMP와 BMP 중 어느 것이 더 유리합니까?

"일대일" 매핑이 포함되고 데이터가 지역 데이터베이스에 지속적으로 저장되는 경우 CMP가 선호됩니다. 그러나 "일대일" 매핑이 없고 복잡한 쿼리가 있는 수많은 테이블에서 데이터를 검색하는 경우 Bean Managed Persistence가 사용됩니다.


14. Stateful Session은 트랜잭션 업데이트를 통해 일관성을 어떻게 유지합니까?

거래가 확정될 때마다 해당 필드를 업데이트하여 데이터 일관성이 유지됩니다.


15. Session Bean을 정의할 때 ejbCreate() 메소드가 필수인가요?

EjbCreate()는 Bean의 라이프사이클의 일부이므로 ejbCreate() 메소드가 필수는 아니며 컴파일러에서 반환되는 오류도 없습니다.


16. 컨텍스트를 정의하시겠습니까?

javax.naming.Context와 같은 인터페이스를 제공하여 특정 객체에 이름을 바인딩하는 방법이다.


17. 초기 컨텍스트를 정의하시겠습니까?

javax.meaning.InitialContext라는 컨텍스트와 같은 컨텍스트의 인터페이스에서 사용 가능한 메소드 구현.


18. SessionContext를 정의합니까?

EJBContext 객체인 SessionContext는 정보 및 컨테이너 서비스에 액세스하는 데 사용됩니다.


19. 제거()가 Stateless Session Bean이 될 수 있습니까?

예, 메소드가 실행될 때까지 수명이 동일하게 유지되므로 제거()는 Stateless Session Bean이 될 수 있습니다.


20. 상태는 Stateless Bean에 의해 유지됩니까?

Stateless Bean에는 클라이언트 호출 메소드를 통해 클라이언트가 없는 특정 상태가 포함되어 있습니다.


21. EJB가 다중 트랜잭션을 처리하도록 만들 수 있습니까?

여러 Entity Bean이 모든 데이터베이스를 처리하고 하나의 Session Bean이 Entity Bean과의 트랜잭션을 유지하도록 함으로써 EJB가 여러 트랜잭션을 처리하도록 만들 수 있습니다.


22. 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. 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를 어떻게 호출할 수 있습니까?

홈 인터페이스를 찾고 인스턴스를 획득하는 데 사용할 수 있는 JNDI를 사용하여 다른 EJB 내에서 EJB를 호출할 수 있습니다.


25. 대화형 상호작용과 비대화형 상호작용을 구별하나요?

클라이언트와 Bean 사이의 상호작용을 대화형이라고 하며 클라이언트와 다중 메소드 대화가 이루어지지 않는 경우 이를 비대화형 상호작용이라고 합니다.


26. ejb Create() 및 EjbPostCreate()를 정의하시겠습니까?

영속성 저장소가 Bean 상태로 작성되기 전에 메소드가 호출되면 ejbCreate()입니다.

Persistence Storage에 Bean 상태를 작성한 후 메소드를 호출하면 ejbPostCreate()이다.


27. EAR, WAR 및 JAR을 정의합니까?

JAR 파일에는 모든 EJB 클래스가 포함되어 있습니다.

WAR 파일에는 모든 서블릿, 웹 구성 요소 페이지, gif, HTML, 빈, 애플릿, 클래스 및 클래스.

EAR 파일에는 JAR 및 WAR 파일이 모두 포함되어 있습니다.


28. 팬텀(Phantom)과 반복 불가능(Un-repeatable)을 구별하는가?

이전에 존재하지 않았던 데이터가 삽입되면 팬텀으로 읽혀지고, 이미 존재했던 데이터가 변경되면 반복 불가능이 발생합니다.


29. ACID 속성을 정의하시겠습니까?

ACID는 원자성, 일관성, 격리성, 내구성을 의미합니다.

  • 원자성: 함께 묶이고 단일 작업 단위를 예상하는 작업입니다.
  • 일관성: 트랜잭션이 발생한 후 일관성이 있음을 보장합니다.
  • 격리: 동시에 완료되지 않은 다른 거래 결과를 볼 수 없도록 보호합니다.
  • 내구성: 관련 단계를 다시 적용하여 영구 데이터를 다시 생성하는 전환 로그를 유지하여 내구성을 보장합니다.

30. '핫 배포'란 무엇을 의미합니까?

서버가 EJB에서 실행 중일 때 웹 로직에서 재배포, 배포 및 배포 취소하는 행위를 핫 배포라고 합니다.


31. Bean 관리 트랜잭션을 위해 세션 Bean을 어떻게 구성할 수 있습니까?

배포 섹터나 XML 파일에 transaction-attribute를 설정하면 됩니다.


32. J2EE에 포함된 기술을 활용하십시오.

J2EE에 포함된 기술은 다음과 같습니다.

  • EJBTM(엔터프라이즈 JavaBeansTM)
  • JavaServer PagesTM(JSPTM)
  • 자바 서블릿
  • JNDITM(Java 명명 및 디렉토리 인터페이스TM)
  • 자바 트랜잭션 API (JTA)
  • 코바
  • JDBCTM 데이터 액세스 API.

33. EJB(Enterprise JavaBeans) 컨테이너란 무엇을 의미합니까?

Enterprise JavaBeans 컨테이너는 J2EE의 Enterprise Bean 애플리케이션 구현을 관리하는 데 도움이 됩니다.


34. 인메모리 복제란 무엇을 의미합니까?

단일 물리적 m/c의 메모리를 가진 콘텐츠가 해당 클러스터의 모든 m/c에서 시뮬레이션되는 경우 해당 프로세스를 메모리 복제라고 합니다.


35. 파급효과를 정의하는가?

런타임 중에 서버 그룹의 다양한 속성에 대한 변경 사항이 연결된 모든 클론에 전파되는 경우 이 프로세스를 파급 효과라고 합니다.


36. 클론을 정의하시겠습니까?

서버 그룹 복사본은 클론으로 정의됩니다. 그러나 서버 그룹과 달리 클론은 노드를 통해 연결됩니다.


37. 빈 관리 트랜잭션이란 무엇을 의미합니까?

개발자가 트랜잭션 관리를 위해 컨테이너를 원하지 않는 경우 모든 데이터베이스 작업을 구현하여 적합한 컨테이너를 작성할 수 있습니다. JDBC 암호.


38. EJB에서는 "Find a Method"와 "Select Method"를 구별하나요?

관련된 엔터티 Bean의 select 메소드에 의해 지속성 필드가 반환됩니다. 원격 또는 로컬 인터페이스는 finder 메소드에 의해 반환됩니다.


39. 추상적 스키마란 무엇을 의미합니까?

Bean의 지속성 필드와 이들 사이에 존재하는 관계를 정의하는 엔티티 Bean 배치 디스크립터의 요소를 추상 스키마라고 합니다. 이는 컨테이너의 지속성을 관리하는 각 엔터티 Bean에 따라 다릅니다.


40. 재진입이란 무슨 뜻인가요? 세션 빈을 재진입자라고 말할 수 있나요? 엔터티 빈을 재진입자로 지정할 수 있나요?

엔터티 bean이 재진입으로 정의된 경우 여러 클라이언트가 엔터티 bean과 연결하고 엔터티 bean 내에서 동시에 실행되는 메서드를 가져올 수 있습니다. 동기화는 컨테이너별로 처리됩니다. 엔터티 빔이 재진입 불가로 정의되고 메서드를 수행하기 위해 수많은 클라이언트가 동시에 연결되는 경우 예외가 발생합니다.


41. EJB 아키텍처란 무엇을 의미합니까?

트랜잭션 지향 분산 엔터프라이즈 애플리케이션과 관련된 비시각적 구성 요소를 Enterprise Bean이라고 합니다. 이는 특징적으로 EJB 컨테이너에 배포되고 EJB 서버에서 실행됩니다.

세 가지 엔터프라이즈 Bean 유형은 다음과 같습니다.

  • 세션 빈: 이러한 엔터프라이즈 빈은 비영구적이며 상태 비저장 또는 상태 저장이 가능합니다. 대화 상태가 필요한 경우 Stateful 모드가 선호되고 단일 비즈니스 프로세스에는 Stateless 패러다임이 선호됩니다.
  •  Entity Bean: Entity Bean은 분산 객체의 영구 데이터로 구성된 이전 버전의 EJB에서 제공되었습니다. 다양한 영구 데이터 저장소에 저장할 수 있는 기능이 있었습니다.
  • 메시지 구동 Bean: 메시징 패러다임을 통한 비동기 실행이 지원됩니다. 데이터 수신 및 처리 과정을 따릅니다. 메시지를 통해서만 액세스할 수 있으며 대화 상태가 유지되지 않습니다.

42. EJB 2.0에서 1.1의 CMP 엔터티 기반 클래스의 기본 요구 사항을 작성합니까?

CMP의 기본 요구 사항은 컨테이너가 관계를 관리하는 데 필요한 구현된 메서드를 확장하고 가져오는 추상 클래스입니다.


43. Active Server Pages에서 Enterprise JavaBeans에 어떻게 액세스할 수 있습니까?

Enterprise JavaBeans는 다음을 통해 Active Server Pages에서 액세스할 수 있습니다.

  • '자바 2 플랫폼'
  • J2EETM CAS(Enterprise Edition Client Access Services) COM Bridge 1.0은 현재 Sun Microsystems에서 다운로드되었습니다.

44. 정적 초기화 블록이 있습니다. 적법한 EJB에서?

기술적으로는 합법적이지만 클래스가 인스턴스화될 때 메서드나 생성자의 최종 실행 전에 코드 조각을 실행하는 데 정적 초기화 블록이 사용되었습니다.


45. EJB 2.0 사양에는 어떤 변경이 이루어졌습니까?

EJB 2.0 사양에서 변경된 사항은 다음과 같습니다.

  • JMS는 EJB와 통합됩니다.
  • 메시지 구동 빈.
  • 추가 비즈니스 메소드 구현.

46. ​​EJBDoclet이란 무엇을 의미합니까?

오픈 소스인 JavaDoc Doclet은 EJB 소스 파일에 내장된 Custom JavaDoc의 주석 태그로부터 EJB와 관련된 좋은 내용을 생성하는 Doclet입니다.


47. EJB QL이란 무엇을 의미합니까?

컨테이너 관리 지속성 방법에 의해 정의되고 종속된 엔터프라이즈 Bean과 개체로 구성된 네트워크를 통해 탐색을 제공하는 쿼리 언어입니다. EJB 2.0은 EJB QL 도입을 위한 플랫폼이었습니다. 이는 컨테이너 관리 지속성을 갖고 지속성 관리자와 컨테이너 간 이식성을 갖는 엔터티 Bean에 사용되는 파인더 메소드를 정의합니다. 이는 두 가지 종류의 파인더 메서드, 즉 홈 인터페이스가 있고 엔터티 개체를 반환하는 Finder 메서드에서 유용합니다. 클라이언트가 볼 수 있도록 노출되지 않은 채로 남아 있지만 Bean 제공자가 사용하는 메소드를 선택하십시오.


48. EJB 호출은 어떻게 이루어지나요?

홈 개체 참조는 JNDI를 통해 네이밍 서비스에서 검색됩니다. 홈 개체 참조가 클라이언트에 반환됩니다. 단계는 다음과 같습니다.

  • 홈 객체 인터페이스를 통해 새로운 EJB 객체를 생성했습니다.
  • Ejb 개체에서 EJB 개체를 생성했습니다.
  • 클라이언트에 EJB 객체 참조를 반환했습니다.
  • EJB 객체 참조를 사용하여 비즈니스 메소드를 호출합니다.
  • Bean(Enterprise Bean)에 위임을 요청했습니다.

49. CMP에서 하나 이상의 테이블을 매핑할 수 있습니까?

아니요. 단일 CMP에 두 개 이상의 테이블을 매핑할 수 없습니다.


50. 엔터티 빈이 () 메소드를 생성하도록 허용됩니까?

네, Java 애플리케이션을 이용하여 데이터를 삽입하지 않는 경우에는 허용됩니다.

이 인터뷰 질문은 당신의 비바(구술)에도 도움이 될 것입니다.

공유

댓글을 남겨주세요.

귀하의 이메일 주소는 공개되지 않습니다. *표시항목은 꼭 기재해 주세요. *