24 Câu Hỏi Phỏng Vấn Hibernate Là Gì Trong Vị Trí Java Developer

Tin Tức

Java là ngôn ngữ lập trình phổ biến và được sử dụng nhiều trong lĩnh vực lập trình và ứng dụng. Các nhà phát triển Java luôn cố gắng để tìm các khung framework tốt nhất cho dự án lập trình của họ. HIbernate framework hiện đang được chú ý trong cộng đồng lập trình. Nếu bạn đang thắc mắc Hibernate là gì trong Java? Và những câu hỏi phỏng vấn về Hibernate trong vị trí Java Developer. Hãy tiếp tục đọc.

Ở đây, tôi sẽ trình bày những thông tin về Hibernate là gì trong Java và những câu hỏi vè Hibernate cho vị trí nhà phát triển Java. Khi đọc xong bài chia sẻ này, bạn sẽ có những kiến thức tổng quan về Hibernate là gì.

Hãy bắt đầu với các câu hỏi phỏng vấn Hibernate bằng cách xem qua Hibernate.

Bạn đã biết Hibernate là gì chưa?

Bạn đã biết Hibernate là gì chưa?

TÓM TẮT

Hibernate Là Gì Và Tại Sao Chúng Ta Nên Quan Tâm?

Như đã đề cập, Hibernate là một framework trong Java, một giải pháp ORM (Object Relational Mapping) mã nguồn mở, gọn nhẹ. Hibernate giúp đơn giản hoá sự phát triển của ứng dụng Java để tương tác với cơ sở dữ liệu.…

Hibernate giúp tạo các đối tượng độc lập với phần mềm cơ sở dữ liệu và phát triển logic bền vững dễ dàng hơn. Nói một cách đơn giản, Hibernate là một công cụ miễn phí tạo điều kiện cho các tương tác giữa ứng dụng và cơ sở dữ liệu.

Bây giờ chúng ta hãy bắt đầu với các câu hỏi và câu trả lời phỏng vấn Hibernate cơ bản.

Câu Hỏi Phỏng Vấn HIbernate Cơ Bản

Hãy bắt đầu với các nguyên tắc cơ bản trong các câu hỏi phỏng vấn Hibernate này. 8 câu hỏi đầu tiên liên quan đến Hibernate này bao gồm những điều cơ bản đơn giản ở cấp độ đầu vào.

Xem Ngay Bài Viết  Top 9 phần mềm giải toán cao cấp lý tưởng dành cho sinh viên

1. Công cụ ORM là gì?

ORM là công cụ ánh xạ quan hệ đối tượng, giúp đơn giản hóa việc tạo, thao tác và truy cập dữ liệu bằng cách sử dụng nội bộ API Java để tương tác với cơ sở dữ liệu. Đó là một kỹ thuật ánh xạ (mapping object) các đối tượng được lưu trữ trong cơ sở dữ liệu.

2. “Nhẹ” nghĩa là gì?

Như đã đề cập, Hibernate là một công cụ gọn nhẹ. Vậy “nhẹ” ở đây có nghĩa là gì? Trong ngữ cảnh của máy tính, “nhẹ” mô tả một ứng dụng, chương trình máy tính hoặc thiết bị không sử dụng nhiều tài nguyên hệ thống.  Do đó, nó có dung lượng bộ nhớ nhỏ (RAM) và mức sử dụng CPU thấp.

3. Ưu điểm của Hibernate là gì?

Dưới đây là danh sách nhiều ưu điểm của Hibernate:

  • Nó nhanh
  • Nó nhẹ và mã nguồn mở
  • Nó làm giảm độ dài mã, loại bỏ mã viết sẵn, giải phóng các nhà phát triển cho các nhiệm vụ khác
  • Nó củng cố mối quan hệ cấp độ đối tượng
  • Nó tạo điều kiện cho việc tạo ra các truy vấn cơ sở dữ liệu độc lập
  • Nó cung cấp tài nguyên để tạo bảng tự động
  • Thật dễ dàng tích hợp với các khuôn khổ Java Enterprise Edition (EE) khác.

