Đề thi, bài tập trắc nghiệm online Lập trình javaĐề 13 – Bài tập, đề thi trắc nghiệm online Lập trình java Đăng vào 2 Tháng 5, 2026 bởi admin Đề 13 – Bài tập, đề thi trắc nghiệm online Lập trình java Đề 13 – Bài tập, đề thi trắc nghiệm online Lập trình java Số câu30Quiz ID10868 Làm bài Câu 1 1. Trong Java, từ khóa nào được sử dụng để tạo một thể hiện (instance) của một lớp (class)? A A. class B B. new C C. instanceof D D. object Câu 2 2. Kiểu dữ liệu nguyên thủy nào trong Java được sử dụng để lưu trữ một giá trị logic (đúng hoặc sai)? A A. int B B. char C C. boolean D D. string Câu 3 3. Phương thức `main()` trong Java có vai trò gì? A A. Định nghĩa lớp B B. Điểm bắt đầu thực thi của chương trình C C. Khai báo biến toàn cục D D. Xử lý ngoại lệ Câu 4 4. Trong lập trình hướng đối tượng Java, tính chất nào cho phép một lớp con kế thừa các thuộc tính và phương thức từ lớp cha? A A. Đóng gói (Encapsulation) B B. Đa hình (Polymorphism) C C. Kế thừa (Inheritance) D D. Trừu tượng (Abstraction) Câu 5 5. Giao diện (interface) trong Java khác với lớp trừu tượng (abstract class) ở điểm nào? A A. Giao diện có thể chứa các phương thức có thân, lớp trừu tượng thì không B B. Một lớp có thể kế thừa nhiều giao diện, nhưng chỉ có thể kế thừa một lớp trừu tượng C C. Lớp trừu tượng có thể chứa biến thành viên, giao diện thì không D D. Cả hai đều hoàn toàn giống nhau và có thể thay thế cho nhau Câu 6 6. Từ khóa `static` trong Java được sử dụng để làm gì? A A. Khai báo biến hằng số B B. Tạo đối tượng có thể thay đổi giá trị C C. Tạo thành viên lớp (class member) thay vì thành viên đối tượng (instance member) D D. Xác định phạm vi truy cập công khai Câu 7 7. Trong xử lý ngoại lệ (exception handling) của Java, khối lệnh nào được sử dụng để chứa mã có thể gây ra ngoại lệ? A A. catch B B. finally C C. throw D D. try Câu 8 8. Phương thức `equals()` trong Java được sử dụng để so sánh cái gì giữa hai đối tượng? A A. Địa chỉ bộ nhớ của hai đối tượng B B. Kiểu dữ liệu của hai đối tượng C C. Giá trị nội dung của hai đối tượng D D. Tham chiếu của hai đối tượng Câu 9 9. Vòng lặp `for-each` (enhanced for loop) trong Java thường được sử dụng để làm gì? A A. Lặp qua các số nguyên liên tiếp B B. Lặp qua các phần tử của một mảng hoặc một tập hợp (collection) C C. Lặp vô hạn cho đến khi có điều kiện dừng D D. Lặp qua các ký tự trong một chuỗi Câu 10 10. Trong Java Collections Framework, `ArrayList` và `LinkedList` khác nhau chủ yếu ở điểm nào? A A. ArrayList hỗ trợ truy cập phần tử ngẫu nhiên nhanh hơn, LinkedList hỗ trợ thêm/xóa phần tử ở đầu/cuối nhanh hơn B B. ArrayList có thể chứa các phần tử trùng lặp, LinkedList thì không C C. LinkedList là một giao diện, ArrayList là một lớp cài đặt D D. ArrayList sử dụng bộ nhớ động, LinkedList sử dụng bộ nhớ tĩnh Câu 11 11. Phương thức `toString()` trong Java được sử dụng để làm gì? A A. Chuyển đổi một đối tượng thành một đối tượng khác B B. Trả về biểu diễn chuỗi (String representation) của một đối tượng C C. So sánh hai đối tượng D D. Kiểm tra kiểu dữ liệu của một đối tượng Câu 12 12. Đâu là cách khai báo một biến hằng số (constant) trong Java? A A. static int CONSTANT_VALUE; B B. final int CONSTANT_VALUE; C C. const int CONSTANT_VALUE; D D. immutable int CONSTANT_VALUE; Câu 13 13. Trong Java, lớp `String` là? A A. Kiểu dữ liệu nguyên thủy B B. Lớp bất biến (immutable) C C. Lớp trừu tượng D D. Giao diện Câu 14 14. Phương thức `super()` trong Java được sử dụng để làm gì? A A. Gọi phương thức của lớp hiện tại B B. Gọi phương thức hoặc constructor của lớp cha C C. Tạo một đối tượng mới của lớp cha D D. Truy cập biến static của lớp cha Câu 15 15. Trong Java, cơ chế Garbage Collection (thu gom rác) hoạt động như thế nào? A A. Người lập trình phải tự giải phóng bộ nhớ thủ công B B. JVM tự động giải phóng bộ nhớ không còn được tham chiếu đến C C. Bộ nhớ được giải phóng khi chương trình kết thúc D D. Garbage Collection chỉ hoạt động khi bộ nhớ đầy Câu 16 16. Đâu là một ví dụ về Design Pattern (mẫu thiết kế) thuộc nhóm Creational Patterns? A A. Singleton B B. Observer C C. Strategy D D. Template Method Câu 17 17. Annotation `@Override` trong Java được sử dụng để làm gì? A A. Khai báo một biến static B B. Chỉ định rằng một phương thức đang ghi đè (override) một phương thức từ lớp cha C C. Tạo một giao diện (interface) D D. Đánh dấu một phương thức là private Câu 18 18. Luồng (Thread) trong Java là gì? A A. Một chương trình Java hoàn chỉnh B B. Một đường dẫn thực thi tuần tự trong một chương trình C C. Một loại biến đặc biệt D D. Một thư viện hỗ trợ nhập/xuất dữ liệu Câu 19 19. Serialization trong Java là quá trình? A A. Chuyển đổi dữ liệu sang định dạng XML B B. Chuyển đổi một đối tượng thành một luồng byte để lưu trữ hoặc truyền tải C C. Mã hóa dữ liệu để bảo mật D D. Nén dữ liệu để tiết kiệm dung lượng Câu 20 20. JDBC (Java Database Connectivity) được sử dụng để làm gì? A A. Xây dựng giao diện người dùng đồ họa (GUI) B B. Kết nối và tương tác với cơ sở dữ liệu C C. Phát triển ứng dụng web phía máy chủ D D. Quản lý bộ nhớ trong Java Câu 21 21. Trong Java, `HashMap` hoạt động dựa trên nguyên tắc nào? A A. Cây nhị phân tìm kiếm B B. Bảng băm (Hash table) C C. Danh sách liên kết D D. Mảng động Câu 22 22. Web Server (ví dụ: Tomcat) có vai trò gì trong ứng dụng web Java? A A. Biên dịch mã Java thành bytecode B B. Cung cấp môi trường để chạy các ứng dụng web Java (ví dụ: Servlet, JSP) C C. Quản lý cơ sở dữ liệu cho ứng dụng web D D. Xử lý giao diện người dùng (frontend) của ứng dụng web Câu 23 23. JSP (JavaServer Pages) được sử dụng để làm gì trong phát triển web Java? A A. Xây dựng logic nghiệp vụ (business logic) của ứng dụng B B. Tạo ra nội dung web động bằng cách nhúng mã Java vào trang HTML C C. Quản lý phiên (session) người dùng D D. Xử lý các yêu cầu HTTP Câu 24 24. Spring Framework là gì trong Java? A A. Một thư viện để thiết kế giao diện người dùng đồ họa B B. Một framework ứng dụng toàn diện để phát triển ứng dụng Java doanh nghiệp C C. Một công cụ để quản lý cơ sở dữ liệu D D. Một ngôn ngữ lập trình mới dựa trên Java Câu 25 25. Maven hoặc Gradle là công cụ gì trong phát triển Java? A A. Trình biên dịch Java B B. Công cụ quản lý build và dependency (phụ thuộc) C C. IDE (Integrated Development Environment) D D. Công cụ kiểm thử đơn vị (unit testing) Câu 26 26. Trong Java, `Lambda Expression` (biểu thức Lambda) được giới thiệu từ phiên bản nào? A A. Java 5 B B. Java 7 C C. Java 8 D D. Java 11 Câu 27 27. Stream API trong Java 8 được sử dụng chủ yếu cho mục đích gì? A A. Xử lý giao diện người dùng đồ họa B B. Xử lý dữ liệu dạng luồng (collections) một cách hiệu quả và biểu cảm C C. Kết nối cơ sở dữ liệu D D. Quản lý bộ nhớ Câu 28 28. Giả sử bạn có một lớp `Dog` kế thừa từ lớp `Animal`. Nếu bạn tạo một đối tượng `Dog` và gán nó cho một biến kiểu `Animal`, bạn có thể gọi phương thức `bark()` (chỉ có ở lớp `Dog`) thông qua biến `Animal` này không? A A. Có, vì `Dog` là một loại `Animal` B B. Không, vì biến kiểu `Animal` chỉ biết đến các phương thức của lớp `Animal` C C. Chỉ khi phương thức `bark()` được khai báo là `public` trong lớp `Dog` D D. Chỉ khi lớp `Animal` là một lớp trừu tượng Câu 29 29. Trong một ứng dụng web Java sử dụng Servlet, phạm vi (scope) nào của biến phiên (session) là rộng nhất? A A. Request scope B B. Page scope C C. Session scope D D. Application scope Câu 30 30. Cho đoạn code Java sau: `int[] numbers = {1, 2, 3, 4, 5}; System.out.println(numbers[5]);`. Đoạn code này sẽ gây ra lỗi gì khi chạy? A A. Lỗi biên dịch (Compilation error) B B. Lỗi thời gian chạy (Runtime error) - ArrayIndexOutOfBoundsException C C. Lỗi logic (Logic error) - in ra giá trị sai D D. Không có lỗi, chương trình chạy bình thường Đề 12 – Bài tập, đề thi trắc nghiệm online Chi tiết máy Đề 14 – Bài tập, đề thi trắc nghiệm online Ngữ pháp lý thuyết tiếng Anh