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

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é!!!


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?

A. Kanban
B. Scrum
C. Extreme Programming (XP)
D. Lean Development

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?

A. Agile
B. Waterfall
C. Spiral
D. DevOps

3. Trong quản lý dự án phần mềm, biểu đồ Gantt thường được sử dụng để làm gì?

A. Mô tả kiến trúc hệ thống
B. Theo dõi tiến độ và thời gian biểu của dự án
C. Quản lý yêu cầu của khách hàng
D. Phân tích rủi ro dự án

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ì?

A. Cung cấp đặc quyền truy cập tối đa cho tất cả người dùng
B. Cấp cho người dùng và tiến trình chỉ những đặc quyền tối thiểu cần thiết để thực hiện nhiệm vụ của họ
C. Hạn chế sử dụng các thư viện và framework của bên thứ ba
D. Mã hóa tất cả dữ liệu nhạy cảm

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?

A. Viết mã nguồn trước, sau đó viết kiểm thử
B. Viết kiểm thử trước, sau đó viết mã nguồn để vượt qua kiểm thử
C. Viết mã nguồn và kiểm thử đồng thời
D. Không cần viết kiểm thử, tập trung vào phát triển nhanh chóng

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ì?

A. Một giai đoạn phát triển cố định (như trong Waterfall)
B. Một phiên bản phần mềm hoàn chỉnh
C. Một giai đoạn rủi ro và đánh giá
D. Một Sprint phát triển (như trong Scrum)

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ã?

A. Kiểm thử tích hợp
B. Kiểm thử hệ thống
C. Kiểm thử đơn vị (Unit test)
D. Kiểm thử chấp nhận

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?

A. Biểu đồ lớp (Class diagram)
B. Biểu đồ ca sử dụng (Use case diagram)
C. Biểu đồ tuần tự (Sequence diagram)
D. Biểu đồ trạng thái (State diagram)

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?

A. Nguyên tắc thay thế Liskov (Liskov Substitution Principle)
B. Nguyên tắc đóng-mở (Open/Closed Principle)
C. Nguyên tắc phân tách giao diện (Interface Segregation Principle)
D. Nguyên tắc đảo ngược phụ thuộc (Dependency Inversion Principle)

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?

A. Tăng tốc độ viết mã
B. Giảm số lượng lỗi và cải thiện chất lượng mã
C. Thay thế kiểm thử tự động
D. Đơn giản hóa quy trình triển khai

11. Trong quản lý cấu hình phần mềm, 'nhánh (branch)' được sử dụng để làm gì?

A. Theo dõi lỗi
B. Quản lý yêu cầu
C. Phát triển song song các tính năng hoặc phiên bản
D. Triển khai ứng dụng

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?

A. Jira
B. Trello
C. Microsoft Project
D. Microsoft Word

13. Trong kiến trúc phần mềm, 'mẫu thiết kế' (design pattern) cung cấp điều gì?

A. Một đoạn mã nguồn có thể sao chép và dán trực tiếp
B. Một giải pháp đã được chứng minh cho một vấn đề thiết kế thường gặp
C. Một công cụ tự động tạo mã nguồn
D. Một phương pháp kiểm thử phần mềm

14. Trong kiến trúc hướng dịch vụ (Service-Oriented Architecture - SOA), ESB (Enterprise Service Bus) đóng vai trò gì?

A. Lưu trữ dữ liệu tập trung
B. Quản lý giao diện người dùng
C. Trung gian giao tiếp giữa các dịch vụ khác nhau
D. Cân bằng tải cho ứng dụng

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ì?

A. Thêm chức năng mới vào phần mềm
B. Sửa lỗi trong phần mềm
C. Cải thiện cấu trúc bên trong của mã mà không thay đổi hành vi bên ngoài
D. Tối ưu hóa hiệu suất của phần mềm

16. Điểm khác biệt chính giữa kiểm thử Alpha và kiểm thử Beta là gì?

A. Loại lỗi được phát hiện
B. Mức độ tự động hóa
C. Địa điểm và đối tượng kiểm thử
D. Thời gian thực hiện kiểm thử

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?

A. Cấu trúc mã nguồn bên trong
B. Luồng điều khiển của chương trình
C. Chức năng và hành vi bên ngoài
D. Hiệu suất và khả năng mở rộng

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?

A. SQL Injection
B. Cross-Site Scripting (XSS)
C. Denial of Service (DoS)
D. Man-in-the-Middle (MitM)

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?

A. Coupling cao và Cohesion cao
B. Coupling cao và Cohesion thấp
C. Coupling thấp và Cohesion cao
D. Coupling thấp và Cohesion thấp