4. Tại sao Hibernate lại tốt hơn Java Database Connectivity (JDBC)?

Hibernate vượt trội hơn JDBC vì:

  • Mã Hibernate rõ ràng hơn và dễ đọc hơn nhờ việc loại bỏ mã boiler-plate – một thứ được tìm thấy trong JDBC
  • Không giống như API JDBC, Hibernate hỗ trợ các liên kết, tập hợp và kế thừa
  • HQL (Ngôn ngữ truy vấn Hibernate) gần với Java hơn và hướng đối tượng hơn
  • Các nhà phát triển không cần phải viết mã để lưu trữ và tải dữ liệu vào cơ sở dữ liệu
  • Hibernate cho phép phát triển ứng dụng nhanh hơn

5. Persistence là gì?

Trong ngữ cảnh của Java, tính kiên trì mô tả dữ liệu và các đối tượng tồn tại lâu hơn quá trình được sử dụng để tạo ra chúng.

6. Kể tên một số cơ sở dữ liệu mà Hibernate hỗ trợ.

Hibernate hỗ trợ các cơ sở dữ liệu như:

  • DB2 / NT
  • FrontBase
  • Công cụ cơ sở dữ liệu HSQL
  • Máy chủ động Informix
  • Cơ sở dữ liệu Microsoft SQL Server
  • MySQL
  • Oracle
  • PostgreSQL
  • Máy chủ SQL
  • Sybase

7. HQL là gì?

HQL là viết tắt của Hibernate Query Language, một ngôn ngữ hướng đối tượng mạnh mẽ độc lập với cơ sở dữ liệu. Nó giống như SQL, ngoại trừ việc nó sử dụng các đối tượng thay vì tên bảng. HQL là một ngôn ngữ truy vấn rất đơn giản, được sử dụng để thực hiện các hoạt động khác nhau trên cơ sở dữ liệu quan hệ mà không cần đến các truy vấn cơ sở dữ liệu phức tạp.

8. Đặt tên cho bốn mức ORM trong Hibernate.

Bốn cấp độ ORM của Hibernate là:

  • Ánh xạ toàn bộ đối tượng
  • Lập bản đồ đối tượng ánh sáng
  • Ánh xạ đối tượng trung bình
  • Quan hệ thuần túy

Sau khi xem xét 8 câu hỏi phỏng vấn Hibernate là gì cơ bản, hãy xem mức độ cao hơn với các câu hỏi ở mức trung cấp.

Câu hỏi phỏng vấn Hibernate trình độ trung cấp

Hãy đẩy mức độ khó lên một vài khía cạnh với bộ tám câu hỏi và câu trả lời phỏng vấn Hibernate thử thách vừa phải này.

Tám câu hỏi và câu trả lời phỏng vấn Hibernate thử thách vừa phải

Tám câu hỏi và câu trả lời phỏng vấn Hibernate thử thách vừa phải

9. Đặt tên cho năm kiểu tập hợp của Hibernate được sử dụng trong ánh xạ mối quan hệ một-nhiều.

Năm loại tập hợp là:

  • Array
  • Bag
  • List
  • Map
  • Set
Xem Ngay Bài Viết  TÊN MIỀN LÀ GÌ? NHỮNG VẤN ĐỀ LIÊN QUAN TỚI TÊN MIỀN

10. “Dirty Checking” là gì?

Tính năng dirty checking giúp các nhà phát triển và người dùng tránh các thao tác ghi mất thời gian. Do đó giảm thời gian ghi cơ sở dữ liệu. Dirty checking chỉ thay đổi hoặc cập nhật các trường yêu cầu hành động, trong khi giữ nguyên các trường còn lại và không bị thay đổi.

11. Dịch vụ bộ nhớ đệm mặc định của Hibernate là gì?

Dịch vụ bộ nhớ đệm mặc định của Hibernate là EHCache, mặc dù framework hỗ trợ thêm OSCache, SWARMCache và TreeCache.

12. Light Object Mapping là gì?

