คำถามและคำตอบสัมภาษณ์ EJB 50 อันดับแรก (2024)
ต่อไปนี้เป็นคำถามและคำตอบในการสัมภาษณ์ EJB สำหรับนักศึกษาใหม่และผู้สมัครนักพัฒนาที่มีประสบการณ์เพื่อรับงานในฝัน
1. EJB คืออะไร?
ส่วนประกอบฝั่งเซิร์ฟเวอร์ซึ่งจัดการสถาปัตยกรรมสำหรับการจำกัดแอปพลิเคชันระดับองค์กรและได้รับการจัดการเรียกว่า Enterprise JavaBeans (EJB)
2. EJB ได้รับการพัฒนาเมื่อใด?
EJB ได้รับการพัฒนาโดย IBM ในปี 1997
ดาวน์โหลด PDF ฟรี: คำถามและคำตอบสัมภาษณ์ EJB
3. ใครเข้ามาดูแล EJB?
EJB ถูกครอบงำโดย Sun Microsystems ในปี 1999
4. สมัครเข้าร่วมประเภท Enterprise Beans?
พวกเขาจะ:
- เซสชันถั่ว: ขยายเป็น "Stateful" "ไร้สัญชาติ" และ "Singleton" อินเทอร์เฟซระยะไกลหรือท้องถิ่นใช้เพื่อเข้าถึงไฟล์ EJB
- ข้อความขับเคลื่อนถั่ว (MDB): รองรับการดำเนินการแบบอะซิงโครนัสโดยใช้กระบวนทัศน์การส่งข้อความ
5. Entity Bean คืออะไร
Entity Beans ถูกนำเสนอใน EJB เวอร์ชันก่อนหน้า ซึ่งประกอบด้วยข้อมูลถาวรในอ็อบเจ็กต์แบบกระจาย
6. สมัครประเภทธุรกรรมที่เปิดเผย?
พวกเขาจะ:
- บังคับ:
- ที่จำเป็น
- REQUIRES_ใหม่
- รองรับ
- NOT_SUPPORTED
- ไม่เคย
7. EJB เวอร์ชันใดบ้าง
- อีเจบี 3.1
- อีเจบี 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)
- อีเจบี 1.0 (1998-03-24)
8. J2EE คืออะไร?
คอลเลกชันของข้อกำหนดเฉพาะและขั้นตอนที่ซิงโครไนซ์ ซึ่งช่วยให้โซลูชันเกี่ยวกับการปรับใช้ การพัฒนาการดูแลแอปพลิเคชันเซิร์ฟเวอร์เป็นศูนย์กลางหลายระดับเรียกว่า เจทูอี.
9. สมัครการเปลี่ยนแปลงใน EJB 2.1 ?
การเปลี่ยนแปลงที่ทำคือ:
- Message Driven Beans (MDB): ข้อความได้รับการยอมรับจากแหล่งอื่นนอกเหนือจาก JMS
- ภาษาแบบสอบถาม EJB: เพิ่มฟังก์ชันใหม่แล้ว
- รองรับบริการเว็บ
- บริการจับเวลา EJB: กลไกตามเหตุการณ์เพื่อเรียกใช้ EJB ในเวลาที่กำหนด
- XML คี
- ปลายทางของข้อความ
10. รวบรวมเนื้อหาของคอนเทนเนอร์ • คอนเทนเนอร์ประกอบด้วย?
- การสนับสนุนด้านความปลอดภัย: ใช้เพื่อกำหนดค่า Deployment Descriptor (DD)
- การสนับสนุนความคงอยู่: ใช้เพื่อเป็นการคงอยู่ในธุรกรรม
- การสนับสนุนการจัดการธุรกรรม: ใช้เพื่อกำหนดค่า Deployment Descriptor (DD)
- การจัดการเซสชัน: วิธีการโทรกลับเช่น ejbStore (), ejbLoad () ถูกนำมาใช้ในนักพัฒนา
- การจัดการวงจรชีวิต: อัตโนมัติ
11. แยกความแตกต่าง 'เซสชันเก็บสถานะ' จาก 'เอนทิตีบีน' หรือไม่
ในขณะที่ทั้งสองได้รับการเปิดใช้งานและการทำทู่ EB มีการโทรกลับ ejbStore () เพื่อบันทึกสถานะผ่านการสร้างฟิล์ม และการโทรกลับ ejbLoad () เพื่อโหลดสถานะผ่านการเปิดใช้งาน แต่ในกรณีของ SS สิ่งนี้ไม่จำเป็น เนื่องจากฟิลด์ SSB จะถูกทำให้เป็นอนุกรมผ่านอ็อบเจ็กต์ตามคอนเทนเนอร์
12. ข้อใดมีประโยชน์มากกว่า: Stateful หรือ Stateless Bean?
หากจำเป็นต้องมีสถานะการสนทนา แนะนำให้ใช้โหมดเก็บสถานะ ในขณะที่กระบวนทัศน์ไร้สัญชาติสำหรับกระบวนการทางธุรกิจเดียว
13. CMP หรือ BMP มีประโยชน์มากกว่ากัน?
เมื่อเกี่ยวข้องกับการแมป "หนึ่งต่อหนึ่ง" และข้อมูลถูกจัดเก็บอย่างต่อเนื่องเป็นฐานข้อมูลระดับภูมิภาค CMP จะถูกเลือกใช้ แต่เมื่อไม่มีการแมป "หนึ่งต่อหนึ่ง" และข้อมูลถูกดึงมาจากตารางจำนวนมากที่มีการสืบค้นที่ซับซ้อน ระบบจะใช้ Bean Managed Persistence
14. Stateful Session จะรักษาความสอดคล้องผ่านการอัพเดตธุรกรรมอย่างไร
ความสอดคล้องของข้อมูลได้รับการดูแลโดยการอัปเดตฟิลด์ทุกครั้งที่มีการทำธุรกรรม
15. ejbCreate () จำเป็นต้องใช้เมธอดขณะกำหนด Session Bean หรือไม่?
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 มีสถานะเฉพาะที่ไม่มีไคลเอ็นต์ผ่านวิธีการที่ไคลเอ็นต์เรียกใช้
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 ()
เมื่อเมธอดถูกเรียกหลังจากเขียนที่เก็บข้อมูลการคงอยู่ด้วยสถานะ bean แล้ว วิธีการดังกล่าวจะเป็น ejbPostCreate ()
27. กำหนด EAR, WAR และ JAR ?
ไฟล์ JAR มีคลาส EJB ทั้งหมด
ไฟล์ WAR ประกอบด้วยเซิร์ฟเล็ต, หน้าส่วนประกอบของเว็บ, gif, HTML, bean, แอปเพล็ต, คลาสและคลาส
ไฟล์ EAR มีทั้งไฟล์ JAR และ WAR
28. แยกแยะ Phantom จากที่ไม่สามารถทำซ้ำได้?
เมื่อข้อมูลที่ไม่เคยมีมาก่อนถูกแทรกเข้าไป ข้อมูลนั้นจะถูกอ่านเป็น Phantom ในขณะที่ข้อมูลที่มีอยู่แล้วมีการเปลี่ยนแปลง ไม่สามารถทำซ้ำได้
29. กำหนดคุณสมบัติของกรด?
กรดคือความเป็นอะตอม ความสม่ำเสมอ การแยกตัว และความทนทาน
- Atomicity: การดำเนินการที่รวมกลุ่มเข้าด้วยกันและฉายงานหน่วยเดียว
- ความสอดคล้อง: รับประกันว่าหลังจากการทำธุรกรรมเกิดขึ้นจะมีความสม่ำเสมอ
- การแยกส่วน: ช่วยปกป้องการดูผลลัพธ์ธุรกรรมอื่นๆ ที่ไม่สมบูรณ์พร้อมๆ กัน
- ความทนทาน: รับประกันความทนทานโดยการเก็บบันทึกการเปลี่ยนผ่านซึ่งข้อมูลถาวรจะถูกสร้างขึ้นใหม่โดยใช้ขั้นตอนที่เกี่ยวข้องอีกครั้ง
30. 'Hot Deployment' หมายความว่าอย่างไร
การปรับใช้ซ้ำ การปรับใช้ และการยกเลิกการปรับใช้ในตรรกะของเว็บเมื่อเซิร์ฟเวอร์ทำงานใน EJB เรียกว่า Hot Deployment
31. session bean สามารถกำหนดค่าสำหรับธุรกรรมของ bean-managed ได้อย่างไร?
สามารถทำได้โดยการตั้งค่าคุณสมบัติธุรกรรมในภาคการปรับใช้หรือไฟล์ XML
32. เข้าร่วมเทคโนโลยีที่นำมาใช้ใน J2EE
เทคโนโลยีที่นำมาใช้ใน J2EE ได้แก่:
- องค์กร JavaBeansTM (EJBsTM)
- JavaServer PagesTM (JSPsTM)
- จาวาเซิร์ฟเล็ต
- Java Naming และ Directory InterfaceTM (JNDITM)
- ธุรกรรม Java API (เจทีเอ)
- คอร์บา
- API การเข้าถึงข้อมูล JDBCTM
33. คุณหมายถึงอะไรคอนเทนเนอร์ Enterprise JavaBeans (EJB)
คอนเทนเนอร์ Enterprise JavaBeans ช่วยในการจัดการการใช้งานแอปพลิเคชัน bean ระดับองค์กรของ J2EE
34. การจำลองแบบในหน่วยความจำหมายถึงอะไร?
เมื่อเนื้อหาที่มีหน่วยความจำของ m/c กายภาพเดียวถูกจำลองใน m/c ทั้งหมดในคลัสเตอร์นั้น กระบวนการนั้นเรียกว่าการจำลองหน่วยความจำ
35. กำหนดเอฟเฟกต์ระลอกคลื่น?
ในระหว่างรันไทม์ เมื่อการเปลี่ยนแปลงที่ทำในคุณสมบัติต่างๆ ของกลุ่มเซิร์ฟเวอร์ถูกเผยแพร่ในทุกโคลนที่เกี่ยวข้อง กระบวนการนี้เรียกว่า Ripple Effect
36. กำหนดโคลน?
สำเนาของกลุ่มเซิร์ฟเวอร์ถูกกำหนดให้เป็นโคลน แต่แตกต่างจากกลุ่มเซิร์ฟเวอร์ตรงที่โคลนถูกเชื่อมโยงกันโดยใช้โหนด
37. ธุรกรรมที่จัดการโดย bean หมายความว่าอย่างไร?
หากนักพัฒนาไม่ต้องการให้คอนเทนเนอร์จัดการธุรกรรม การดำเนินการฐานข้อมูลทุกรายการสามารถนำไปใช้เพื่อเขียนสิ่งที่เหมาะสมได้ เจดีบีซี รหัส.
38. แยกความแตกต่าง “find a method” จาก “select method” ใน EJB ?
ฟิลด์ถาวรจะถูกส่งกลับโดยวิธีการเลือกของถั่วเอนทิตีที่เกี่ยวข้อง อินเทอร์เฟซระยะไกลหรือท้องถิ่นจะถูกส่งกลับโดยวิธีการค้นหา
39. สคีมาเชิงนามธรรมหมายถึงอะไร?
องค์ประกอบของตัวอธิบายการปรับใช้ของ bean ของเอนทิตีที่กำหนดฟิลด์ถาวรของ bean และความสัมพันธ์ที่มีอยู่ระหว่างสิ่งเหล่านั้นเรียกว่า Abstract Schema เป็นข้อมูลเฉพาะสำหรับเอนทิตี bean แต่ละตัวซึ่งมีการจัดการการคงอยู่ของคอนเทนเนอร์
40. การกลับเข้ามาใหม่หมายความว่าอย่างไร? คุณสามารถพูดได้ว่า session bean เป็นผู้กลับเข้ามาใหม่ได้ไหม? Entity Bean สามารถระบุเป็นผู้กลับเข้ามาใหม่ได้หรือไม่
หากเอนทิตี bean ถูกกำหนดให้เป็นผู้เข้าร่วมใหม่ ก็เป็นไปได้โดยไคลเอนต์หลายรายที่จะเชื่อมโยงกับเอนทิตี bean และรับวิธีการดำเนินการพร้อมกันภายในเอนทิตีบีน การซิงโครไนซ์ได้รับการดูแลโดยคอนเทนเนอร์ มีข้อยกเว้นเกิดขึ้นเมื่อลำแสงเอนทิตีถูกกำหนดให้เป็นผู้ไม่เข้ามาใหม่และมีไคลเอ็นต์จำนวนมากเชื่อมต่ออยู่พร้อมๆ กันเพื่อดำเนินการวิธีการ
41. สถาปัตยกรรม EJB คุณหมายถึงอะไร?
ส่วนประกอบที่ไม่ใช่ภาพที่เกี่ยวข้องกับแอปพลิเคชันระดับองค์กรแบบกระจายที่มุ่งเน้นธุรกรรมเรียกว่า Enterprise bean มีการปรับใช้ในลักษณะเฉพาะในคอนเทนเนอร์ของ EJB และทำงานบนเซิร์ฟเวอร์ของ EJB
Enterprise bean ทั้งสามประเภท ได้แก่:
- Session Beans: Enterprise Beans เหล่านี้ไม่คงอยู่ถาวรและอาจไม่มีสถานะหรือไม่มีสถานะ หากจำเป็นต้องมีสถานะการสนทนา แนะนำให้ใช้โหมดเก็บสถานะ ในขณะที่กระบวนทัศน์ไร้สัญชาติสำหรับกระบวนการทางธุรกิจเดียว
- Entity Beans: Entity Beans ถูกนำเสนอใน EJB เวอร์ชันก่อนหน้า ซึ่งประกอบด้วยข้อมูลถาวรในอ็อบเจ็กต์แบบกระจาย พวกเขามีความสามารถในการบันทึกในที่เก็บข้อมูลถาวรต่างๆ
- Message Driven Beans: รองรับการดำเนินการแบบอะซิงโครนัสโดยใช้กระบวนทัศน์การส่งข้อความ ปฏิบัติตามกระบวนการรับและประมวลผลข้อมูล เข้าถึงได้ผ่านข้อความเท่านั้นและไม่ได้รักษาสถานะการสนทนาไว้
42. เขียนข้อกำหนดพื้นฐานของคลาสตามเอนทิตี CMP ใน 2.0 จาก EJB 1.1 หรือไม่
ข้อกำหนดพื้นฐานของ CMP คือคลาสนามธรรมซึ่งคอนเทนเนอร์ขยายและรับวิธีการนำไปใช้ที่จำเป็นสำหรับการจัดการความสัมพันธ์
43. Enterprise JavaBeans สามารถเข้าถึงได้จาก Active Server Pages ได้อย่างไร?
Enterprise JavaBeans สามารถเข้าถึงได้จาก Active Server Pages โดย:
- 'แพลตฟอร์ม Java 2'
- Enterprise Edition Client Access Services (J2EETM CAS) COM Bridge 1.0 ซึ่งปัจจุบันดาวน์โหลดจาก Sun Microsystems
44. กำลังมีบล็อกตัวเริ่มต้นแบบคงที่ ถูกกฎหมาย ในอีเจบี?
ถือเป็นเรื่องถูกกฎหมายในทางเทคนิค แต่มีการใช้บล็อก Initializer แบบคงที่ในการรันโค้ดบางส่วนก่อนดำเนินการขั้นสุดท้ายของเมธอดหรือ Constructor ใดๆ เมื่อคลาสถูกสร้างอินสแตนซ์
45. ข้อมูลจำเพาะของ EJB 2.0 มีการเปลี่ยนแปลงอะไรบ้าง?
การเปลี่ยนแปลงที่เกิดขึ้นในข้อกำหนด EJB 2.0 คือ:
- JMS ถูกรวมเข้ากับ EJB
- ข้อความขับเคลื่อนถั่ว
- การนำวิธีการทางธุรกิจเพิ่มเติมไปใช้
46. EJBDoclet คุณหมายถึงอะไร?
JavaDoc doclet ซึ่งเป็นโอเพ่นซอร์สคือ doclet ที่สร้างสิ่งดีๆ ที่เกี่ยวข้องกับ EJB จากแท็กความคิดเห็นของ JavaDoc แบบกำหนดเอง ซึ่งฝังอยู่ในไฟล์ต้นฉบับของ EJB
47. EJB QL คุณหมายถึงอะไร
ภาษาคิวรีที่ให้การนำทางผ่านเครือข่ายที่ประกอบด้วย Enterprise Bean และอ็อบเจ็กต์ซึ่งขึ้นอยู่กับและกำหนดโดยวิธีการคงอยู่ของการจัดการคอนเทนเนอร์ EJB 2.0 เป็นแพลตฟอร์มสำหรับการแนะนำ EJB QL มันกำหนดวิธีการของตัวค้นหาที่ใช้สำหรับเอนทิตี bean ซึ่งมีการคงอยู่ที่มีการจัดการคอนเทนเนอร์และมีการเคลื่อนย้ายข้ามตัวจัดการการคงอยู่และคอนเทนเนอร์ ซึ่งจะมีประโยชน์ในวิธีการค้นหาสองประเภท: วิธีการค้นหา ซึ่งมีอินเทอร์เฟซหลักและส่งคืนออบเจ็กต์ของเอนทิตี เลือกวิธีการซึ่งยังคงไม่ถูกเปิดเผยเพื่อให้ไคลเอนต์ดูแต่วิธีที่ผู้ให้บริการ Bean ใช้
48. การร้องขอ EJB เกิดขึ้นได้อย่างไร?
การอ้างอิงโฮมออบเจ็กต์ถูกดึงมาจาก Naming Service ผ่าน JNDI การอ้างอิงวัตถุหน้าแรกจะถูกส่งกลับไปยังไคลเอนต์ ขั้นตอนคือ:
- สร้างวัตถุ EJB ใหม่ผ่านอินเทอร์เฟซ Home Object
- สร้างวัตถุ EJB จากวัตถุ Ejb
- ส่งคืนการอ้างอิงวัตถุ EJB ไปยังไคลเอนต์
- เรียกใช้วิธีการทางธุรกิจโดยใช้การอ้างอิงวัตถุ EJB
- ผู้รับมอบสิทธิ์ร้องขอไปยัง Bean (Enterprise Bean)
49. สามารถแมปมากกว่าหนึ่งตารางใน CMP ได้หรือไม่
ไม่ได้ ไม่สามารถแมปมากกว่าหนึ่งตารางใน CMP เดียวได้
50. Entity Bean ได้รับอนุญาตให้สร้าง () วิธีการหรือไม่?
ได้ อนุญาตในกรณีที่ไม่ได้แทรกข้อมูลโดยใช้แอปพลิเคชัน Java
คำถามสัมภาษณ์เหล่านี้จะช่วยในวีว่าของคุณ (วาจา)