20. Trong phát triển ứng dụng web, RESTful API là gì?

A. Một loại cơ sở dữ liệu quan hệ
B. Một phong cách kiến trúc để thiết kế các dịch vụ web
C. Một ngôn ngữ lập trình web
D. Một framework kiểm thử tự động

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?

A. DVCS nhanh hơn CVCS
B. DVCS có nhiều tính năng hơn CVCS
C. Mỗi nhà phát triển trong DVCS có bản sao đầy đủ của kho mã nguồn
D. CVCS dễ sử dụng hơn DVCS

22. Công cụ phân tích mã tĩnh (static code analysis) được sử dụng để làm gì?

A. Kiểm tra hiệu suất thời gian chạy của ứng dụng
B. Phát hiện lỗi và vi phạm quy tắc mã hóa mà không cần thực thi chương trình
C. Tự động tạo mã nguồn từ thiết kế
D. Quản lý phiên bản mã nguồn

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ì?

A. Tính thẩm mỹ và hấp dẫn của giao diện
B. Mức độ dễ dàng và hiệu quả người dùng có thể sử dụng giao diện để đạt được mục tiêu
C. Tính bảo mật của giao diện
D. Hiệu suất của giao diện trên các thiết bị khác nhau

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?

A. Các chức năng và tính năng hệ thống phải cung cấp
B. Cách hệ thống thực hiện các chức năng (ví dụ: hiệu suất, bảo mật, khả năng sử dụng)
C. Giao diện người dùng của hệ thống
D. Cấu trúc dữ liệu 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?

A. Số dòng mã
B. Số lượng biến cục bộ
C. Số lượng đường dẫn độc lập tuyến tính qua mã
D. Thời gian thực thi trung bình

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ì?

A. Chi phí bảo trì phần mềm theo thời gian
B. Hậu quả của việc đưa ra các quyết định thiết kế hoặc mã hóa vội vàng, không tối ưu
C. Số lượng lỗi còn tồn đọng trong phần mềm
D. Thời gian cần thiết để sửa lỗi phần mềm

27. Kỹ thuật 'kiểm thử hồi quy' (regression testing) được thực hiện khi nào?

A. Trước khi phát triển tính năng mới
B. Sau khi sửa lỗi hoặc thay đổi mã nguồn
C. Trong giai đoạn phân tích yêu cầu
D. Chỉ khi có yêu cầu từ khách hàng

28. Trong kiểm thử hiệu năng (performance testing), 'load testing' (kiểm thử tải) nhằm mục đích gì?

A. Kiểm tra khả năng chịu tải tối đa của hệ thống trước khi sập
B. Đánh giá hiệu suất của hệ thống dưới tải trọng dự kiến thông thường
C. Tìm kiếm các lỗi bảo mật
D. Kiểm tra khả năng phục hồi sau sự cố

29. Khái niệm 'CI/CD' trong DevOps là viết tắt của cụm từ nào?

A. Continuous Integration / Continuous Delivery (hoặc Continuous Deployment)
B. Code Inspection / Code Deployment
C. Configuration Integration / Configuration Delivery
D. Critical Infrastructure / Cloud Deployment

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ì?

A. Giảm chi phí phần cứng
B. Tăng tính bảo mật
C. Tăng khả năng mở rộng và khả năng phục hồi
D. Đơn giản hóa việc triển khai

1 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

3. Trong quản lý dự án phần mềm, biểu đồ Gantt thường được sử dụng để làm gì?

4 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

11. Trong quản lý cấu hình phần mềm, `nhánh (branch)` được sử dụng để làm gì?

12 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

13. Trong kiến trúc phần mềm, `mẫu thiết kế` (design pattern) cung cấp điều gì?

14 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

14. Trong kiến trúc hướng dịch vụ (Service-Oriented Architecture - SOA), ESB (Enterprise Service Bus) đóng vai trò gì?

15 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

16. Điểm khác biệt chính giữa kiểm thử Alpha và kiểm thử Beta là gì?

17 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

20. Trong phát triển ứng dụng web, RESTful API là gì?

21 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

22. Công cụ phân tích mã tĩnh (static code analysis) được sử dụng để làm gì?

23 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

25. Chỉ số `độ phức tạp Cyclomatic` (Cyclomatic complexity) đo lường điều gì trong mã nguồn?

26 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

27. Kỹ thuật `kiểm thử hồi quy` (regression testing) được thực hiện khi nào?

28 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

29. Khái niệm `CI/CD` trong DevOps là viết tắt của cụm từ nào?

30 / 30

Category: Công nghệ phần mềm

Tags: Bộ đề 11

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ì?