Light Object Mapping là một trong những mức chất lượng ORM có giá trị hơn. Cách tiếp cận này sử dụng các mẫu thiết kế cụ thể để ẩn cú pháp khỏi logic nghiệp vụ. Tất cả các thực thể được biểu diễn dưới dạng các lớp và được ánh xạ thủ công. Phương pháp Light Object Mapping hoạt động tốt với các ứng dụng có ít thực thể hơn và ứng dụng sử dụng mô hình dữ liệu theo hướng siêu dữ liệu.

13. Liệt kê và mô tả các giao diện thiết yếu của Hibernate framework.

Các giao diện quan trọng của Hibernate là:

  • SessionFactory. SessionFactory là một bộ đệm an toàn theo luồng không thể thay đổi của các ánh xạ đã biên dịch dành cho một cơ sở dữ liệu duy nhất. Sau khi người dùng khởi tạo SessionFactory một lần, họ có thể lưu vào bộ nhớ cache và sử dụng lại nó. SessionFactory được thiết kế để trả về các đối tượng phiên cho các hoạt động cơ sở dữ liệu.
  • Session. Session là một đối tượng đơn luồng, tồn tại ngắn hạn, đại diện cho một cuộc đối thoại giữa kho lưu trữ liên tục và ứng dụng. Nó là giao diện tồn tại giữa khung Hibernate và mã ứng dụng Java, cung cấp các phương thức cho các hoạt động CRUD. Một Session chỉ nên được mở khi được yêu cầu, sau đó đóng lại ngay sau khi người dùng kết thúc.
  • Transaction. Transaction là một đối tượng đơn luồng, tồn tại trong thời gian ngắn mà ứng dụng sử dụng để chỉ định các đơn vị nguyên tử của công việc.

14. Lazy loading là gì?

Lazy loading là một kỹ thuật trong đó các đối tượng được tải khi cần thiết, thay vì toàn bộ trang. Kỹ thuật này đã trở thành mặc định kể từ phiên bản Hibernate 3.

15. Các chiến lược đồng thời là gì?

Chiến lược đồng thời là những người trung gian chịu trách nhiệm lưu trữ và truy xuất các mục được lưu trong bộ nhớ cache. Khi bật bộ đệm ẩn cấp hai, nhà phát triển phải quyết định triển khai đồng thời bộ đệm nào cho mỗi lớp và bộ sưu tập liên tục.

Các chiến lược đồng thời là:

  • Không nghiêm ngặt-Đọc-Ghi: Chiến lược này hoạt động với dữ liệu có thể được thay đổi và có thể chấp nhận một cơ hội nhỏ dữ liệu cũ. Chiến lược này không đảm bảo tính nhất quán giữa cơ sở dữ liệu và bộ nhớ cache.
  • Chỉ đọc: Chiến lược này hoạt động tốt nhất với dữ liệu không thể thay đổi và do đó, chỉ được sử dụng để tham chiếu dữ liệu.
  • Giao dịch: Chiến lược này được sử dụng chủ yếu cho dữ liệu hầu như chỉ đọc trong các trường hợp cần thiết để ngăn chặn dữ liệu cũ trong các giao dịch đồng thời, trong những trường hợp cập nhật hiếm hoi.
  • Đọc-Viết: Chiến lược này giống như chiến lược giao dịch.

16. Xác định framework trình xác nhận của Hibernate.

Xác thực dữ liệu là một phần không thể thiếu của bất kỳ ứng dụng nào và được sử dụng trong lớp trình bày khi sử dụng JavaScript và mã phía máy chủ trước khi xử lý. Xác thực là một nhiệm vụ xuyên suốt xảy ra trước khi làm cho nó trở nên bền bỉ để nó tuân theo đúng định dạng.

Xem Ngay Bài Viết  Front-End Là Gì? Giải Mã Toàn Tập Về Front-End Developer

>>> Đọc thêm về JavaScript.

Bây giờ chúng ta đã tìm hiểu một số câu hỏi phỏng vấn Hibernate là gì cấp độ trung cấp. Tiếp theo chúng ta hãy tăng mức độ khó và xem xét một số câu hỏi và câu trả lời phỏng vấn Hibernate là gì cấp độ nâng cao.

