Đề thi, bài tập trắc nghiệm online Lập trình javaĐề 11 – 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 Đề 11 – Bài tập, đề thi trắc nghiệm online Lập trình java Đề 11 – Bài tập, đề thi trắc nghiệm online Lập trình java Số câu30Quiz ID10866 Làm bài Câu 1 1. Trong Java, từ khóa nào được sử dụng để khai báo một biến hằng số? A A. static B B. final C C. const D D. immutable Câu 2 2. 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. Tham chiếu của hai đối tượng C C. Giá trị nội dung của hai đối tượng D D. Kiểu dữ liệu của hai đối tượng Câu 3 3. Kiểu dữ liệu nguyên thủy nào trong Java dùng để lưu trữ giá trị logic (đúng/sai)? A A. int B B. char C C. boolean D D. string 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. Mục đích chính của từ khóa `static` trong Java là gì? A A. Tạo ra các đối tượng hằng số B B. Khai báo các biến toàn cục C C. Liên kết thành viên với lớp thay vì đối tượng cụ thể D D. Ngăn chặn việc kế thừa lớp Câu 6 6. Giao diện (Interface) trong Java khác với lớp trừu tượng (Abstract Class) ở điểm nào quan trọng nhất? A A. Giao diện có thể chứa các phương thức static, lớp trừu tượng thì không B B. Giao diện có thể chứa các biến instance, lớp trừu tượng thì không C C. Một lớp có thể hiện thực nhiều giao diện, nhưng chỉ có thể kế thừa một lớp trừu tượng D D. Lớp trừu tượng có thể chứa các phương thức private, giao diện thì không Câu 7 7. Trong Java, cơ chế xử lý ngoại lệ (Exception Handling) được thực hiện chủ yếu thông qua các khối lệnh nào? A A. if-else B B. for-loop C C. try-catch-finally D D. switch-case Câu 8 8. Vòng lặp `for-each` (enhanced for loop) trong Java thường được sử dụng để làm gì? A A. Lặp vô hạn cho đến khi có điều kiện dừng B B. Lặp qua các phần tử của một mảng hoặc Collection C C. Lặp với số lần lặp biết trước và cố định D D. Lặp để thực hiện các thao tác nhập/xuất dữ liệu Câu 9 9. Phương thức `main()` trong Java có vai trò gì trong một chương trình? A A. Định nghĩa lớp chính của chương trình B B. Điểm bắt đầu thực thi của chương trình C C. Khai báo các biến toàn cục cho chương trình D D. Xử lý các sự kiện đầu vào từ người dùng Câu 10 10. Trong Java, 'Garbage Collection' là quá trình gì? A A. Thu thập dữ liệu đầu vào không hợp lệ B B. Giải phóng bộ nhớ không còn được sử dụng bởi chương trình C C. Kiểm tra và sửa lỗi cú pháp trong mã nguồn D D. Tối ưu hóa hiệu suất thực thi của chương trình Câu 11 11. Javadoc là công cụ được sử dụng để làm gì trong phát triển Java? A A. Biên dịch mã nguồn Java thành bytecode B B. Gỡ lỗi (debug) chương trình Java C C. Tạo tài liệu API tự động từ mã nguồn Java D D. Quản lý các thư viện và dependencies của dự án Java Câu 12 12. Annotation (chú thích) trong Java có vai trò chính là gì? A A. Thay thế comment thông thường trong mã B B. Cung cấp siêu dữ liệu (metadata) về mã nguồn C C. Tối ưu hóa hiệu suất biên dịch mã D D. Bảo mật mã nguồn khỏi bị sao chép Câu 13 13. Trong Java, 'constructor' là gì? A A. Một phương thức đặc biệt dùng để hủy đối tượng B B. Một khối lệnh tĩnh được thực thi khi lớp được tải C C. Một phương thức đặc biệt dùng để khởi tạo đối tượng D D. Một giao diện (interface) đặc biệt để tạo đối tượng Câu 14 14. Tính đa hình (Polymorphism) trong Java được thể hiện rõ nhất qua cơ chế nào? A A. Đóng gói (Encapsulation) B B. Kế thừa (Inheritance) C C. Nạp chồng phương thức (Method Overloading) và ghi đè phương thức (Method Overriding) D D. Trừu tượng hóa (Abstraction) Câu 15 15. Thư viện chuẩn (Standard Library) của Java cung cấp gói (package) nào chứa các lớp và giao diện để làm việc với Collection (tập hợp dữ liệu)? A A. java.io B B. java.net C C. java.util D D. java.lang Câu 16 16. Trong Java, luồng (Thread) là gì? A A. Một kênh giao tiếp mạng B B. Một tiến trình độc lập của hệ điều hành C C. Một đơn vị thực thi nhỏ nhất trong một chương trình D D. Một loại biến đặc biệt để lưu trữ dữ liệu đa luồng Câu 17 17. Serialization trong Java là quá trình chuyển đổi đối tượng thành dạng nào? A A. Mã bytecode B B. Chuỗi byte C C. Mã nguồn Java D D. Mã máy Câu 18 18. 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 19 19. Trong lập trình Java, thuật ngữ 'boxing' và 'unboxing' liên quan đến việc chuyển đổi giữa kiểu dữ liệu nào? A A. Kiểu nguyên thủy và kiểu tham chiếu B B. Kiểu số nguyên và kiểu số thực C C. Kiểu dữ liệu mảng và kiểu dữ liệu danh sách D D. Kiểu dữ liệu cha và kiểu dữ liệu con Câu 20 20. 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 tham chiếu kiểu `Animal`, bạn có thể gọi được phương thức nào từ biến tham chiếu này? A A. Chỉ các phương thức được định nghĩa trong lớp `Dog`. B B. Chỉ các phương thức được định nghĩa trong lớp `Animal`. C C. Các phương thức được định nghĩa trong cả `Animal` và `Dog`, nhưng chỉ các phương thức được ghi đè từ `Animal` trong `Dog` sẽ thực thi phiên bản của `Dog`. D D. Tất cả các phương thức của cả `Animal` và `Dog`. Câu 21 21. Lambda expression (biểu thức lambda) trong Java được giới thiệu từ phiên bản nào và dùng để làm gì? A A. Java 5, để tạo Anonymous Inner Class ngắn gọn hơn B B. Java 7, để xử lý ngoại lệ hiệu quả hơn C C. Java 8, để biểu diễn các functional interface một cách ngắn gọn D D. Java 11, để cải thiện hiệu suất Garbage Collection Câu 22 22. Java Stream API (từ Java 8) chủ yếu được sử dụng để làm gì? A A. Xây dựng giao diện người dùng đồ họa (GUI) hiện đại B B. Xử lý và thao tác dữ liệu theo kiểu hàm (functional programming) C C. Quản lý bộ nhớ và tối ưu hóa hiệu suất D D. Kết nối và tương tác với cơ sở dữ liệu quan hệ Câu 23 23. Trong Java, 'Checked Exception' khác với 'Unchecked Exception' như thế nào? A A. Checked Exception chỉ xảy ra trong quá trình biên dịch, Unchecked Exception chỉ xảy ra khi chạy chương trình. B B. Checked Exception bắt buộc phải được xử lý (try-catch hoặc throws), Unchecked Exception thì không. C C. Checked Exception là lỗi do người dùng nhập liệu sai, Unchecked Exception là lỗi hệ thống. D D. Checked Exception là các lỗi nghiêm trọng, Unchecked Exception là các lỗi nhẹ. Câu 24 24. Mục đích của Dependency Injection (DI) trong lập trình Java là gì? A A. Tăng tốc độ biên dịch chương trình B B. Giảm sự phụ thuộc giữa các thành phần (lớp) trong ứng dụng C C. Tự động tạo mã nguồn Java D D. Bảo mật ứng dụng khỏi các cuộc tấn công Câu 25 25. Trong Java, 'Maven' và 'Gradle' là các công cụ gì? A A. Trình biên dịch mã nguồn Java B B. Công cụ quản lý dự án và build tự động C C. Công cụ gỡ lỗi (debugger) cho Java D D. Hệ thống quản lý phiên bản mã nguồn (version control) Câu 26 26. Giả sử bạn có một danh sách các đối tượng `Student` có thuộc tính `name` và `age`. Bạn muốn sắp xếp danh sách này theo thứ tự tuổi tăng dần, sau đó theo tênAlphabetical. Cách nào sau đây là hiệu quả nhất trong Java 8 trở lên? A A. Sử dụng vòng lặp `for` và thuật toán sắp xếp Bubble Sort tự viết. B B. Sử dụng phương thức `Collections.sort()` với `Comparator.comparingInt(Student::getAge).thenComparing(Student::getName)`. C C. Sử dụng `Arrays.sort()` và tự viết logic so sánh phức tạp. D D. Không thể sắp xếp danh sách đối tượng trực tiếp, cần chuyển đổi sang mảng trước. Câu 27 27. Trong ngữ cảnh lập trình web Java, Servlet container (ví dụ: Tomcat, Jetty) có vai trò gì? A A. Biên dịch mã Java thành bytecode cho web browser. B B. Quản lý vòng đời của Servlets và xử lý các request/response HTTP. C C. Cung cấp giao diện người dùng đồ họa (GUI) cho ứng dụng web. D D. Kết nối ứng dụng web với cơ sở dữ liệu. Câu 28 28. Spring Framework là gì và nó được sử dụng để phát triển loại ứng dụng Java nào chủ yếu? A A. Một thư viện đồ họa cho Java. B B. Một framework toàn diện cho phát triển ứng dụng doanh nghiệp Java (enterprise applications). C C. Một công cụ để kiểm thử hiệu năng ứng dụng Java. D D. Một trình biên dịch mã nguồn Java nâng cao. Câu 29 29. Giả sử bạn cần đọc dữ liệu từ một file văn bản lớn trong Java. Cách nào sau đây là hiệu quả nhất về mặt bộ nhớ để xử lý file này? A A. Đọc toàn bộ nội dung file vào bộ nhớ bằng `Files.readAllBytes()` sau đó xử lý. B B. Đọc từng dòng bằng `BufferedReader` hoặc `Scanner` và xử lý tuần tự từng dòng. C C. Sử dụng `FileInputStream` để đọc từng byte và tự quản lý buffer. D D. Sử dụng `ObjectInputStream` để đọc file như một đối tượng duy nhất. Câu 30 30. Trong Java, Reflection API cho phép chương trình làm gì? A A. Tăng tốc độ thực thi mã Java. B B. Kiểm tra và thao tác các lớp, interface, constructor, method, field tại runtime. C C. Tự động sinh mã Java từ sơ đồ UML. D D. Bảo vệ mã Java khỏi bị decompile. Đề 10 – Bài tập, đề thi trắc nghiệm online Chi tiết máy Đề 12 – Bài tập, đề thi trắc nghiệm online Ngữ pháp lý thuyết tiếng Anh