Đề 1 – Bài tập, đề thi trắc nghiệm online Lập trình hướng đối tượng

Đề 1 - Bài tập, đề thi trắc nghiệm online Lập trình hướng đối tượng

1. Phương thức khởi tạo (constructor) trong lập trình hướng đối tượng được sử dụng để làm gì?
2. Nguyên tắc thay thế Liskov (Liskov Substitution Principle - LSP) trong SOLID nhấn mạnh điều gì về mối quan hệ kế thừa?
3. Kiểu quan hệ nào thể hiện sự phụ thuộc mạnh mẽ nhất giữa hai lớp, trong đó vòng đời của một lớp phụ thuộc vào lớp kia?
4. Trong lập trình hướng đối tượng, `message passing′ (truyền thông điệp) đề cập đến điều gì?
5. Khái niệm nào sau đây thể hiện khả năng một đối tượng có nhiều hình thức khác nhau, cho phép một giao diện có thể được sử dụng cho nhiều lớp khác nhau?
6. Nguyên tắc `Open∕Closed′ trong SOLID phát biểu rằng phần mềm nên `mở` cho điều gì và `đóng′ cho điều gì?
7. Trong lập trình hướng đối tượng, `tính đóng gói′ (encapsulation) mang lại lợi ích chính nào?
8. Trong ngữ cảnh của lập trình hướng đối tượng, `design pattern′ (mẫu thiết kế) là gì?
9. Khái niệm `interface′ (giao diện) trong OOP khác biệt chính so với `abstract class′ (lớp trừu tượng) là gì?
10. Trong ngữ cảnh OOP, `association′, `aggregation′ và `composition′ là các loại quan hệ nào?
11. Khái niệm `garbage collection′ (thu gom rác) trong OOP liên quan đến vấn đề gì?
12. Trong lập trình hướng đối tượng, `composition′ (tổ hợp) khác với `inheritance′ (kế thừa) như thế nào?
13. Mục tiêu của việc giảm `coupling′ (kết nối) và tăng `cohesion′ (liên kết) trong thiết kế OOP là gì?
14. Giải pháp nào thường được sử dụng để thay thế cho `đa kế thừa′ (multiple inheritance) trong các ngôn ngữ OOP hiện đại?
15. Thuật ngữ `coupling′ (kết nối) và `cohesion′ (liên kết) trong thiết kế hướng đối tượng đề cập đến điều gì?
16. Trong lập trình hướng đối tượng, `đa kế thừa′ (multiple inheritance) là gì và nó có thể gây ra vấn đề gì?
17. Mẫu thiết kế `Factory′ (Nhà máy) thuộc nhóm mẫu thiết kế nào?
18. Trong UML (Unified Modeling Language), ký hiệu nào thường được sử dụng để biểu diễn quan hệ kế thừa (inheritance)?
19. Trong lập trình hướng đối tượng, `lớp trừu tượng′ (abstract class) khác với `lớp cụ thể` (concrete class) ở điểm nào?
20. Mẫu thiết kế `Singleton′ được sử dụng để giải quyết vấn đề gì?
21. Thuật ngữ `method overloading′ (nạp chồng phương thức) trong OOP nghĩa là gì?
22. Nguyên tắc `SOLID′ nào khuyến khích việc các lớp nên có một và chỉ một lý do để thay đổi?
23. Mẫu thiết kế `Observer′ (Người quan sát) giúp giải quyết vấn đề gì?
24. Thuật ngữ `method overriding′ (ghi đè phương thức) trong OOP được sử dụng khi nào?
25. Quan hệ `aggregation′ (tổng hợp) khác với `composition′ (hợp thành) ở điểm nào?
26. Nguyên tắc `Dependency Inversion′ (DIP) trong SOLID khuyến nghị điều gì về sự phụ thuộc giữa các module?
27. Đặc điểm nào sau đây KHÔNG phải là một trong bốn trụ cột chính của lập trình hướng đối tượng?
28. Phương thức `static′ (tĩnh) trong lập trình hướng đối tượng khác với phương thức `instance′ (thể hiện) như thế nào?
29. Mục đích chính của tính kế thừa (inheritance) trong lập trình hướng đối tượng là gì?
30. Trong UML, ký hiệu nào thường được sử dụng để biểu diễn quan hệ composition (hợp thành)?