Câu hỏi phỏng vấn Hibernate ở trình độ nâng cao

Tôi sẽ cung cấp thêm cho bạn bộ 8 câu hỏi phỏng vấn Hibernate để bạn có cái nhìn sâu sắc nhất về nó.

17. Hibernate framework sử dụng những mẫu thiết kế nào?

Một số mẫu thiết kế bao gồm:

  • Data Mapper – di chuyển dữ liệu giữa các đối tượng và cơ sở dữ liệu, giữ chúng độc lập với nhau và trình ánh xạ
  • Domain Model – một mô hình đối tượng miền kết hợp cả hành vi và dữ liệu
  • Proxy Pattern – để tải chậm
  • Factory pattern trong SessionFactory

18. Điều chỉnh Hibernate là gì?

Quá trình điều chỉnh Hibernate được thiết kế để tối ưu hóa hiệu suất của các ứng dụng Hibernate. Ba chiến lược là:

  • Tối ưu hóa SQL
  • Quản lý phiên
  • Bộ nhớ đệm dữ liệu

19. Kể tên các trạng thái mà một thực thể tồn tại lâu dài.

Các thực thể liên tục chỉ tồn tại ở ba trạng thái:

  • Transient
  • Persistent
  • Detached

20. Bạn có thể xem SQL do Hibernate tạo trên bảng điều khiển bằng cách nào?

Để cho phép xem SQL trên bảng điều khiển cho mục đích gỡ lỗi, bạn phải thêm phần sau vào tệp cấu hình Hibernate:

1 <property name = “show_sql”> true </property>

21. Sự khác biệt giữa Session và SessionFactory là gì?

Một Session cung cấp bộ nhớ đệm cấp đầu tiên và là một đối tượng đơn luồng, tồn tại trong thời gian ngắn. SessionFactory cung cấp bộ đệm ẩn cấp hai và không thể thay đổi và được chia sẻ bởi tất cả các Session. Nó tồn tại trong khi Hibernate đang chạy.

22. Có bao nhiêu cách để tìm nạp một đối tượng từ cơ sở dữ liệu của Hibernate?

Có bốn cách để tìm nạp các đối tượng từ cơ sở dữ liệu của Hibernate:

  • Criteria API
  • HQL
  • Định danh
  • Tiêu chuẩn SQL

23. Có bao nhiêu cách bạn có thể vô hiệu hóa bộ nhớ đệm cấp hai của Hibernate?

Có ba cách để tắt bộ nhớ cache:

  • Bằng cách đặt chế độ ngủ đông. bộ nhớ đệm. thuộc tính use_second_level_cache thành false
  • Bằng cách sử dụng CACHEMODE.IGNORE
  • Sử dụng nhà cung cấp bộ nhớ đệm như org.hibernate.cache.NoCacheProvider

24. Mô tả sự khác biệt giữa các trạng thái transient, persistent, and detached của Hibernate.

Đây là cách các trạng thái khác nhau:

  • Transient – Trạng thái này mô tả các đối tượng mới được tạo trong Java nhưng không được liên kết với phiên Hibernate.
  • Persistentì – Trạng thái này mô tả các đối tượng được liên kết với một phiên Hibernate.
  • Detached – Trạng thái này mô tả một đối tượng trước đây là cố định và được liên kết với một session Hibernate. Các nhà phát triển có thể đính kèm lại đối tượng vào một session Hibernate bằng cách sử dụng update () hoặc saveOrUpdate ().

Cuối Cùng

Như vậy, tôi đã đề cập đến cả những điều cơ bản như Hibernate là gì và những câu hỏi phỏng vấn Hibernate trong Java cho các nhà phát triển và lập trình viên có kinh nghiệm. Với hướng dẫn này, tôi hy vọng bạn đã có nắm được những câu hỏi từ cơ bản đến nâng cao trong cuộc phỏng vấn liên quan đến Hibernate.
Rate this post

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *