คำถามสัมภาษณ์ J50EE 2 อันดับแรก (2025)
คำถามและคำตอบสัมภาษณ์ J2EE
ต่อไปนี้เป็นคำถามและคำตอบในการสัมภาษณ์ J2EE สำหรับนักศึกษาใหม่และผู้สมัครที่มีประสบการณ์เพื่อให้ได้งานในฝัน
1) J2EE คืออะไร?
J2EE หมายถึง Java 2 Enterprise Edition ฟังก์ชันการทำงานของ J2EE กำลังพัฒนาแอปพลิเคชันบนเว็บหลายระดับ แพลตฟอร์ม J2EE ประกอบด้วยชุดบริการ Application Programming Interfaces (API) และโปรโตคอล
ดาวน์โหลดไฟล์ PDF ฟรี: คำถามและคำตอบสัมภาษณ์ J2EE
2) ส่วนประกอบทั้งสี่ของแอปพลิเคชัน J2EE มีอะไรบ้าง
- ส่วนประกอบไคลเอนต์แอปพลิเคชัน
- เทคโนโลยี Servlet และ JSP เป็นส่วนประกอบของเว็บ
- องค์ประกอบทางธุรกิจ (JavaBeans)
- ส่วนประกอบอะแด็ปเตอร์รีซอร์ส
3) ลูกค้า J2EE ประเภทใดบ้าง
- แอปเพล็
- ไคลเอนต์แอปพลิเคชัน
- ไคลเอ็นต์ที่เปิดใช้งาน Java Web Start โดยเทคโนโลยี Java Web Start
- ไคลเอนต์ไร้สายที่ใช้เทคโนโลยี MIDP
4) สิ่งใดที่ถือเป็นองค์ประกอบของเว็บ?
ส่วนประกอบเทคโนโลยี Java Servlet และ Java Server Pages เป็นส่วนประกอบของเว็บ Servlets เป็นภาษาโปรแกรม Java ที่รับคำขอและตอบกลับแบบไดนามิก หน้า JSP ดำเนินการเป็นเซิร์ฟเล็ต แต่ให้แนวทางที่เป็นธรรมชาติมากขึ้นในการสร้างเนื้อหาคงที่
5) JSF คืออะไร?
JavaServer ใบหน้า (JSF) เป็นส่วนต่อประสานกับผู้ใช้ (UI) การออกแบบเฟรมเวิร์กสำหรับเว็บแอปพลิเคชัน Java JSF จัดเตรียมชุดส่วนประกอบ UI ที่ใช้ซ้ำได้ ซึ่งเป็นมาตรฐานสำหรับเว็บแอปพลิเคชัน JSF ขึ้นอยู่กับรูปแบบการออกแบบ MVC โดยจะบันทึกข้อมูลแบบฟอร์มไปยังเซิร์ฟเวอร์โดยอัตโนมัติและเติมวันที่ของแบบฟอร์มเมื่อแสดงบนฝั่งไคลเอ็นต์
6) กำหนดตารางแฮช
HashTable ก็เหมือนกับ Hash Map, Collection ที่มีคีย์ (ไม่ซ้ำกัน), คู่ค่า Hashtable เป็นคอลเลกชันวัตถุที่ซิงโครไนซ์ ไม่อนุญาตให้ใช้ค่าที่ซ้ำกันหรือค่าว่าง
7) ไฮเบอร์เนตคืออะไร?
จำศีล เป็นบริการการทำแผนที่เชิงวัตถุและแบบสอบถามแบบโอเพ่นซอร์ส ในโหมดไฮเบอร์เนตเราสามารถเขียน HQL แทนได้ SQL ซึ่งช่วยให้นักพัฒนาใช้เวลาในการเขียน Native SQL ได้มากขึ้น
Hibernate มีความสัมพันธ์ที่ทรงพลังมากขึ้น การสืบทอด ความหลากหลาย องค์ประกอบ และคอลเลกชัน เป็นแนวทางที่สวยงามสำหรับการคงอยู่ในฐานข้อมูลโดยใช้อ็อบเจ็กต์ Java ไฮเบอร์เนตยังช่วยให้คุณแสดงการสืบค้นโดยใช้เกณฑ์ที่ใช้ Java ได้
8) ข้อจำกัดของการจำศีลคืออะไร?
- ดำเนินการแบบสอบถามช้ากว่าการใช้แบบสอบถามโดยตรง
- รองรับภาษาคิวรีสำหรับคีย์ผสมเท่านั้น
- ไม่มีการอ้างอิงที่ใช้ร่วมกันกับประเภทค่า
9) ข้อดีของการจำศีลคืออะไร?
- Hibernate เป็นแบบพกพา ฉันหมายถึงฐานข้อมูลที่เป็นอิสระ ความเป็นอิสระของผู้ขาย
- ORM มาตรฐานยังรองรับ JPA
- การแมปออบเจ็กต์โดเมนกับฐานข้อมูลเชิงสัมพันธ์
- ไฮเบอร์เนตดีกว่าธรรมดา เจดีบีซี.
- ผู้ให้บริการ JPA ในแอปพลิเคชันที่ใช้ JPA
10) ออมคืออะไร?
ORM ย่อมาจากการทำแผนที่เชิงวัตถุ ออบเจ็กต์ในคลาส Java ซึ่งแมปลงในตารางของฐานข้อมูลเชิงสัมพันธ์โดยใช้ข้อมูลเมตาที่อธิบายการแมประหว่างออบเจ็กต์และฐานข้อมูล มันทำงานโดยการแปลงข้อมูลจากการแสดงหนึ่งไปยังอีกการแสดงหนึ่ง
11) ความแตกต่างระหว่างบันทึกและบันทึกหรืออัปเดต
- บันทึก() – วิธีการนี้ใน Hibernate ใช้เพื่อจัดเก็บวัตถุในฐานข้อมูล โดยจะแทรกรายการหากไม่มีบันทึกอยู่ มิฉะนั้นจะไม่มี
- บันทึกหรืออัปเดต () - วิธีการนี้ในไฮเบอร์เนตใช้สำหรับการอัปเดตออบเจ็กต์โดยใช้ตัวระบุ หากตัวระบุหายไปเมธอดนี้จะเรียกบันทึก () หากมีตัวระบุอยู่ก็จะเรียกวิธีการอัปเดต
12) ความแตกต่างระหว่างวิธีการโหลดและรับ?
- โหลด() ไม่พบวัตถุจากแคชหรือฐานข้อมูล มีข้อยกเว้นเกิดขึ้น และเมธอด load() จะไม่ส่งคืนค่าว่าง
- ได้รับ() วิธีการส่งกลับค่าว่างหากไม่พบวัตถุ วิธีการ load() อาจส่งคืนพร็อกซีแทนอินสแตนซ์ถาวรจริง get() จะไม่ส่งคืนพรอกซี
13) จะเรียกใช้ขั้นตอนการจัดเก็บในโหมดไฮเบอร์เนตได้อย่างไร?
{ ? = call thisISTheProcedure() }
14) ORM มีประโยชน์อย่างไร?
- การผลิต
- การบำรุงรักษา
- ประสิทธิภาพ
- ความเป็นอิสระของผู้ขาย
15) อินเทอร์เฟซหลักของเฟรมเวิร์ก Hibernate คืออะไร?
- อินเทอร์เฟซเซสชัน
- อินเทอร์เฟซ SessionFactory
- อินเทอร์เฟซการกำหนดค่า
- อินเทอร์เฟซการทำธุรกรรม
- อินเทอร์เฟซแบบสอบถามและเกณฑ์
16) นามสกุลไฟล์ที่ใช้สำหรับไฟล์การแมปไฮเบอร์เนตคืออะไร?
ชื่อของไฟล์ควรเป็นดังนี้: filename.hbmXML
17) ชื่อไฟล์ของไฟล์กำหนดค่าไฮเบอร์เนตคืออะไร?
ชื่อของไฟล์ควรเป็นดังนี้: hibernate.cfg.xml
18) ฐานข้อมูล Hibernate เป็นอิสระอธิบายอย่างไร
เฉพาะการเปลี่ยนแปลงฐานข้อมูลแบบเต็มคุณสมบัติเท่านั้นที่สามารถเปลี่ยนได้
<property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property> and <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
19) จะเพิ่มไฟล์การแมปไฮเบอร์เนตในไฟล์คอนฟิกูเรชันไฮเบอร์เนตได้อย่างไร?
โดย
20) กำหนดการรวมการเชื่อมต่อ?
การรวมการเชื่อมต่อเป็นกลไกการนำการเชื่อมต่อกลับมาใช้ใหม่ซึ่งมีจำนวนการเชื่อมต่อออบเจ็กต์ที่สร้างไว้แล้ว ดังนั้นเมื่อใดก็ตามที่จำเป็นสำหรับวัตถุ กลไกนี้จะใช้เพื่อรับวัตถุโดยไม่ต้องสร้างมันขึ้นมา
21) พร็อกซีไฮเบอร์เนตคืออะไร?
พร็อกซีวัตถุเป็นเพียงวิธีหนึ่งในการหลีกเลี่ยงการเรียกค้นวัตถุจนกว่าคุณจะต้องการ Hibernate 2 ไม่ใช่วัตถุพร็อกซีตามค่าเริ่มต้น
22) คุณสร้าง SessionFactory อะไร
Configuration cfg = new Configuration(); cfg.addResource("dir/hibernate.hbm.xml"); cfg.setProperties( System.getProperties() ); SessionFactory sessions = cfg.buildSessionFactory();
23) HQL คืออะไร?
HQL ย่อมาจาก Hibernate Query Language Hibernate อนุญาตให้ผู้ใช้แสดงคำสั่งในส่วนขยาย SQL แบบพกพา ซึ่งเรียกว่า HQL นอกจากนี้ยังอนุญาตให้ผู้ใช้แสดงออกใน Native SQL
24) ประเภทคอลเลกชันใน Hibernate คืออะไร?
ตั้งค่า, รายการ, แถว, Map, Bag เป็นประเภทคอลเลกชันใน Hibernate
25) ธินไคลเอ็นต์คืออะไร?
ธินไคลเอ็นต์เป็นอินเทอร์เฟซโปรแกรมไปยังแอปพลิเคชันที่ไม่มีการดำเนินการใดๆ เช่น การสืบค้นฐานข้อมูล ดำเนินกฎเกณฑ์ทางธุรกิจที่ซับซ้อน หรือเชื่อมต่อกับแอปพลิเคชันรุ่นเก่า
26) แยกความแตกต่างระหว่างไฟล์ .ear, .jar และ .war
ไฟล์ .jar: ไฟล์เหล่านี้มีนามสกุล .jar ไฟล์ .jar ประกอบด้วยไฟล์ไลบรารี ทรัพยากร และอุปกรณ์เสริม เช่น ไฟล์คุณสมบัติ
ไฟล์ .war: ไฟล์เหล่านี้มีนามสกุล .war ไฟล์ .war มี JSP HTML, จาวาสคริปต์ และไฟล์อื่นๆ ที่จำเป็นสำหรับการพัฒนาเว็บแอปพลิเคชัน
ไฟล์ .ear: ไฟล์ .ear มีโมดูล EJB ของแอปพลิเคชัน
27) แท็ก JSP คืออะไร?
ในแท็ก JSP สามารถแบ่งออกเป็นสี่ประเภทที่แตกต่างกัน
- คำแนะนำ
- การประกาศ
- สคริปต์
- การแสดงออก
28) จะเข้าถึงพารามิเตอร์ init ของ web.xml จากหน้า JSP ได้อย่างไร
ตัวอย่างเช่น ถ้าคุณมี:
รหัส นี่คือมูลค่า
คุณสามารถเข้าถึงพารามิเตอร์นี้ได้
Id: <h:outputText value="#{initParam['Id']}"/>
29) คำสั่ง JSP คืออะไร?
- 1.คำสั่งเพจ <%@page language=”java” %>
- 2. รวมคำสั่ง: <%@ รวม file=”/header.jsp” %>
- 3. คำสั่ง taglib <%@ taglib uri=”tlds/taglib.tld” prefix=”html” %>
30) ไฟล์ EAR คืออะไร
ไฟล์ EAR เป็นไฟล์ JAR ที่มีนามสกุล .ear แอปพลิเคชัน J2EE พร้อมโมดูลทั้งหมดจะถูกส่งในรูปแบบไฟล์ EAR
31) จะเกิดอะไรขึ้นเมื่อคุณคอมไพล์และรันโค้ดต่อไปนี้?
public class MyClass { public static void main(String argv[]){ int array[]=new int[]{1,2,3}; System.out.println(array [1]); } } Answer: Compiled and shows output : 2
32) Struts คืออะไร?
เฟรมเวิร์ก Struts เป็นสถาปัตยกรรม Model-View-Controller (MVC) สำหรับการออกแบบแอปพลิเคชันขนาดใหญ่ เป็นการผสมผสานระหว่าง Java Servlets, JSP, แท็กที่กำหนดเอง และข้อความ Struts ช่วยให้คุณสร้างสภาพแวดล้อมการพัฒนาที่ขยายได้สำหรับแอปพลิเคชันของคุณ ตามมาตรฐานที่เผยแพร่และรูปแบบการออกแบบที่ได้รับการพิสูจน์แล้ว โมเดลในแอปพลิเคชั่นจำนวนมากแสดงถึงสถานะภายในของระบบเป็นชุดของ JavaBeans.The หนึ่งชุดขึ้นไป รายละเอียด ส่วนใหญ่มักสร้างขึ้นโดยใช้เทคโนโลยี JavaServer Pages (JSP) คอนโทรลเลอร์มุ่งเน้นไปที่การรับคำขอจากไคลเอนต์และสร้างเฟสถัดไปของอินเทอร์เฟซผู้ใช้ไปยังองค์ประกอบมุมมองที่เหมาะสม องค์ประกอบหลักของคอนโทรลเลอร์ในกรอบงานคือเซิร์ฟเล็ตของคลาส ActionServlet.
เซิร์ฟเล็ตนี้ได้รับการกำหนดค่าโดยการกำหนดชุดของ ActionMappings.
33) ActionErrors คืออะไร?
วัตถุ ActionErrors ที่สรุปข้อผิดพลาดในการตรวจสอบความถูกต้องที่พบ หากไม่พบข้อผิดพลาด ให้ส่งคืนค่า null หรือออบเจ็กต์ ActionErrors โดยไม่มีข้อความแสดงข้อผิดพลาดที่บันทึกไว้ การใช้งานเริ่มต้นจะพยายามส่งต่อไปยังเวอร์ชัน HTTP ของเมธอดนี้ การระงับการแมปพารามิเตอร์คำขอและการร้องขอและส่งกลับชุดของข้อผิดพลาดในการตรวจสอบหากการตรวจสอบล้มเหลว เซตว่างหรือค่าว่าง
34) ActionForm คืออะไร?
ActionForm เป็น Java bean ที่เชื่อมโยง ActionMappings ตั้งแต่หนึ่งรายการขึ้นไป java bean กลายเป็น FormBean เมื่อขยายคลาส org.apache.struts.action.ActionForm วัตถุ ActionForm จะถูกเติมโดยอัตโนมัติบนฝั่งเซิร์ฟเวอร์ซึ่งไคลเอนต์ป้อนข้อมูลจาก UI ActionForm รักษาสถานะเซสชันสำหรับเว็บแอปพลิเคชัน
35) Action Mapping คืออะไร??
ในการแม็ปการดำเนินการ เราระบุคลาสการดำเนินการสำหรับ URL เฉพาะ เช่น เส้นทางและมุมมองเป้าหมายที่แตกต่างกัน เช่น ส่งต่อไปยังคำขอที่ตอบกลับจะถูกส่งต่อ ActionMapping แสดงถึงข้อมูลที่ การดำเนินการServlet รู้เกี่ยวกับการแมปคำขอเฉพาะกับอินสแตนซ์ของคำขอเฉพาะ การกระทำ ชั้นเรียน การทำแผนที่ จะถูกส่งต่อไปยัง ดำเนินการ () วิธีการของ การกระทำ คลาสทำให้สามารถเข้าถึงข้อมูลนี้ได้โดยตรง
36) MVC บนสตรัทคืออะไร?
VMC ย่อมาจาก Model-View-Controller
รุ่น: โมเดลในแอปพลิเคชันจำนวนมากแสดงถึงสถานะภายในของระบบเป็นชุดของ JavaBeans หนึ่งรายการขึ้นไป
รายละเอียด: รายละเอียด มักสร้างขึ้นโดยใช้เทคโนโลยี JavaServer Pages (JSP)
ตัวควบคุม: คอนโทรลเลอร์มุ่งเน้นไปที่การรับคำขอจากไคลเอนต์และสร้างเฟสถัดไปของอินเทอร์เฟซผู้ใช้ไปยังองค์ประกอบมุมมองที่เหมาะสม องค์ประกอบหลักของคอนโทรลเลอร์ในกรอบงานคือเซิร์ฟเล็ตของคลาส ActionServlet.
เซิร์ฟเล็ตนี้ได้รับการกำหนดค่าโดยการกำหนดชุดของ ActionMappings.
37) ฤดูใบไม้ผลิมีโมดูลอะไรบ้าง?
มีโมดูลหลักเจ็ดโมดูลในฤดูใบไม้ผลิ
- โมดูลคอนเทนเนอร์หลัก
- โมดูลการแมป O/R (วัตถุ/เชิงสัมพันธ์)
- โมดูล DAO
- โมดูลบริบทของแอปพลิเคชัน
- การเขียนโปรแกรมเชิงมุมมอง
- โมดูลเว็บ
- โมดูลเอ็มวีซี
38) Bean Factory คืออะไร คุณเคยใช้โรงงาน XMLBean หรือไม่?
XmlBeanFactory is one of the implementation of bean Factory org.springframework.beans.factory.xml.XmlBeanFactory is used to creat bean instance defined in our xml file. BeanFactory factory = new XmlBeanFactory(new FileInputStream("beans.xml")); Or ClassPathResource resorce = new ClassPathResource("beans.xml"); XmlBeanFactory factory = new XmlBeanFactory(resorce);
39) ฤดูใบไม้ผลิคืออะไร?
Spring เป็นเฟรมเวิร์กโอเพ่นซอร์สน้ำหนักเบาสำหรับการพัฒนาแอปพลิเคชันระดับองค์กรที่แก้ไขความซับซ้อนของการพัฒนาแอปพลิเคชันระดับองค์กร อีกทั้งยังมอบเฟรมเวิร์กที่สอดคล้องกันสำหรับการพัฒนาแอปพลิเคชัน J2EE ซึ่งอิงตามรูปแบบการออกแบบ IOC (การผกผันของการควบคุม) หรือ DI (การพึ่งพาการฉีด) เป็นหลัก .
40) ฟังก์ชั่นของ ActionServlet และ RequestProcessor คืออะไร?
- การรับ HttpServletRequest
- การเติม JavaBean จากพารามิเตอร์คำขอ
- การแสดงการตอบกลับปัญหาบนหน้าเว็บ
- การจัดการปัญหาประเภทเนื้อหา
- จัดให้มีจุดขยาย
41) คลาส ActionServlet, RequestProcessor และ Action เป็นส่วนประกอบของ
ตัวควบคุม
42) ขอบเขตเริ่มต้นใน Spring คืออะไร?
ซิงเกิลตัน.
43) ข้อดีของการใช้ Spring คืออะไร?
- การเขียนโปรแกรมแบบ Pojo ช่วยให้สามารถนำส่วนประกอบกลับมาใช้ใหม่ได้
- ปรับปรุงประสิทธิภาพการผลิตและลดต้นทุนการพัฒนาในภายหลัง
- สามารถใช้ Dependency Injection เพื่อปรับปรุงความสามารถในการทดสอบได้
- Spring ต้องการบริการระดับองค์กรโดยไม่ต้องใช้เซิร์ฟเวอร์แอปพลิเคชันราคาแพง
- ลดการมีเพศสัมพันธ์ในโค้ดและปรับปรุงการบำรุงรักษา
44) กรอบผลประโยชน์ Spring Framework คืออะไร?
- ภาชนะที่มีน้ำหนักเบา
- Spring สามารถจัดระเบียบวัตถุระดับกลางของคุณได้อย่างมีประสิทธิภาพ
- การเริ่มต้นคุณสมบัติเป็นเรื่องง่าย ไม่จำเป็นต้องอ่านจากไฟล์คุณสมบัติ
- รหัสแอปพลิเคชันนั้นง่ายกว่ามากในการทดสอบหน่วย
- วัตถุถูกสร้างขึ้น Lazily, Singleton – การกำหนดค่า
- บริการการจัดการการกำหนดค่าของ Spring สามารถใช้ในเลเยอร์สถาปัตยกรรมใดก็ได้ ในสภาพแวดล้อมรันไทม์ใดก็ตาม
45) อินเทอร์เฟซวงจรชีวิตในฤดูใบไม้ผลิ?
1) InitializingBean <bean id="expInitBean" init-method="init"/> public class ExpBean { public void init() { // do some initialization code } } OR <bean id=" expInitBean "/> public class ExpBean implements InitializingBean { public void afterPropertiesSet() { // do some initialization code } } 2) DisposableBean <bean id="expInitBean" destroy-method="cleanup"/> public class ExpBean { public void cleanup() { // do some destruction code (like releasing pooled connections) } } OR <bean id="expInitBean"/> public class ExpBean implements DisposableBean { public void destroy() { // do some destruction code (like releasing pooled connections) } }
46) จะสร้าง Object โดยไม่ต้องใช้คีย์เวิร์ด “new” ใน java ได้อย่างไร?
หากไม่มีวิธีใหม่ เมธอด Factory จะถูกใช้เพื่อสร้างอ็อบเจ็กต์สำหรับคลาส ตัวอย่างเช่น
ปฏิทิน c=Calender.getInstance();
ในที่นี้ Calender คือคลาส และเมธอด getInstance() เป็นเมธอด Factory ซึ่งสามารถสร้างอ็อบเจ็กต์สำหรับคลาส Calendar ได้
47) เซิร์ฟเล็ตคืออะไร?
Servlets เป็นส่วนประกอบฝั่งเซิร์ฟเวอร์ที่ให้กลไกอันทรงพลังสำหรับการพัฒนาโปรแกรมฝั่งเซิร์ฟเวอร์ Servlets เป็นเซิร์ฟเวอร์ เช่นเดียวกับที่ไม่ขึ้นอยู่กับแพลตฟอร์ม และ Servlets ได้รับการออกแบบมาสำหรับโปรโตคอลต่างๆ โปรโตคอล HTTP ที่ใช้บ่อยที่สุด Servlet ใช้คลาสในแพ็คเกจ java javax.servlet, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.http.HttpSession; เซิร์ฟเล็ตทั้งหมดต้องใช้อินเทอร์เฟซ Servlet ซึ่งกำหนดวิธีวงจรชีวิต
48) Servlet เป็นวัตถุ Java ล้วนๆ หรือไม่?
ใช่วัตถุ Java ล้วนๆ
49) วงจรชีวิตของเซิร์ฟเล็ตมีระยะใดบ้าง?
วงจรชีวิตของเซิร์ฟเล็ตประกอบด้วยระยะต่อไปนี้:
- กำลังโหลดคลาสเซิร์ฟเล็ต
- การสร้างอินสแตนซ์ของเซิร์ฟเล็ต
- วิธีการเริ่มต้น
- ร้องขอการจัดการ (โทรติดต่อวิธีการบริการ)
- การถอดถอนออกจากบริการ (เรียกวิธีทำลาย)
50) Servlets ทั้งหมดจะต้องดำเนินการอะไรบ้าง?
เซิร์ฟเล็ตอินเทอร์เฟซจะต้องถูกใช้งานโดยเซิร์ฟเล็ตทั้งหมด
คำถามสัมภาษณ์เหล่านี้จะช่วยในวีว่าของคุณ (วาจา)
6) กำหนดตารางแฮช
HashTable ก็เหมือนกับ Hash Map, Collection ที่มีคีย์ (ไม่ซ้ำกัน), คู่ค่า Hashtable เป็นคอลเลกชันวัตถุ Synchronozed ไม่อนุญาตให้มีค่าซ้ำกัน "แต่อนุญาตให้มีค่าว่าง"
มีการระบุว่าอนุญาตให้มีค่า Null ไม่ถูกต้อง ตารางแฮชไม่ยกเว้นคีย์ Null หรือค่า Null
แก้ไขข้อผิดพลาดแล้ว
ขอบคุณ…
สิ่งเหล่านี้ไม่ใช่ J2EE Qns ที่แม่นยำ พวกมันผสมกันโดยเน้นที่เทคโนโลยี Spring & Hibernate มากขึ้น บางทีคุณอาจพิจารณาเปลี่ยนชื่อเรื่องหรือเพิ่ม JEE Qns เพิ่มเติมได้
มันเป็นบทช่วยสอนที่มีประโยชน์