50 câu hỏi phỏng vấn EJB hàng đầu và câu trả lời (2025)
Dưới đây là những câu hỏi và câu trả lời phỏng vấn EJB dành cho cả người mới vào nghề cũng như ứng viên lập trình viên có kinh nghiệm để có được công việc mơ ước của mình.
1. EJB là gì?
Một thành phần phía máy chủ quản lý kiến trúc để hạn chế các ứng dụng doanh nghiệp và được quản lý được gọi là Enterprise JavaBeans (EJB).
2. EJB được phát triển khi nào?
EJB được IBM phát triển vào năm 1997.
Tải xuống PDF miễn phí: Câu hỏi và câu trả lời phỏng vấn EJB
3. Ai là người tiếp quản EJB?
EJB đã được Sun Microsystems tiếp quản vào năm 1999.
4. Liệt kê các loại Enterprise Beans?
Đó là:
- Bean phiên: Được mở rộng thành “Stateful”, “Stateless” và “Singleton”, giao diện Từ xa hoặc Cục bộ được sử dụng để truy cập các tệp EJB.
- Bean điều khiển bằng tin nhắn (MDB): Thực hiện không đồng bộ bằng mô hình nhắn tin được hỗ trợ.
5. Entity Bean là gì?
Entity Beans được trình bày trong các phiên bản trước của EJB bao gồm dữ liệu liên tục trong các đối tượng phân tán.
6. Liệt kê các loại Giao dịch khai báo?
Đó là:
- BẮT BUỘC:
- YÊU CẦU
- YÊU CẦU_MỚI
- H SUP TRỢ
- KHÔNG_HỖ_TRỢ
- KHÔNG BAO GIỜ
7. Có những phiên bản nào của EJB?
- EJB 3.1
- EJB 3.2
- Bản phát hành cuối cùng của EJB 3.2 (2013-05-28)
- Bản phát hành cuối cùng của EJB 3.1 (2009-12-10)
- Bản phát hành cuối cùng của EJB 3.0 (2006-05-11)
- EJB 2.1, Bản phát hành cuối cùng (2003-11-24)
- Bản phát hành cuối cùng của EJB 2.0 (2001-08-22)
- Bản phát hành cuối cùng của EJB 1.1 (1999-12-17)
- EJB 1.0 (1998-03-24)
8. J2EE là gì?
Một tập hợp các thông số kỹ thuật và quy trình được đồng bộ hóa, cho phép các giải pháp liên quan đến việc triển khai, phát triển các ứng dụng tập trung vào máy chủ đa tầng được gọi là J2EE.
9. Liệt kê những thay đổi trong EJB 2.1?
Những thay đổi được thực hiện là:
- Message Driven Beans (MDB): tin nhắn được chấp nhận từ các nguồn khác ngoài JMS.
- Ngôn ngữ truy vấn EJB: Đã thêm các chức năng mới.
- Dịch vụ web được hỗ trợ.
- Dịch vụ hẹn giờ EJB: Cơ chế dựa trên sự kiện để gọi EJB vào những thời điểm cụ thể.
- XML kế hoạch
- Điểm đến tin nhắn
10. Liệt kê nội dung của Container. • Container chứa?
- Hỗ trợ bảo mật: Được sử dụng để cấu hình Deployment Descriptor (DD)
- Hỗ trợ tính bền bỉ: Được sử dụng để duy trì tính bền bỉ trong các giao dịch.
- Hỗ trợ quản lý giao dịch: Được sử dụng để cấu hình Deployment Descriptor (DD)
- Quản lý phiên: Các phương thức gọi lại như ejbStore(), ejbLoad() được sử dụng trong Developer.
- Quản lý vòng đời: Tự động
11. Phân biệt 'Stateful Session' với 'Entity Bean'?
Trong khi cả hai đều trải qua quá trình kích hoạt và thụ động; EB có lệnh gọi lại ejbStore() để lưu trạng thái thông qua thụ động và lệnh gọi lại ejbLoad() để tải trạng thái thông qua kích hoạt. Nhưng trong trường hợp của SS, điều này không cần thiết vì các trường SSB được tuần tự hóa thông qua các đối tượng bằng các container.
12. Loại nào có lợi hơn: Stateful hay Stateless Bean?
Nếu cần trạng thái đàm thoại thì chế độ có trạng thái được ưu tiên trong khi mô hình không trạng thái được ưu tiên cho một quy trình kinh doanh duy nhất.
13. Cái nào có lợi hơn: CMP hay BMP?
Khi liên quan đến ánh xạ “một-một” và dữ liệu được lưu trữ liên tục trong cơ sở dữ liệu khu vực, CMP được ưu tiên. Nhưng khi không có ánh xạ “một-một” và dữ liệu được lấy từ nhiều bảng có truy vấn phức tạp, Bean Managed Persistence được sử dụng.
14. Tính nhất quán được duy trì như thế nào bởi Stateful Session thông qua các cập nhật giao dịch?
Tính nhất quán của dữ liệu được duy trì bằng cách cập nhật các trường dữ liệu mỗi khi có cam kết giao dịch.
15. Phương thức ejbCreate() có bắt buộc khi định nghĩa Session Bean không?
EjbCreate() là một phần của vòng đời của bean, do đó, phương thức ejbCreate() không bắt buộc phải có và sẽ không có lỗi nào được trình biên dịch trả về.
16. Định nghĩa bối cảnh?
Đây là phương pháp liên kết tên với một đối tượng cụ thể bằng cách cung cấp giao diện như javax.naming.Context.
17. Định nghĩa bối cảnh ban đầu?
Triển khai các phương thức có sẵn trong giao diện ngữ cảnh như ngữ cảnh có tên là javax.meaning.InitialContext.
18. Định nghĩa SessionContext ?
Đối tượng EJBContext, SessionContext được sử dụng để truy cập thông tin và dịch vụ chứa.
19. Remove() có thể là một Stateless Session Bean không?
Có, remove() có thể là một bean phiên không trạng thái vì vòng đời của nó vẫn giữ nguyên cho đến khi phương thức được thực thi.
20. Trạng thái có được duy trì bởi stateless bean không?
Bean không trạng thái chứa trạng thái không dành riêng cho máy khách thông qua các phương thức do máy khách gọi.
21. EJB có thể xử lý nhiều giao dịch được không?
EJB có thể xử lý nhiều giao dịch bằng cách cho phép nhiều Entity Bean xử lý mọi cơ sở dữ liệu và một Session Bean duy trì giao dịch với Entity Bean.
22. Sử dụng phương thức CallBack của 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. Sử dụng các phương thức CallBack của 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. Làm thế nào để gọi một EJB từ bên trong một EJB khác?
Có thể gọi EJB trong EJB khác bằng cách sử dụng JNDI, có thể dùng để định vị Giao diện Trang chủ và lấy phiên bản.
25. Phân biệt tương tác đàm thoại và tương tác không đàm thoại?
Tương tác giữa máy khách và bean được gọi là tương tác đàm thoại trong khi tương tác đa phương thức không diễn ra với máy khách được gọi là tương tác phi đàm thoại.
26. Định nghĩa ejb Create() và EjbPostCreate()?
Khi phương thức được gọi trước khi lưu trữ bền vững được ghi bằng trạng thái bean, thì đó là ejbCreate().
Khi phương thức được gọi sau khi bộ nhớ lưu trữ bền bỉ được ghi với trạng thái bean, thì đó là ejbPostCreate().
27. Định nghĩa EAR, WAR và JAR?
Tệp JAR chứa tất cả các lớp EJB.
Các tệp WAR chứa tất cả các servlet, các trang thành phần web, gif, html, đậu, applet, lớp và lớp.
Tệp EAR chứa cả tệp JAR và WAR.
28. Phân biệt Phantom và Un-repeatable?
Khi dữ liệu không tồn tại trước đó được chèn vào, dữ liệu đó được đọc như dữ liệu ảo trong khi khi dữ liệu đã tồn tại bị thay đổi, dữ liệu không thể lặp lại được.
29. Định nghĩa tính chất ACID?
ACID là tính nguyên tử, tính nhất quán, tính cô lập và tính bền vững.
- Tính nguyên tử: Các hoạt động được gom lại với nhau và được chiếu thành một đơn vị công việc duy nhất.
- Tính nhất quán: Đảm bảo tính nhất quán sau khi giao dịch diễn ra.
- Cô lập: Giúp bảo vệ việc xem các kết quả giao dịch chưa hoàn thành đồng thời khác.
- Độ bền: Đảm bảo độ bền bằng cách lưu nhật ký chuyển tiếp trong đó dữ liệu vĩnh viễn có thể được tạo lại bằng cách áp dụng lại các bước liên quan.
30. Ý bạn là gì khi nói đến “Triển khai nóng”?
Hành động triển khai lại, triển khai và hủy triển khai trong logic Web khi máy chủ đang chạy trong EJB được gọi là Triển khai nóng.
31. Làm thế nào để cấu hình một bean phiên cho các giao dịch được quản lý bởi bean?
Có thể thực hiện bằng cách thiết lập thuộc tính giao dịch trong khu vực triển khai hoặc tệp XML.
32. Liệt kê các công nghệ được áp dụng trong J2EE.
Các công nghệ được áp dụng trong J2EE là:
- JavaBeansTM doanh nghiệp (EJBsTM)
- Trang JavaServerTM (JSPsTM)
- Java Servlet
- Giao diện đặt tên và thư mục JavaTM (JNDITM)
- Giao dịch Java API (JTA)
- CORBA
- API truy cập dữ liệu JDBCTM.
33. Ý bạn là container Enterprise JavaBeans (EJB) phải không?
Bộ chứa Enterprise JavaBeans giúp quản lý việc triển khai các ứng dụng enterprise bean của J2EE.
34. Ý bạn là sao chép trong bộ nhớ là gì?
Khi nội dung có bộ nhớ của một m/c vật lý duy nhất được mô phỏng trong tất cả m/c trong cụm đó, quá trình đó được gọi là sao chép bộ nhớ.
35. Định nghĩa hiệu ứng gợn sóng?
Trong thời gian chạy, khi những thay đổi được thực hiện trong các thuộc tính khác nhau của nhóm máy chủ được lan truyền đến mọi bản sao liên quan, quá trình này được gọi là Hiệu ứng gợn sóng.
36. Định nghĩa bản sao?
Bản sao nhóm máy chủ được định nghĩa là bản sao. Nhưng không giống như Nhóm máy chủ, bản sao được liên kết bằng các nút.
37. Bạn muốn nói gì khi nói đến giao dịch được quản lý bằng bean?
Nếu nhà phát triển không muốn sử dụng Container để quản lý các giao dịch, mọi hoạt động của cơ sở dữ liệu đều có thể được triển khai để viết phù hợp. JDBC Mã.
38. Phân biệt “tìm phương thức” với “chọn phương thức” trong EJB?
Một trường liên tục được trả về bởi phương thức select của một bean thực thể có liên quan. Một giao diện từ xa hoặc cục bộ được trả về bởi phương thức finder.
39. Bạn muốn nói gì khi nói đến lược đồ trừu tượng?
Một thành phần của mô tả triển khai bean của thực thể xác định các trường liên tục của bean và mối quan hệ tồn tại giữa chúng được gọi là Abstract Schema. Nó dành riêng cho từng bean thực thể có quản lý tính liên tục của container.
40. Bạn có ý gì khi nói đến re-entrant? Bạn có thể nói rằng session bean là re-entrant không? Có thể chỉ định entity bean là re-entrant không?
Nếu entity bean được định nghĩa là có thể nhập lại, thì nhiều máy khách có thể liên kết với Entity bean và thực hiện các phương thức đồng thời bên trong entity bean. Đồng bộ hóa được thực hiện bởi container. Có một ngoại lệ được đưa ra khi một entity beam được định nghĩa là không thể nhập lại và nhiều máy khách được kết nối với nó đồng thời để thực hiện một phương thức.
41. Bạn muốn nói gì về kiến trúc EJB?
Một thành phần không trực quan liên quan đến ứng dụng doanh nghiệp phân tán, hướng giao dịch được gọi là Enterprise bean. Chúng thường được triển khai trong các container của EJB và chạy trên các máy chủ của EJB.
Ba loại bean doanh nghiệp là:
- Session Beans: Các enterprise bean này không bền vững và có thể không có trạng thái hoặc có trạng thái. Nếu cần trạng thái đàm thoại thì chế độ Stateful được ưu tiên trong khi mô hình Stateless được ưu tiên cho một quy trình kinh doanh duy nhất.
- Entity Beans: Entity Beans được trình bày trong các phiên bản trước của EJB bao gồm dữ liệu liên tục trong các đối tượng phân tán. Chúng có khả năng được lưu trong các kho dữ liệu liên tục khác nhau.
- Message Driven Beans: Thực hiện không đồng bộ bằng phương pháp mô hình nhắn tin được hỗ trợ. Thực hiện theo quy trình tiếp nhận và xử lý dữ liệu. Chúng chỉ được truy cập thông qua tin nhắn và không duy trì trạng thái đàm thoại.
42. Viết yêu cầu cơ bản của lớp dựa trên thực thể CMP trong 2.0 từ EJB 1.1?
Yêu cầu cơ bản của CMP là một lớp trừu tượng mà container mở rộng và triển khai các phương thức cần thiết để quản lý các mối quan hệ.
43. Làm thế nào để truy cập Enterprise JavaBeans từ Active Server Pages?
Có thể truy cập Enterprise JavaBeans từ Active Server Pages bằng cách:
- 'Nền tảng Java 2'
- Enterprise Edition Client Access Services (J2EETM CAS) COM Bridge 1.0 hiện đã được tải xuống từ Sun Microsystems.
44. Có khối khởi tạo tĩnh không pháp lý trong EJB?
Về mặt kỹ thuật thì điều này là hợp pháp, nhưng các khối khởi tạo tĩnh đã được sử dụng để thực thi các đoạn mã trước khi thực thi cuối cùng bất kỳ phương thức hoặc hàm tạo nào khi một lớp được khởi tạo.
45. Những thay đổi nào đã được thực hiện trong thông số kỹ thuật EJB 2.0?
Những thay đổi đã được thực hiện trong đặc tả EJB 2.0 là:
- JMS được tích hợp với EJB.
- Bean điều khiển bằng tin nhắn.
- Triển khai các phương pháp kinh doanh bổ sung.
46. Ý bạn là EJBDoclet nghĩa là gì?
JavaDoc doclet, một mã nguồn mở là một doclet tạo ra những nội dung hữu ích liên quan đến EJB từ các thẻ chú thích của JavaDoc tùy chỉnh, được nhúng trong tệp nguồn của EJB.
47. Ý bạn là EJB QL là gì?
Một ngôn ngữ truy vấn cung cấp khả năng điều hướng qua mạng lưới bao gồm các bean doanh nghiệp và các đối tượng phụ thuộc và được xác định bởi các phương pháp của sự bền bỉ được quản lý bởi container. EJB 2.0 là nền tảng để giới thiệu EJB QL. Nó xác định các phương pháp của finder được sử dụng cho các bean thực thể, có sự bền bỉ được quản lý bởi container và có khả năng di chuyển giữa các trình quản lý bền bỉ và container. Nó hữu ích trong hai loại phương pháp finder: Phương pháp Finder, có giao diện Home và trả về các đối tượng của thực thể. Phương pháp Select, vẫn chưa được hiển thị để máy khách nhìn thấy nhưng nhà cung cấp Bean sử dụng.
48. Việc gọi EJB diễn ra như thế nào?
Tham chiếu Home Object được lấy từ Naming Service qua JNDI. Tham chiếu Home Object được trả về cho máy khách. Các bước là:
- Tạo một đối tượng EJB mới thông qua giao diện Đối tượng Trang chủ.
- Tạo một đối tượng EJB từ đối tượng Ejb.
- Trả về tham chiếu đối tượng EJB cho máy khách.
- Gọi phương thức kinh doanh bằng cách sử dụng tham chiếu đối tượng EJB.
- Yêu cầu ủy quyền cho Bean (Enterprise Bean).
49. Có thể ánh xạ nhiều hơn một bảng trong CMP không?
Không, không thể ánh xạ nhiều hơn một bảng trong một CMP.
50. Các bean thực thể có được phép tạo phương thức () không?
Có, điều này được phép trong trường hợp dữ liệu không được chèn bằng ứng dụng Java.
Những câu hỏi phỏng vấn này cũng sẽ giúp ích cho bài thi viva(orals) của bạn