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

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

1. Phương pháp phát triển phần mềm Agile nhấn mạnh yếu tố nào hơn so với phương pháp Waterfall?
2. Phương pháp `Tái cấu trúc mã` (Code refactoring) nên được thực hiện khi nào?
3. Khái niệm `Tích hợp liên tục` (Continuous Integration - CI) trong DevOps là gì?
4. Đâu là mục tiêu chính của Công nghệ phần mềm?
5. Mô hình thác nước (Waterfall) trong quy trình phát triển phần mềm phù hợp nhất với loại dự án nào?
6. Đâu là một thách thức khi chuyển đổi từ mô hình phát triển Waterfall sang Agile trong một tổ chức đã quen với Waterfall?
7. Yêu cầu phi chức năng (Non-functional requirements) trong kỹ thuật yêu cầu phần mềm mô tả điều gì?
8. Phương pháp phát triển hướng kiểm thử (Test-Driven Development - TDD) có quy trình như thế nào?
9. Phương pháp kiểm thử hồi quy (Regression testing) được sử dụng khi nào?
10. Công cụ quản lý phiên bản (Version control system) như Git giúp ích gì trong quá trình phát triển phần mềm?
11. Nguyên tắc SOLID trong thiết kế hướng đối tượng giúp đạt được mục tiêu nào?
12. Trong mô hình DevOps, `Triển khai liên tục` (Continuous Deployment - CD) mở rộng khái niệm `Tích hợp liên tục` (CI) như thế nào?
13. Trong kiểm thử hiệu suất (Performance testing), `khả năng mở rộng` (Scalability) của hệ thống được đánh giá như thế nào?
14. Loại bảo trì phần mềm nào tập trung vào việc sửa chữa các lỗi phát sinh sau khi phần mềm đã được triển khai?
15. Phương pháp kiểm thử `Alpha testing` thường được thực hiện bởi ai?
16. Trong thiết kế hướng đối tượng (Object-Oriented Design), khái niệm `tính đóng gói` (Encapsulation) nhằm mục đích gì?
17. Đâu là một ưu điểm của việc sử dụng cơ sở dữ liệu NoSQL so với cơ sở dữ liệu quan hệ (Relational database) trong một số trường hợp?
18. Trong quy trình phát triển phần mềm, `phân tích rủi ro` (Risk analysis) được thực hiện để làm gì?
19. Trong bảo mật phần mềm, `SQL Injection` là loại tấn công nào?
20. Đâu là một thách thức chính khi phát triển phần mềm theo mô hình Agile cho các dự án lớn và phức tạp?
21. Trong kiểm thử phần mềm, kiểm thử hộp đen (Black-box testing) tập trung vào điều gì?
22. Kiểm thử đơn vị (Unit testing) thường được thực hiện ở giai đoạn nào của quy trình phát triển phần mềm?
23. Khái niệm `nợ kỹ thuật` (Technical debt) trong phát triển phần mềm đề cập đến điều gì?
24. Công cụ phân tích tĩnh mã nguồn (Static code analysis tools) giúp phát hiện loại lỗi nào?
25. Trong mô hình Scrum, `Sprint` là gì?
26. Trong UML (Unified Modeling Language), sơ đồ lớp (Class diagram) được sử dụng để mô hình hóa điều gì?
27. Đâu là một ví dụ về công cụ quản lý dự án phần mềm phổ biến?
28. Đâu là lợi ích chính của việc sử dụng kiến trúc Microservices?
29. Khái niệm `Code smell` (mùi code xấu) trong lập trình ám chỉ điều gì?
30. Mục đích chính của việc lập kế hoạch kiểm thử (Test plan) là gì?