Đề 7 – Bài tập, đề thi trắc nghiệm online Lập trình java

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Lập trình java

Đề 7 - Bài tập, đề thi trắc nghiệm online Lập trình java

1. Đâu là điểm khác biệt giữa checked exception và unchecked exception trong Java?

A. Checked exception nhanh hơn unchecked exception
B. Checked exception phải được xử lý (try-catch hoặc throws) tại thời điểm biên dịch, unchecked exception thì không
C. Unchecked exception xảy ra do lỗi lập trình, checked exception do lỗi hệ thống
D. Không có sự khác biệt lớn, chỉ là tên gọi khác nhau

2. Đâu là cách khai báo hằng số (constant) trong Java?

A. const int MAX_VALUE = 100;
B. final static int MAX_VALUE = 100;
C. static final int MAX_VALUE = 100;
D. immutable int MAX_VALUE = 100;

3. Annotation (chú thích) trong Java được sử dụng để làm gì?

A. Thay thế cho comment trong code
B. Cung cấp siêu dữ liệu (metadata) về code cho compiler, JVM hoặc các công cụ khác
C. Để ghi lại nhật ký hoạt động của chương trình
D. Để tạo ra tài liệu API tự động

4. JDBC (Java Database Connectivity) được sử dụng để làm gì?

A. Xây dựng giao diện người dùng đồ họa (GUI) cho ứng dụng Java
B. Kết nối và tương tác với cơ sở dữ liệu từ ứng dụng Java
C. Quản lý bộ nhớ trong ứng dụng Java
D. Xử lý các yêu cầu HTTP trong ứng dụng web Java

5. Trong Java, từ khóa nào được sử dụng để tạo một lớp con kế thừa từ một lớp cha?

A. implements
B. extends
C. inherits
D. subclass

6. Phương thức `hashCode()` và `equals()` có mối quan hệ như thế nào trong Java khi làm việc với các cấu trúc dữ liệu như `HashMap` và `HashSet`?

A. Không có mối quan hệ, chúng độc lập
B. Nếu `equals()` trả về true cho hai đối tượng, thì `hashCode()` của chúng phải khác nhau
C. Nếu `equals()` trả về true cho hai đối tượng, thì `hashCode()` của chúng phải giống nhau
D. Nếu `hashCode()` của hai đối tượng giống nhau, thì `equals()` của chúng phải trả về true

7. Lambda expression trong Java 8 là gì?

A. Một loại biến mới
B. Một cách viết ngắn gọn hơn cho anonymous inner classes (lớp nội danh)
C. Một cơ chế xử lý ngoại lệ mới
D. Một cách tạo ra đa luồng dễ dàng hơn

8. JSP (JavaServer Pages) khác Servlet như thế nào trong phát triển web Java?

A. JSP nhanh hơn Servlet
B. Servlet được sử dụng cho logic hiển thị, JSP cho logic nghiệp vụ
C. Servlet là code Java thuần túy, JSP cho phép nhúng code Java vào HTML để tạo trang web động
D. Không có sự khác biệt, JSP và Servlet có thể thay thế nhau hoàn toàn

9. Lớp `Scanner` trong Java thuộc gói (package) nào?

A. java.lang
B. java.util
C. java.io
D. java.net

10. Phương thức `main()` trong Java có kiểu trả về nào?

A. int
B. String
C. void
D. boolean

11. Garbage Collection (GC) trong Java hoạt động như thế nào?

A. GC là quá trình giải phóng bộ nhớ được quản lý thủ công bởi lập trình viên
B. GC là quá trình tự động thu hồi bộ nhớ không còn được sử dụng bởi chương trình Java
C. GC chỉ hoạt động khi bộ nhớ đầy
D. GC là một phần của compiler Java, không phải JVM

12. Giao diện `List`, `Set`, và `Map` thuộc Java Collections Framework có điểm chung nào?

A. Tất cả đều là giao diện sắp xếp dữ liệu theo thứ tự
B. Tất cả đều là giao diện lưu trữ các cặp key-value
C. Tất cả đều là giao diện con của `Collection` interface (ngoại trừ Map)
D. Tất cả đều là lớp cụ thể có thể khởi tạo trực tiếp

13. Serialization trong Java là gì?

A. Quá trình chuyển đổi dữ liệu thành định dạng có thể đọc được
B. Quá trình chuyển đổi đối tượng thành một luồng byte để lưu trữ hoặc truyền tải
C. Quá trình mã hóa dữ liệu để bảo mật
D. Quá trình tạo bản sao của đối tượng

14. Tính đóng gói (encapsulation) trong lập trình hướng đối tượng Java là gì?

A. Khả năng một đối tượng thuộc nhiều lớp khác nhau
B. Cơ chế ẩn giấu thông tin và triển khai chi tiết bên trong đối tượng, chỉ cho phép truy cập thông qua các phương thức công khai
C. Khả năng tái sử dụng mã nguồn thông qua kế thừa
D. Cơ chế tạo ra nhiều đối tượng từ một lớp

15. Java Streams API được thiết kế để làm gì?

A. Xử lý dữ liệu đầu vào/đầu ra (I/O)
B. Thao tác và xử lý dữ liệu tập hợp (collections) một cách hiệu quả và khai báo
C. Quản lý bộ nhớ và thu gom rác
D. Xây dựng giao diện người dùng đồ họa (GUI)

16. Servlet trong Java EE được sử dụng để làm gì?

A. Xử lý logic nghiệp vụ của ứng dụng
B. Xây dựng giao diện người dùng web
C. Xử lý các yêu cầu HTTP từ client và trả về phản hồi trong ứng dụng web Java
D. Quản lý phiên người dùng trong ứng dụng web

17. Reflection trong Java là gì?

A. Quá trình biên dịch mã Java thành bytecode
B. Khả năng kiểm tra và thao tác lớp, interface, constructor, method và field của một lớp tại thời gian chạy
C. Cơ chế xử lý ngoại lệ nâng cao
D. Kỹ thuật tối ưu hóa hiệu suất chương trình

18. Đâu là sự khác biệt chính giữa `ArrayList` và `LinkedList` trong Java?

A. `ArrayList` nhanh hơn trong việc thêm/xóa phần tử ở đầu danh sách, `LinkedList` nhanh hơn trong việc truy cập phần tử ngẫu nhiên
B. `ArrayList` dựa trên mảng động, `LinkedList` dựa trên cấu trúc dữ liệu danh sách liên kết đôi
C. `ArrayList` có thể chứa các phần tử null, `LinkedList` thì không
D. Không có sự khác biệt về cấu trúc dữ liệu, chỉ khác nhau về hiệu suất

19. Bộ nhớ Heap và Stack trong Java Virtual Machine (JVM) được sử dụng cho mục đích gì?

A. Heap cho biến cục bộ, Stack cho đối tượng
B. Heap cho đối tượng và biến instance, Stack cho biến cục bộ và lời gọi phương thức
C. Heap cho mã byte code, Stack cho dữ liệu
D. Heap cho dữ liệu tĩnh, Stack cho dữ liệu động

20. Dependency Injection (DI) là gì và lợi ích của nó trong phát triển ứng dụng Java?

A. Một pattern thiết kế để tạo ra các đối tượng singleton
B. Một kỹ thuật để giảm sự phụ thuộc giữa các thành phần phần mềm bằng cách 'inject' các dependencies vào đối tượng thay vì để đối tượng tự tạo hoặc tìm kiếm chúng
C. Một phương pháp để tăng cường bảo mật ứng dụng
D. Một cách để quản lý bộ nhớ hiệu quả hơn

21. Đâu là mục đích của từ khóa `static` trong Java?

A. Để tạo ra các biến và phương thức có thể truy cập từ bất kỳ đâu
B. Để khai báo một lớp không thể kế thừa
C. Để tạo ra các biến và phương thức thuộc về lớp chứ không phải đối tượng của lớp
D. Để chỉ định rằng một phương thức có thể bị ghi đè bởi lớp con

22. Vòng đời (lifecycle) của một luồng (thread) trong Java bao gồm những trạng thái nào?

A. New, Runnable, Running, Blocked/Waiting, Terminated
B. Start, Active, Inactive, Dead
C. Created, Ready, Executing, Sleeping, Finished
D. Born, Alive, Waiting, Sleeping, Destroyed

23. JVM (Java Virtual Machine) có trách nhiệm chính nào?

A. Biên dịch mã nguồn Java thành mã máy
B. Chạy bytecode Java, quản lý bộ nhớ (garbage collection) và cung cấp môi trường thực thi độc lập nền tảng
C. Quản lý các kết nối mạng trong ứng dụng Java
D. Tối ưu hóa mã nguồn Java trước khi biên dịch

24. Trong Java, cơ chế xử lý ngoại lệ (exception handling) nào được sử dụng?

A. try-catch-finally
B. if-else-throw
C. for-while-except
D. switch-case-error

25. Đâu là sự khác biệt chính giữa `String` và `StringBuilder` trong Java?

A. `String` là mutable, `StringBuilder` là immutable
B. `String` nhanh hơn `StringBuilder` trong thao tác chuỗi
C. `String` là immutable, `StringBuilder` là mutable
D. Không có sự khác biệt, chúng có thể thay thế nhau

26. Phương thức `equals()` và toán tử `==` khác nhau như thế nào khi so sánh các đối tượng trong Java?

A. `equals()` so sánh tham chiếu, `==` so sánh giá trị
B. Cả hai đều so sánh tham chiếu đối tượng
C. `==` so sánh tham chiếu, `equals()` so sánh nội dung đối tượng
D. Cả hai đều so sánh nội dung đối tượng

27. Polymorphism (tính đa hình) trong OOP Java có nghĩa là gì?

A. Khả năng tạo ra các lớp mới từ các lớp đã có
B. Khả năng một đối tượng có nhiều trạng thái
C. Khả năng một đối tượng hoặc phương thức có nhiều hình thức khác nhau
D. Khả năng ẩn giấu thông tin bên trong đối tượng

28. Giao diện (interface) trong Java là gì?

A. Một lớp đặc biệt chỉ chứa các biến static
B. Một lớp trừu tượng không có phương thức nào
C. Một bản thiết kế (blueprint) cho các lớp, định nghĩa các phương thức mà các lớp phải triển khai
D. Một lớp cuối cùng không thể kế thừa

29. Phương thức `finalize()` trong Java được sử dụng để làm gì?

A. Giải phóng bộ nhớ của đối tượng ngay lập tức
B. Thực hiện các công việc dọn dẹp cuối cùng trước khi đối tượng bị thu gom rác (garbage collected)
C. Khởi tạo các biến instance của đối tượng
D. Kiểm tra xem đối tượng có còn được tham chiếu hay không

30. Java Generics giải quyết vấn đề chính nào?

A. Tăng tốc độ thực thi chương trình
B. Giảm thiểu lỗi ép kiểu (ClassCastException) tại thời gian chạy bằng cách kiểm tra kiểu tại thời gian biên dịch
C. Cải thiện khả năng bảo mật của ứng dụng
D. Đơn giản hóa cú pháp Java

1 / 30

Category: Lập trình java

Tags: Bộ đề 8

1. Đâu là điểm khác biệt giữa checked exception và unchecked exception trong Java?

2 / 30

Category: Lập trình java

Tags: Bộ đề 8

2. Đâu là cách khai báo hằng số (constant) trong Java?

3 / 30

Category: Lập trình java

Tags: Bộ đề 8

3. Annotation (chú thích) trong Java được sử dụng để làm gì?

4 / 30

Category: Lập trình java

Tags: Bộ đề 8

4. JDBC (Java Database Connectivity) được sử dụng để làm gì?

5 / 30

Category: Lập trình java

Tags: Bộ đề 8

5. Trong Java, từ khóa nào được sử dụng để tạo một lớp con kế thừa từ một lớp cha?

6 / 30

Category: Lập trình java

Tags: Bộ đề 8

6. Phương thức `hashCode()` và `equals()` có mối quan hệ như thế nào trong Java khi làm việc với các cấu trúc dữ liệu như `HashMap` và `HashSet`?

7 / 30

Category: Lập trình java

Tags: Bộ đề 8

7. Lambda expression trong Java 8 là gì?

8 / 30

Category: Lập trình java

Tags: Bộ đề 8

8. JSP (JavaServer Pages) khác Servlet như thế nào trong phát triển web Java?

9 / 30

Category: Lập trình java

Tags: Bộ đề 8

9. Lớp `Scanner` trong Java thuộc gói (package) nào?

10 / 30

Category: Lập trình java

Tags: Bộ đề 8

10. Phương thức `main()` trong Java có kiểu trả về nào?

11 / 30

Category: Lập trình java

Tags: Bộ đề 8

11. Garbage Collection (GC) trong Java hoạt động như thế nào?

12 / 30

Category: Lập trình java

Tags: Bộ đề 8

12. Giao diện `List`, `Set`, và `Map` thuộc Java Collections Framework có điểm chung nào?

13 / 30

Category: Lập trình java

Tags: Bộ đề 8

13. Serialization trong Java là gì?

14 / 30

Category: Lập trình java

Tags: Bộ đề 8

14. Tính đóng gói (encapsulation) trong lập trình hướng đối tượng Java là gì?

15 / 30

Category: Lập trình java

Tags: Bộ đề 8

15. Java Streams API được thiết kế để làm gì?

16 / 30

Category: Lập trình java

Tags: Bộ đề 8

16. Servlet trong Java EE được sử dụng để làm gì?

17 / 30

Category: Lập trình java

Tags: Bộ đề 8

17. Reflection trong Java là gì?

18 / 30

Category: Lập trình java

Tags: Bộ đề 8

18. Đâu là sự khác biệt chính giữa `ArrayList` và `LinkedList` trong Java?

19 / 30

Category: Lập trình java

Tags: Bộ đề 8

19. Bộ nhớ Heap và Stack trong Java Virtual Machine (JVM) được sử dụng cho mục đích gì?

20 / 30

Category: Lập trình java

Tags: Bộ đề 8

20. Dependency Injection (DI) là gì và lợi ích của nó trong phát triển ứng dụng Java?

21 / 30

Category: Lập trình java

Tags: Bộ đề 8

21. Đâu là mục đích của từ khóa `static` trong Java?

22 / 30

Category: Lập trình java

Tags: Bộ đề 8

22. Vòng đời (lifecycle) của một luồng (thread) trong Java bao gồm những trạng thái nào?

23 / 30

Category: Lập trình java

Tags: Bộ đề 8

23. JVM (Java Virtual Machine) có trách nhiệm chính nào?

24 / 30

Category: Lập trình java

Tags: Bộ đề 8

24. Trong Java, cơ chế xử lý ngoại lệ (exception handling) nào được sử dụng?

25 / 30

Category: Lập trình java

Tags: Bộ đề 8

25. Đâu là sự khác biệt chính giữa `String` và `StringBuilder` trong Java?

26 / 30

Category: Lập trình java

Tags: Bộ đề 8

26. Phương thức `equals()` và toán tử `==` khác nhau như thế nào khi so sánh các đối tượng trong Java?

27 / 30

Category: Lập trình java

Tags: Bộ đề 8

27. Polymorphism (tính đa hình) trong OOP Java có nghĩa là gì?

28 / 30

Category: Lập trình java

Tags: Bộ đề 8

28. Giao diện (interface) trong Java là gì?

29 / 30

Category: Lập trình java

Tags: Bộ đề 8

29. Phương thức `finalize()` trong Java được sử dụng để làm gì?

30 / 30

Category: Lập trình java

Tags: Bộ đề 8

30. Java Generics giải quyết vấn đề chính nào?