50 câu hỏi phỏng vấn J2EE hàng đầu (2025)
Câu hỏi phỏng vấn J2EE & Trả lời
Dưới đây là những câu hỏi phỏng vấn J2EE và câu trả lời dành cho cả ứng viên mới và ứng viên có kinh nghiệm để có được công việc mơ ước của mình.
1) J2EE là gì?
J2EE có nghĩa là Java 2 Enterprise Edition. Chức năng của J2EE là phát triển các ứng dụng web đa tầng. Nền tảng J2EE bao gồm một tập hợp các dịch vụ, giao diện lập trình ứng dụng (API) và giao thức.
Tải xuống PDF miễn phí: Câu hỏi và câu trả lời phỏng vấn J2EE
2) Bốn thành phần của ứng dụng J2EE là gì?
- Các thành phần của ứng dụng khách.
- Công nghệ Servlet và JSP là các thành phần web.
- Thành phần kinh doanh (JavaBeans).
- Các thành phần bộ điều hợp tài nguyên
3) Có những loại máy khách J2EE nào?
- Applet
- Ứng dụng khách hàng
- Máy khách hỗ trợ Java Web Start bằng công nghệ Java Web Start.
- Máy khách không dây, dựa trên công nghệ MIDP.
4) Thế nào được coi là thành phần web?
Các thành phần công nghệ Java Servlet và Java Server Pages là các thành phần web. Servlet là ngôn ngữ lập trình Java tiếp nhận yêu cầu và phản hồi một cách động. Các trang JSP thực thi như servlet nhưng cho phép tiếp cận tự nhiên hơn để tạo nội dung tĩnh.
5) JSF là gì?
Các khuôn mặt máy chủ Java (JSF) là một giao diện người dùng (UI) thiết kế khuôn khổ cho các ứng dụng web Java. JSF cung cấp một bộ các thành phần UI có thể tái sử dụng, một tiêu chuẩn cho các ứng dụng web. JSF dựa trên mẫu thiết kế MVC. Nó tự động lưu dữ liệu biểu mẫu vào máy chủ và điền ngày biểu mẫu khi hiển thị trên phía máy khách.
6) Định nghĩa bảng Hash
HashTable giống như Hash Map, Collection có cặp khóa (Unique), giá trị. Hashtable là một đối tượng được đồng bộ hóa của Collection. Nó không cho phép các giá trị trùng lặp hoặc giá trị null.
7) Hibernate là gì?
Ngu suốt mùa đông là một dịch vụ truy vấn và ánh xạ quan hệ đối tượng nguồn mở. Trong hibernate, chúng ta có thể viết HQL thay vì SQL giúp các nhà phát triển tiết kiệm thời gian hơn khi phải viết SQL gốc.
Hibernate có liên kết, kế thừa, đa hình, hợp thành và bộ sưu tập mạnh mẽ hơn. Đây là một cách tiếp cận tuyệt vời để lưu trữ vào cơ sở dữ liệu bằng cách sử dụng các đối tượng Java. Hibernate cũng cho phép bạn thể hiện các truy vấn bằng cách sử dụng các tiêu chí dựa trên Java.
8) Hạn chế của chế độ ngủ đông là gì?
- Chậm hơn khi thực hiện các truy vấn so với các truy vấn được sử dụng trực tiếp.
- Chỉ hỗ trợ ngôn ngữ truy vấn cho khóa tổng hợp.
- Không có tham chiếu chung nào tới các loại giá trị.
9) Ưu điểm của chế độ ngủ đông là gì?
- Hibernate có tính di động, ý tôi là không phụ thuộc vào cơ sở dữ liệu và nhà cung cấp.
- ORM chuẩn cũng hỗ trợ JPA
- Ánh xạ đối tượng Domain vào cơ sở dữ liệu quan hệ.
- Ngủ đông tốt hơn là đơn giản JDBC.
- Nhà cung cấp JPA trong các ứng dụng dựa trên JPA.
10) ORM là gì?
ORM là viết tắt của Object-Relational mapping. Các đối tượng trong một lớp Java được ánh xạ vào các bảng của cơ sở dữ liệu quan hệ bằng cách sử dụng siêu dữ liệu mô tả ánh xạ giữa các đối tượng và cơ sở dữ liệu. Nó hoạt động bằng cách chuyển đổi dữ liệu từ một biểu diễn này sang một biểu diễn khác.
11) Sự khác biệt giữa save và saveorupdate
- tiết kiệm() – Phương pháp này trong Hibernate được sử dụng để lưu trữ một đối tượng trong cơ sở dữ liệu. Nó chèn một mục nhập nếu bản ghi không tồn tại, nếu không thì không.
- lưuhoặccập nhật () -Phương pháp này trong hibernate được sử dụng để cập nhật đối tượng bằng cách sử dụng định danh. Nếu định danh bị thiếu, phương pháp này sẽ gọi save(). Nếu định danh tồn tại, nó sẽ gọi phương pháp cập nhật.
12) Sự khác nhau giữa phương thức load và get?
- tải() không tìm thấy đối tượng từ bộ nhớ đệm hoặc cơ sở dữ liệu, một ngoại lệ sẽ được đưa ra và phương thức load() không bao giờ trả về giá trị null.
- đượcPhương thức () trả về null nếu không tìm thấy đối tượng. Phương thức load() có thể trả về proxy thay vì một thể hiện cố định thực sự get() không bao giờ trả về proxy.
13) Làm thế nào để gọi một thủ tục được lưu trữ trong chế độ ngủ đông?
{ ? = call thisISTheProcedure() }
14) Lợi ích của ORM là gì?
- Hiệu suất
- Khả năng bảo trì
- HIỆU QUẢ
- Sự độc lập của nhà cung cấp
15) Giao diện cốt lõi của Hibernate framework là gì?
- Giao diện phiên
- Giao diện SessionFactory
- Giao diện cấu hình
- Giao diện giao dịch
- Giao diện truy vấn và tiêu chí
16) Phần mở rộng tệp được sử dụng cho tệp ánh xạ hibernate là gì?
Tên của tệp phải như thế này: filename.hbm.xml
17) Tên tệp cấu hình hibernate là gì?
Tên của tệp phải như thế này: hibernate.cfg.xml
18) Giải thích tại sao Hibernate không phụ thuộc vào cơ sở dữ liệu?
Chỉ có thể thay đổi toàn bộ thuộc tính của cơ sở dữ liệu mới có thể thay thế được.
<property name="hibernate.dialect">org.hibernate.dialect.Oracle9Dialect</property> and <property name="hibernate.connection.driver_class">oracle.jdbc.driver.OracleDriver</property>
19) Làm thế nào để thêm tệp ánh xạ Hibernate vào tệp cấu hình Hibernate?
Qua
20) Định nghĩa kết nối nhóm?
Connection pooling là một cơ chế tái sử dụng kết nối chứa số lượng kết nối đối tượng đã được tạo. Vì vậy, bất cứ khi nào cần thiết cho một đối tượng, cơ chế này được sử dụng để lấy các đối tượng mà không cần tạo đối tượng đó.
21) Proxy Hibernate là gì?
Proxy đối tượng chỉ là một cách để tránh việc truy xuất đối tượng cho đến khi bạn cần nó. Hibernate 2 không proxy đối tượng theo mặc định.
22) Bạn tạo SessionFactory để làm gì?
Configuration cfg = new Configuration(); cfg.addResource("dir/hibernate.hbm.xml"); cfg.setProperties( System.getProperties() ); SessionFactory sessions = cfg.buildSessionFactory();
23) HQL là gì?
HQL là viết tắt của Hibernate Query Language. Hibernate cho phép người dùng thể hiện các truy vấn trong phần mở rộng SQL di động của nó và được gọi là HQL. Nó cũng cho phép người dùng thể hiện trong SQL gốc.
24) Các kiểu Collection trong Hibernate là gì?
Đặt, Liệt kê, Mảng, Map, Bag là kiểu bộ sưu tập trong Hibernate.
25) Thin client là gì?
Máy khách mỏng là giao diện chương trình cho ứng dụng không có bất kỳ hoạt động nào như truy vấn cơ sở dữ liệu, thực thi các quy tắc kinh doanh phức tạp hoặc kết nối với các ứng dụng cũ.
26) Phân biệt giữa các file .ear, .jar và .war.
Các tệp .jar: Các tệp này có phần mở rộng .jar. Các tệp .jar chứa các tệp thư viện, tài nguyên và phụ kiện như tệp thuộc tính.
Các tập tin .war: Các tập tin này có phần mở rộng .war. Tập tin .war chứa JSP, HTML, javascript và các tệp khác cần thiết cho việc phát triển các ứng dụng web.
.tệp tai: Tệp .ear chứa các mô-đun EJB của ứng dụng.
27) Thẻ JSP là gì?
Trong JSP, thẻ có thể được chia thành bốn loại khác nhau.
- Chỉ thị
- Tuyên bố
- Các tập lệnh
- Biểu thức
28) Làm thế nào để truy cập các tham số khởi tạo web.xml từ trang JSP?
Ví dụ: nếu bạn có:
Nhận dạng đây là giá trị
Bạn có thể truy cập vào tham số này
Id: <h:outputText value="#{initParam['Id']}"/>
29) Chỉ thị JSP là gì?
- 1.Chỉ thị trang <%@page language="java" %>
- 2. Chỉ thị include: <%@ include file="/header.jsp" %>
- 3. Chỉ thị taglib <%@ taglib uri=”tlds/taglib.tld” prefix=”html” %>
30) File EAR là gì?
Tệp EAR là tệp JAR có phần mở rộng .ear. Ứng dụng J2EE với tất cả các mô-đun của nó được cung cấp trong tệp EAR.
31) Điều gì sẽ xảy ra khi bạn biên dịch và chạy đoạn mã sau?
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 là gì?
Struts framework là kiến trúc Model-View-Controller (MVC) dùng để thiết kế các ứng dụng quy mô lớn. Nó là sự kết hợp của Java Servlet, JSP, thẻ Custom và message. Struts giúp bạn tạo ra một môi trường phát triển có thể mở rộng cho ứng dụng của mình, dựa trên các tiêu chuẩn đã công bố và các mẫu thiết kế đã được chứng minh. Model trong nhiều ứng dụng biểu diễn trạng thái bên trong của hệ thống dưới dạng một hoặc nhiều JavaBean. Xem thường được xây dựng bằng công nghệ JavaServer Pages (JSP). Controller tập trung vào việc tiếp nhận yêu cầu từ máy khách và tạo ra giai đoạn tiếp theo của giao diện người dùng cho thành phần View phù hợp. Thành phần chính của Controller trong khuôn khổ là một servlet của lớp ActionServlet.
Servlet này được cấu hình bằng cách xác định một tập hợp ActionMappings.
33) ActionErrors là gì?
Đối tượng ActionErrors đóng gói mọi lỗi xác thực đã được tìm thấy. Nếu không tìm thấy lỗi nào, trả về null hoặc đối tượng ActionErrors không có thông báo lỗi nào được ghi lại. Triển khai mặc định cố gắng chuyển tiếp đến phiên bản HTTP của phương thức này. Giữ tham số yêu cầu ánh xạ và yêu cầu và trả về tập hợp các lỗi xác thực, nếu xác thực không thành công; một tập hợp rỗng hoặc null
34) ActionForm là gì?
ActionForm là một Java bean liên kết một hoặc nhiều ActionMapping. Một Java bean trở thành FormBean khi mở rộng lớp org.apache.struts.action.ActionForm. Đối tượng ActionForm được tự động điền vào phía máy chủ mà dữ liệu đã được khách hàng nhập từ UI. ActionForm duy trì trạng thái phiên cho một ứng dụng web.
35) Bản đồ hành động là gì?
Trong ánh xạ hành động, chúng tôi chỉ định lớp hành động cho URL cụ thể tức là đường dẫn và chế độ xem mục tiêu khác nhau tức là chuyển tiếp đến nơi mà phản hồi yêu cầu sẽ được chuyển tiếp. Bản đồ hành động đại diện cho thông tin mà Hành độngServlet biết về việc ánh xạ một yêu cầu cụ thể tới một thể hiện của một Hoạt động lớp học. Các lập bản đồ được chuyển cho hành hình() phương pháp của Hoạt động lớp, cho phép truy cập trực tiếp vào thông tin này.
36) MVC trên Struts là gì?
VMC viết tắt của Model-View-Controller.
Mô hình:Mô hình trong nhiều ứng dụng biểu diễn trạng thái bên trong của hệ thống dưới dạng một hoặc nhiều JavaBean.
Xem: Các Xem thường được xây dựng bằng công nghệ JavaServer Pages (JSP).
Người điều khiển: Controller tập trung vào việc tiếp nhận yêu cầu từ máy khách và tạo ra giai đoạn tiếp theo của giao diện người dùng cho thành phần View phù hợp. Thành phần chính của Controller trong khuôn khổ là một servlet của lớp ActionServlet.
Servlet này được cấu hình bằng cách xác định một tập hợp ActionMappings.
37) Có những mô-đun nào trong mùa xuân?
Có bảy mô-đun cốt lõi vào mùa xuân
- Mô-đun chứa lõi
- Mô-đun ánh xạ O/R (Đối tượng/Quan hệ)
- Mô-đun DAO
- Mô-đun bối cảnh ứng dụng
- Lập trình hướng theo khía cạnh
- mô-đun web
- Mô-đun MVC
38) Bean Factory là gì, bạn đã sử dụng XMLBean Factory chưa?
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) Mùa xuân là gì?
Spring là một khuôn khổ mã nguồn mở nhẹ dùng để phát triển ứng dụng doanh nghiệp, giải quyết tính phức tạp của quá trình phát triển ứng dụng doanh nghiệp, đồng thời cung cấp một khuôn khổ gắn kết cho quá trình phát triển ứng dụng J2EE, chủ yếu dựa trên mô hình thiết kế IOC (đảo ngược điều khiển) hoặc DI (tiêm phụ thuộc).
40) Chức năng của ActionServlet và RequestProcessor là gì?
- Nhận HttpServletRequest
- Điền JavaBean từ các tham số yêu cầu
- Hiển thị phản hồi trên trang web Các vấn đề
- Xử lý các vấn đề về loại nội dung
- Cung cấp điểm mở rộng
41) Các lớp ActionServlet, RequestProcessor và Action là các thành phần của
Người điều khiển
42) Phạm vi mặc định trong Spring là gì?
độc thân.
43) Ưu điểm của việc sử dụng Spring là gì?
- Lập trình dựa trên Pojo cho phép tái sử dụng thành phần.
- Cải thiện năng suất và sau đó giảm chi phí phát triển.
- Có thể sử dụng Dependency Injection để cải thiện khả năng kiểm thử.
- Spring yêu cầu các dịch vụ doanh nghiệp mà không cần đến máy chủ ứng dụng đắt tiền.
- Nó làm giảm sự liên kết trong mã và cải thiện khả năng bảo trì.
44) Lợi ích của Spring Framework là gì?
- Container nhẹ
- Spring có thể sắp xếp hiệu quả các đối tượng ở tầng giữa của bạn
- Khởi tạo thuộc tính dễ dàng. Không cần phải đọc từ tệp thuộc tính
- mã ứng dụng dễ dàng hơn nhiều để kiểm tra đơn vị
- Đối tượng được tạo theo kiểu Lazily, Singleton – cấu hình
- Dịch vụ quản lý cấu hình của Spring có thể được sử dụng trong bất kỳ lớp kiến trúc nào, trong bất kỳ môi trường thời gian chạy nào
45) Giao diện vòng đời trong Spring?
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) Làm thế nào để tạo đối tượng mà không sử dụng từ khóa “new” trong Java?
Nếu không có new, các phương thức Factory được sử dụng để tạo các đối tượng cho một lớp. Ví dụ
Lịch c=Calender.getInstance();
Ở đây Calender là một lớp và phương thức getInstance() là phương thức Factory có thể tạo đối tượng cho lớp Calendar.
47) Servlet là gì?
Servlet là một thành phần phía máy chủ cung cấp một cơ chế mạnh mẽ để phát triển các chương trình phía máy chủ. Servlet là một máy chủ, cũng như các Servlet độc lập với nền tảng và được thiết kế cho nhiều giao thức khác nhau. Các giao thức HTTP được sử dụng phổ biến nhất. Servlet sử dụng các lớp trong các gói java javax.servlet, javax.servlet.http.HttpServletRequest, javax.servlet.http.HttpServletResponse, javax.servlet.http.HttpSession;. Tất cả các servlet phải triển khai giao diện Servlet, giao diện này định nghĩa các phương thức vòng đời.
48) Servlet có phải là đối tượng Java thuần túy hay không?
Đúng vậy, đối tượng Java thuần túy.
49) Các giai đoạn của vòng đời servlet là gì?
Vòng đời của servlet bao gồm các giai đoạn sau:
- Đang tải lớp Servlet
- Khởi tạo Servlet
- phương pháp init
- Xử lý yêu cầu (gọi phương thức dịch vụ)
- Xóa khỏi dịch vụ (gọi phương thức destroy)
50) Tất cả Servlet phải triển khai những gì?
Giao diện Servlet phải được triển khai bởi tất cả các servlet
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
6) Định nghĩa bảng Hash
HashTable giống như Hash Map, Collection có cặp khóa (Unique), giá trị. Hashtable là một đối tượng được đồng bộ hóa. Nó không cho phép các giá trị trùng lặp “nhưng cho phép các giá trị null”.
Câu lệnh này nói rằng cho phép giá trị null là không đúng, bảng băm không chấp nhận khóa null hoặc giá trị null.
Đã sửa lỗi
cảm ơn…
Đây không hẳn là J2EE Qns. Chúng được pha trộn với sự nhấn mạnh nhiều hơn vào công nghệ Spring & Hibernate. Có lẽ bạn có thể cân nhắc đổi tên tiêu đề hoặc thêm nhiều JEE Qns hơn.
Đây là một hướng dẫn hữu ích