Đề 1 – Đề thi, câu hỏi 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

Đề 1 - Đề thi, câu hỏi trắc nghiệm online Lập trình java

1. Trong Java, mục đích của từ khóa `synchronized` là gì?

A. Để tạo ra một luồng (thread).
B. Để kiểm soát quyền truy cập vào một tài nguyên dùng chung bởi nhiều luồng (threads), ngăn chặn tình trạng tranh chấp dữ liệu (race condition).
C. Để tối ưu hóa hiệu suất của chương trình.
D. Để xử lý các ngoại lệ (exceptions).

2. Java Reflection là gì?

A. Một kỹ thuật cho phép chương trình Java kiểm tra và sửa đổi cấu trúc và hành vi của các lớp, interface, đối tượng tại thời gian chạy.
B. Một kỹ thuật để tối ưu hóa hiệu suất của chương trình.
C. Một kỹ thuật để mã hóa dữ liệu.
D. Một kỹ thuật để quản lý bộ nhớ.

3. Trong Java, JPA (Java Persistence API) là gì?

A. Một API để tạo giao diện người dùng đồ họa.
B. Một API để quản lý bộ nhớ.
C. Một API để truy cập và quản lý dữ liệu trong cơ sở dữ liệu quan hệ (relational database).
D. Một API để tạo các luồng (threads).

4. Đâu là lợi ích của việc sử dụng Generics trong Java?

A. Cho phép viết code có tính tái sử dụng cao hơn.
B. Cung cấp kiểm tra kiểu tại thời gian biên dịch, giúp phát hiện lỗi sớm hơn.
C. Loại bỏ sự cần thiết phải ép kiểu (casting).
D. Tất cả các đáp án trên.

5. Trong Java, Immutable object là gì?

A. Một đối tượng mà trạng thái của nó không thể thay đổi sau khi nó được tạo ra.
B. Một đối tượng mà trạng thái của nó có thể thay đổi sau khi nó được tạo ra.
C. Một đối tượng chỉ có thể được truy cập từ một luồng duy nhất.
D. Một đối tượng không thể được tuần tự hóa.

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

A. `ArrayList` sử dụng mảng động, trong khi `LinkedList` sử dụng danh sách liên kết đôi.
B. `ArrayList` cho phép truy cập ngẫu nhiên các phần tử nhanh hơn, trong khi `LinkedList` cho phép chèn và xóa phần tử ở giữa danh sách nhanh hơn.
C. `ArrayList` an toàn luồng, trong khi `LinkedList` thì không.
D. Cả A và B.

7. Mục đích của từ khóa `final` trong Java là gì?

A. Để khai báo một biến mà giá trị của nó không thể thay đổi sau khi đã được khởi tạo.
B. Để khai báo một phương thức mà không thể ghi đè trong các lớp con.
C. Để khai báo một lớp mà không thể kế thừa.
D. Tất cả các đáp án trên.

8. Trong Java, phương thức `equals()` được sử dụng để so sánh hai đối tượng. Điều gì xảy ra nếu bạn không ghi đè phương thức `equals()` trong lớp của mình?

A. Chương trình sẽ báo lỗi biên dịch.
B. Phương thức `equals()` sẽ so sánh tham chiếu của hai đối tượng, tức là kiểm tra xem chúng có phải là cùng một đối tượng trong bộ nhớ hay không.
C. Phương thức `equals()` sẽ luôn trả về `true`.
D. Phương thức `equals()` sẽ so sánh giá trị của tất cả các trường trong đối tượng.

9. Trong Java, phương thức `hashCode()` được sử dụng để làm gì?

A. Để trả về một mã băm (hash code) số nguyên cho một đối tượng.
B. Để so sánh hai đối tượng.
C. Để chuyển đổi một đối tượng thành một chuỗi.
D. Để kiểm tra xem một đối tượng có phải là null hay không.

10. Trong Java, từ khóa `transient` được sử dụng để làm gì?

A. Để ngăn một biến được ghi đè.
B. Để ngăn một biến được tuần tự hóa (serialized).
C. Để tạo một biến toàn cục.
D. Để tạo một biến chỉ đọc.

11. Luồng (Thread) trong Java là gì?

A. Một chương trình độc lập có thể chạy trên hệ điều hành.
B. Một đơn vị thực thi nhỏ nhất trong một chương trình, cho phép thực hiện đồng thời các tác vụ.
C. Một cách để lưu trữ dữ liệu trong bộ nhớ.
D. Một công cụ để gỡ lỗi chương trình.

12. Trong Java, mục đích của `try-catch` block là gì?

A. Để định nghĩa một vòng lặp.
B. Để xử lý các ngoại lệ (exceptions) có thể xảy ra trong quá trình thực thi chương trình.
C. Để khai báo các biến.
D. Để định nghĩa một lớp.

13. Trong Java, thế nào là Lambda Expression?

A. Một cách để tạo ra các đối tượng.
B. Một cách để viết các hàm ẩn danh (anonymous functions) một cách ngắn gọn.
C. Một cách để quản lý bộ nhớ.
D. Một cách để tạo ra các luồng (threads).

14. Ngoại lệ (Exception) `NullPointerException` xảy ra khi nào?

A. Khi bạn cố gắng truy cập một biến chưa được khởi tạo.
B. Khi bạn cố gắng truy cập một đối tượng thông qua một tham chiếu null.
C. Khi bạn cố gắng chia một số cho 0.
D. Khi bạn cố gắng truy cập một phần tử nằm ngoài phạm vi của một mảng.

15. Serialization trong Java là gì?

A. Quá trình chuyển đổi một đối tượng thành một luồng byte để có thể lưu trữ hoặc truyền tải.
B. Quá trình chuyển đổi một chuỗi thành một đối tượng.
C. Quá trình mã hóa dữ liệu để bảo mật.
D. Quá trình nén dữ liệu để tiết kiệm dung lượng.

16. Trong Java, từ khóa `static` có ý nghĩa gì?

A. Nó tạo ra một biến hoặc phương thức chỉ có thể được truy cập từ bên trong lớp đó.
B. Nó tạo ra một biến hoặc phương thức thuộc về lớp chứ không phải là một thể hiện cụ thể của lớp.
C. Nó ngăn không cho một lớp được kế thừa.
D. Nó cho phép một biến được thay đổi sau khi nó đã được khởi tạo.

17. Stream API trong Java được sử dụng để làm gì?

A. Để tạo giao diện người dùng đồ họa.
B. Để thực hiện các thao tác xử lý dữ liệu theo kiểu hàm (functional style) trên các tập hợp (collections).
C. Để quản lý bộ nhớ.
D. Để tạo các luồng (threads).

18. Đâu là sự khác biệt giữa `==` và phương thức `equals()` trong Java?

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

19. Trong Java, Lazy initialization là gì?

A. Một kỹ thuật để khởi tạo một biến hoặc đối tượng chỉ khi nó thực sự cần thiết.
B. Một kỹ thuật để khởi tạo tất cả các biến và đối tượng ngay khi chương trình bắt đầu.
C. Một kỹ thuật để giải phóng bộ nhớ.
D. Một kỹ thuật để tối ưu hóa hiệu suất của chương trình bằng cách sử dụng bộ nhớ cache.

20. Trong Java, Singleton pattern là gì?

A. Một pattern thiết kế đảm bảo rằng một lớp chỉ có một thể hiện duy nhất và cung cấp một điểm truy cập toàn cục đến thể hiện đó.
B. Một pattern thiết kế tạo ra nhiều thể hiện của một lớp.
C. Một pattern thiết kế để tạo ra các đối tượng bất biến.
D. Một pattern thiết kế để quản lý bộ nhớ.

21. Trong Java, mục đích chính của Design Pattern Factory là gì?

A. Để tạo ra các đối tượng một cách trực tiếp.
B. Để tạo ra các đối tượng mà không cần chỉ định lớp cụ thể của đối tượng sẽ được tạo.
C. Để quản lý bộ nhớ.
D. Để tạo ra các đối tượng singleton.

22. Trong Java, thế nào là Functional Interface?

A. Một interface có nhiều hơn một phương thức trừu tượng.
B. Một interface có đúng một phương thức trừu tượng.
C. Một interface không có phương thức nào.
D. Một interface chỉ chứa các phương thức static.

23. Đâu là mục đích chính của garbage collection trong Java?

A. Giải phóng bộ nhớ không còn được sử dụng bởi chương trình.
B. Tối ưu hóa hiệu suất của chương trình.
C. Ngăn chặn lỗi tràn bộ nhớ stack.
D. Kiểm tra và sửa lỗi trong mã nguồn.

24. Tính năng nào sau đây không phải là một trong bốn trụ cột của lập trình hướng đối tượng (OOP)?

A. Đóng gói (Encapsulation)
B. Kế thừa (Inheritance)
C. Đa hình (Polymorphism)
D. Biên dịch (Compilation)

25. Trong Java, Dependency Injection (DI) là gì?

A. Một kỹ thuật để giảm sự phụ thuộc giữa các lớp bằng cách cung cấp các phụ thuộc của một lớp từ bên ngoài.
B. Một kỹ thuật để tăng sự phụ thuộc giữa các lớp.
C. Một kỹ thuật để tạo ra các đối tượng singleton.
D. Một kỹ thuật để quản lý bộ nhớ.

26. Trong Java, kiểu dữ liệu nào sau đây không phải là kiểu dữ liệu nguyên thủy?

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

27. Lớp nào là lớp cha của tất cả các lớp trong Java?

A. Class
B. Main
C. Object
D. System

28. Trong Java, thế nào là SOLID principles?

A. Một tập hợp các nguyên tắc thiết kế hướng đối tượng giúp tạo ra code dễ bảo trì, mở rộng và kiểm thử.
B. Một tập hợp các công cụ để quản lý bộ nhớ.
C. Một tập hợp các API để truy cập cơ sở dữ liệu.
D. Một tập hợp các quy tắc để viết code Java.

29. Trong Java, AutoBoxing và Unboxing là gì?

A. Là quá trình tự động chuyển đổi giữa kiểu dữ liệu nguyên thủy (primitive data types) và lớp bao bọc (wrapper classes) tương ứng.
B. Là quá trình tạo ra các đối tượng một cách tự động.
C. Là quá trình giải phóng bộ nhớ một cách tự động.
D. Là quá trình đồng bộ hóa các luồng (threads) một cách tự động.

30. Interface trong Java khác gì so với Abstract class?

A. Interface có thể chứa các phương thức đã được triển khai, còn Abstract class thì không.
B. Một lớp có thể implements nhiều Interface nhưng chỉ có thể extends một Abstract class.
C. Interface không thể chứa các biến, còn Abstract class thì có thể.
D. Interface được sử dụng để tạo đối tượng, còn Abstract class thì không.

1 / 30

Category: Lập trình java

Tags: Bộ đề 1

1. Trong Java, mục đích của từ khóa `synchronized` là gì?

2 / 30

Category: Lập trình java

Tags: Bộ đề 1

2. Java Reflection là gì?

3 / 30

Category: Lập trình java

Tags: Bộ đề 1

3. Trong Java, JPA (Java Persistence API) là gì?

4 / 30

Category: Lập trình java

Tags: Bộ đề 1

4. Đâu là lợi ích của việc sử dụng Generics trong Java?

5 / 30

Category: Lập trình java

Tags: Bộ đề 1

5. Trong Java, Immutable object là gì?

6 / 30

Category: Lập trình java

Tags: Bộ đề 1

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

7 / 30

Category: Lập trình java

Tags: Bộ đề 1

7. Mục đích của từ khóa `final` trong Java là gì?

8 / 30

Category: Lập trình java

Tags: Bộ đề 1

8. Trong Java, phương thức `equals()` được sử dụng để so sánh hai đối tượng. Điều gì xảy ra nếu bạn không ghi đè phương thức `equals()` trong lớp của mình?

9 / 30

Category: Lập trình java

Tags: Bộ đề 1

9. Trong Java, phương thức `hashCode()` được sử dụng để làm gì?

10 / 30

Category: Lập trình java

Tags: Bộ đề 1

10. Trong Java, từ khóa `transient` được sử dụng để làm gì?

11 / 30

Category: Lập trình java

Tags: Bộ đề 1

11. Luồng (Thread) trong Java là gì?

12 / 30

Category: Lập trình java

Tags: Bộ đề 1

12. Trong Java, mục đích của `try-catch` block là gì?

13 / 30

Category: Lập trình java

Tags: Bộ đề 1

13. Trong Java, thế nào là Lambda Expression?

14 / 30

Category: Lập trình java

Tags: Bộ đề 1

14. Ngoại lệ (Exception) `NullPointerException` xảy ra khi nào?

15 / 30

Category: Lập trình java

Tags: Bộ đề 1

15. Serialization trong Java là gì?

16 / 30

Category: Lập trình java

Tags: Bộ đề 1

16. Trong Java, từ khóa `static` có ý nghĩa gì?

17 / 30

Category: Lập trình java

Tags: Bộ đề 1

17. Stream API trong Java được sử dụng để làm gì?

18 / 30

Category: Lập trình java

Tags: Bộ đề 1

18. Đâu là sự khác biệt giữa `==` và phương thức `equals()` trong Java?

19 / 30

Category: Lập trình java

Tags: Bộ đề 1

19. Trong Java, Lazy initialization là gì?

20 / 30

Category: Lập trình java

Tags: Bộ đề 1

20. Trong Java, Singleton pattern là gì?

21 / 30

Category: Lập trình java

Tags: Bộ đề 1

21. Trong Java, mục đích chính của Design Pattern Factory là gì?

22 / 30

Category: Lập trình java

Tags: Bộ đề 1

22. Trong Java, thế nào là Functional Interface?

23 / 30

Category: Lập trình java

Tags: Bộ đề 1

23. Đâu là mục đích chính của garbage collection trong Java?

24 / 30

Category: Lập trình java

Tags: Bộ đề 1

24. Tính năng nào sau đây không phải là một trong bốn trụ cột của lập trình hướng đối tượng (OOP)?

25 / 30

Category: Lập trình java

Tags: Bộ đề 1

25. Trong Java, Dependency Injection (DI) là gì?

26 / 30

Category: Lập trình java

Tags: Bộ đề 1

26. Trong Java, kiểu dữ liệu nào sau đây không phải là kiểu dữ liệu nguyên thủy?

27 / 30

Category: Lập trình java

Tags: Bộ đề 1

27. Lớp nào là lớp cha của tất cả các lớp trong Java?

28 / 30

Category: Lập trình java

Tags: Bộ đề 1

28. Trong Java, thế nào là SOLID principles?

29 / 30

Category: Lập trình java

Tags: Bộ đề 1

29. Trong Java, AutoBoxing và Unboxing là gì?

30 / 30

Category: Lập trình java

Tags: Bộ đề 1

30. Interface trong Java khác gì so với Abstract class?