Đề 11 – Bài tập, đề thi trắc nghiệm online Công nghệ phần mềm

Đề 11 - Bài tập, đề thi trắc nghiệm online Công nghệ phần mềm

1. Phương pháp Agile nào tập trung vào việc chia nhỏ công việc thành các Sprint ngắn, thường kéo dài từ 2 đến 4 tuần?
2. Đâu là mô hình phát triển phần mềm tuân theo phương pháp tiếp cận tuần tự, trong đó mỗi giai đoạn phải hoàn thành trước khi giai đoạn tiếp theo bắt đầu?
3. Trong quản lý dự án phần mềm, biểu đồ Gantt thường được sử dụng để làm gì?
4. Trong ngữ cảnh bảo mật phần mềm, `nguyên tắc đặc quyền tối thiểu` (Principle of Least Privilege) có nghĩa là gì?
5. Phương pháp `phát triển hướng kiểm thử` (Test-Driven Development - TDD) hoạt động theo quy trình nào?
6. Trong mô hình xoắn ốc (Spiral model), mỗi vòng lặp của xoắn ốc đại diện cho điều gì?
7. Trong kiểm thử phần mềm, loại kiểm thử nào tập trung vào việc xác minh các chức năng riêng lẻ của một đơn vị mã?
8. Loại biểu đồ UML nào được sử dụng để mô hình hóa luồng điều khiển tuần tự giữa các đối tượng trong một kịch bản sử dụng?
9. Nguyên tắc SOLID nào trong thiết kế hướng đối tượng khuyến khích việc các lớp nên mở để mở rộng nhưng đóng để sửa đổi?
10. Trong quy trình phát triển phần mềm, `code review` (đánh giá mã) mang lại lợi ích nào?
11. Trong quản lý cấu hình phần mềm, `nhánh (branch)` được sử dụng để làm gì?
12. Công cụ nào sau đây KHÔNG phải là công cụ quản lý dự án phần mềm phổ biến?
13. Trong kiến trúc phần mềm, `mẫu thiết kế` (design pattern) cung cấp điều gì?
14. Trong kiến trúc hướng dịch vụ (Service-Oriented Architecture - SOA), ESB (Enterprise Service Bus) đóng vai trò gì?
15. Trong quy trình phát triển phần mềm, `Tái cấu trúc mã` (refactoring) nhằm mục đích gì?
16. Điểm khác biệt chính giữa kiểm thử Alpha và kiểm thử Beta là gì?
17. Phương pháp kiểm thử hộp đen (black-box testing) tập trung vào khía cạnh nào của phần mềm?
18. Loại tấn công bảo mật nào lợi dụng các lỗ hổng trong ứng dụng web để chèn mã độc vào đầu vào và thực thi trên trình duyệt của người dùng khác?
19. Khái niệm `coupling` (kết nối) và `cohesion` (liên kết) trong thiết kế phần mềm lý tưởng nên như thế nào?
20. Trong phát triển ứng dụng web, RESTful API là gì?
21. Công cụ `hệ thống quản lý phiên bản phân tán` (Distributed Version Control System - DVCS) như Git khác biệt với `hệ thống quản lý phiên bản tập trung` (Centralized Version Control System - CVCS) như SVN ở điểm nào?
22. Công cụ phân tích mã tĩnh (static code analysis) được sử dụng để làm gì?
23. Trong thiết kế giao diện người dùng (UI/UX), `khả năng sử dụng` (usability) đề cập đến điều gì?
24. Trong quản lý yêu cầu phần mềm, yêu cầu `phi chức năng` (non-functional requirement) mô tả khía cạnh nào của hệ thống?
25. Chỉ số `độ phức tạp Cyclomatic` (Cyclomatic complexity) đo lường điều gì trong mã nguồn?
26. Khái niệm `nợ kỹ thuật` (technical debt) trong công nghệ phần mềm đề cập đến điều gì?
27. Kỹ thuật `kiểm thử hồi quy` (regression testing) được thực hiện khi nào?
28. Trong kiểm thử hiệu năng (performance testing), `load testing` (kiểm thử tải) nhằm mục đích gì?
29. Khái niệm `CI/CD` trong DevOps là viết tắt của cụm từ nào?
30. Trong kiến trúc microservices, lợi ích chính của việc phân tách ứng dụng thành các dịch vụ nhỏ, độc lập là gì?