Đề 4 – 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

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

1. Mô hình Kanban tập trung vào việc gì trong quản lý quy trình phát triển phần mềm?

A. Chia nhỏ dự án thành các sprint ngắn và lặp đi lặp lại.
B. Quản lý luồng công việc, giới hạn công việc đang thực hiện (WIP), và tối ưu hóa quy trình.
C. Phân công vai trò và trách nhiệm rõ ràng cho từng thành viên trong nhóm.
D. Tạo tài liệu chi tiết cho mọi giai đoạn phát triển.

2. Điều gì xảy ra nếu một yêu cầu phần mềm không rõ ràng hoặc mâu thuẫn?

A. Không ảnh hưởng đến dự án.
B. Có thể dẫn đến hiểu lầm, lỗi thiết kế và phát triển sai lệch, gây tốn kém thời gian và chi phí sửa chữa sau này.
C. Giúp dự án linh hoạt hơn.
D. Tăng tính sáng tạo cho đội phát triển.

3. Trong mô hình xoắn ốc (Spiral), rủi ro được xem xét và đánh giá ở giai đoạn nào?

A. Giai đoạn lập kế hoạch (Planning).
B. Giai đoạn phân tích rủi ro (Risk Analysis).
C. Giai đoạn phát triển (Engineering).
D. Giai đoạn đánh giá và phản hồi của khách hàng (Customer Evaluation).

4. Phương pháp kiểm thử nào tập trung vào trải nghiệm người dùng cuối?

A. Kiểm thử đơn vị (Unit testing).
B. Kiểm thử hệ thống (System testing).
C. Kiểm thử chấp nhận của người dùng (User Acceptance Testing - UAT).
D. Kiểm thử hiệu năng (Performance testing).

5. Đâu KHÔNG phải là một giai đoạn trong vòng đời phát triển phần mềm (SDLC) điển hình?

A. Phân tích yêu cầu (Requirements Analysis).
B. Thiết kế (Design).
C. Marketing và bán hàng (Marketing and Sales).
D. Kiểm thử (Testing).

6. Đâu KHÔNG phải là một loại tài liệu thường được tạo ra trong giai đoạn phân tích yêu cầu?

A. Đặc tả yêu cầu phần mềm (SRS).
B. Mô hình ca sử dụng (Use Case Model).
C. Kế hoạch kiểm thử (Test Plan).
D. Mô hình thực thể quan hệ (ERD) mức khái niệm.

7. Đâu là một lợi ích của việc sử dụng kiểm thử tự động (Automated testing)?

A. Loại bỏ hoàn toàn nhu cầu kiểm thử thủ công.
B. Giảm thời gian và chi phí kiểm thử, tăng độ tin cậy và khả năng lặp lại của quá trình kiểm thử.
C. Đảm bảo 100% không có lỗi trong phần mềm.
D. Thay thế hoàn toàn vai trò của người kiểm thử (tester).

8. Trong mô hình Agile, 'Sprint Review' (đánh giá Sprint) được thực hiện với mục đích gì?

A. Lập kế hoạch cho Sprint tiếp theo.
B. Kiểm tra mã nguồn của các thành viên trong nhóm.
C. Trình bày kết quả Sprint đã hoàn thành cho khách hàng và các bên liên quan, thu thập phản hồi.
D. Giải quyết các xung đột trong nhóm phát triển.

9. Đâu là lợi ích chính của việc sử dụng kiến trúc Microservices?

A. Giảm độ phức tạp của việc triển khai.
B. Tăng cường tính bảo mật tổng thể của hệ thống.
C. Khả năng mở rộng và linh hoạt cao, dễ dàng cập nhật và triển khai độc lập các dịch vụ.
D. Đơn giản hóa việc quản lý cơ sở dữ liệu.

10. Nguyên tắc SOLID nào khuyến khích việc một lớp (class) chỉ nên có một lý do duy nhất để thay đổi?

A. Nguyên tắc Đơn nhiệm (Single Responsibility Principle).
B. Nguyên tắc Đóng mở (Open/Closed Principle).
C. Nguyên tắc Thay thế Liskov (Liskov Substitution Principle).
D. Nguyên tắc Phân tách giao diện (Interface Segregation Principle).

11. Đâu là một thách thức phổ biến khi phát triển phần mềm quy mô lớn?

A. Tuyển dụng đủ lập trình viên.
B. Quản lý độ phức tạp, sự phối hợp giữa nhiều nhóm phát triển và đảm bảo tính nhất quán của hệ thống.
C. Chọn ngôn ngữ lập trình phù hợp.
D. Mua đủ máy tính cho lập trình viên.

12. Công cụ nào sau đây thường được sử dụng để quản lý dự án phần mềm?

A. Microsoft Word.
B. Microsoft Excel.
C. Jira.
D. PowerPoint.

13. Khái niệm 'refactoring' trong phát triển phần mềm là gì?

A. Viết lại toàn bộ mã nguồn từ đầu.
B. Thay đổi chức năng của phần mềm để đáp ứng yêu cầu mới.
C. Cải thiện cấu trúc mã nguồn mà không thay đổi hành vi bên ngoài của phần mềm.
D. Sửa lỗi và vá lỗ hổng bảo mật trong mã nguồn.

14. Đâu là mục tiêu chính của việc bảo trì phần mềm?

A. Phát triển các tính năng hoàn toàn mới cho phần mềm.
B. Sửa lỗi, cải thiện hiệu suất, và thích ứng phần mềm với môi trường thay đổi.
C. Thay thế phần mềm hiện tại bằng một phần mềm mới hơn.
D. Tài liệu hóa lại toàn bộ mã nguồn phần mềm.

15. Đâu là một thách thức chính khi triển khai kiến trúc Microservices?

A. Dễ dàng quản lý cơ sở dữ liệu phân tán.
B. Phức tạp trong việc quản lý, giám sát, và điều phối các dịch vụ phân tán.
C. Giảm độ phức tạp trong phát triển.
D. Dễ dàng đảm bảo tính toàn vẹn dữ liệu.

16. Đâu là mục đích chính của kiểm thử tích hợp (Integration testing)?

A. Kiểm tra từng đơn vị (module) mã nguồn riêng lẻ.
B. Kiểm tra sự tương tác và làm việc cùng nhau của các module khác nhau trong hệ thống.
C. Kiểm tra hiệu suất của toàn bộ hệ thống.
D. Kiểm tra giao diện người dùng (UI) của phần mềm.

17. Đâu là một ví dụ về kiểm thử phi chức năng (Non-functional testing)?

A. Kiểm thử đơn vị (Unit testing).
B. Kiểm thử tích hợp (Integration testing).
C. Kiểm thử bảo mật (Security testing).
D. Kiểm thử hệ thống (System testing).

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

A. Số tiền nợ các nhà cung cấp công nghệ.
B. Hậu quả của việc đưa ra các quyết định thiết kế phần mềm không tối ưu trong ngắn hạn.
C. Chi phí để nâng cấp phần cứng máy chủ.
D. Thời gian cần thiết để đào tạo nhân viên mới về công nghệ.

19. Công cụ quản lý phiên bản Git được sử dụng để làm gì?

A. Viết mã nguồn phần mềm.
B. Theo dõi và quản lý các thay đổi của mã nguồn theo thời gian.
C. Biên dịch mã nguồn thành mã máy.
D. Triển khai phần mềm lên máy chủ.

20. Trong ngữ cảnh phát triển phần mềm, 'code smell' là gì?

A. Mùi của mã nguồn khi được biên dịch.
B. Dấu hiệu trong mã nguồn có thể cho thấy có vấn đề tiềm ẩn về thiết kế hoặc chất lượng mã.
C. Lỗi cú pháp trong mã nguồn.
D. Phong cách viết mã không theo chuẩn.

21. Kiểm thử hộp đen (Black-box testing) tập trung vào điều gì?

A. Cấu trúc mã nguồn bên trong của phần mềm.
B. Chức năng và hành vi bên ngoài của phần mềm.
C. Hiệu suất của phần mềm trên các hệ điều hành khác nhau.
D. Mức độ bảo mật của phần mềm.

22. Phương pháp luận Scrum thuộc loại mô hình phát triển phần mềm nào?

A. Mô hình thác nước (Waterfall).
B. Mô hình lặp (Iterative).
C. Mô hình xoắn ốc (Spiral).
D. Mô hình Agile.

23. Trong quy trình kiểm thử phần mềm, kiểm thử hồi quy (Regression testing) được thực hiện khi nào?

A. Trước khi phát triển bất kỳ tính năng mới nào.
B. Sau khi sửa lỗi hoặc thêm tính năng mới để đảm bảo các thay đổi không gây ra lỗi ở những phần khác của phần mềm.
C. Chỉ khi phát hiện lỗi nghiêm trọng trong quá trình kiểm thử tích hợp.
D. Định kỳ hàng tháng để đảm bảo chất lượng phần mềm ổn định.

24. Trong mô hình thác nước (Waterfall), giai đoạn nào diễn ra đầu tiên?

A. Kiểm thử (Testing).
B. Bảo trì (Maintenance).
C. Phân tích yêu cầu (Requirements Analysis).
D. Thiết kế (Design).

25. Phương pháp phát triển phần mềm Agile nhấn mạnh điều gì?

A. Lập kế hoạch chi tiết và tuân thủ nghiêm ngặt kế hoạch.
B. Sự linh hoạt, thích ứng với thay đổi và làm việc nhóm.
C. Tài liệu hóa đầy đủ mọi giai đoạn phát triển.
D. Phân chia công việc rõ ràng và độc lập giữa các thành viên.

26. Yếu tố nào sau đây quan trọng nhất trong việc xác định thành công của một dự án phần mềm?

A. Sử dụng công nghệ mới nhất.
B. Hoàn thành dự án đúng thời hạn và trong ngân sách.
C. Đáp ứng đúng yêu cầu của khách hàng và người dùng.
D. Có tài liệu đầy đủ và chi tiết.

27. Nguyên tắc 'YAGNI' (You Aren't Gonna Need It) trong phát triển phần mềm khuyến khích điều gì?

A. Viết mã phức tạp và tối ưu ngay từ đầu.
B. Chỉ thêm chức năng khi thực sự cần thiết, tránh thêm chức năng có thể không bao giờ được sử dụng.
C. Tập trung vào tài liệu hóa đầy đủ mọi thứ.
D. Sử dụng công nghệ mới nhất, ngay cả khi chưa cần thiết.

28. Khái niệm 'technical debt' nên được quản lý như thế nào trong dự án phần mềm?

A. Hoàn toàn bỏ qua vì nó không ảnh hưởng đến tiến độ dự án trước mắt.
B. Chấp nhận nó như một phần tất yếu và không cần quan tâm.
C. Nhận diện, theo dõi và lập kế hoạch trả nợ kỹ thuật dần dần thông qua refactoring và cải thiện mã nguồn.
D. Trả nợ kỹ thuật bằng cách viết lại toàn bộ mã nguồn khi có đủ thời gian.

29. Kiểm thử hiệu năng (Performance testing) nhằm mục đích gì?

A. Đảm bảo phần mềm hoạt động đúng chức năng.
B. Đánh giá tốc độ, khả năng đáp ứng, độ ổn định và khả năng mở rộng của phần mềm dưới tải.
C. Tìm kiếm lỗi bảo mật trong phần mềm.
D. Kiểm tra giao diện người dùng (UI) có thân thiện hay không.

30. Mục tiêu chính của quy trình phát triển phần mềm là gì?

A. Tối đa hóa lợi nhuận cho nhà phát triển.
B. Đáp ứng nhu cầu của người dùng và các bên liên quan.
C. Áp dụng công nghệ mới nhất.
D. Hoàn thành dự án đúng thời hạn, bất kể chất lượng.

1 / 30

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

Tags: Bộ đề 4

1. Mô hình Kanban tập trung vào việc gì trong quản lý quy trình phát triển phần mềm?

2 / 30

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

Tags: Bộ đề 4

2. Điều gì xảy ra nếu một yêu cầu phần mềm không rõ ràng hoặc mâu thuẫn?

3 / 30

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

Tags: Bộ đề 4

3. Trong mô hình xoắn ốc (Spiral), rủi ro được xem xét và đánh giá ở giai đoạn nào?

4 / 30

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

Tags: Bộ đề 4

4. Phương pháp kiểm thử nào tập trung vào trải nghiệm người dùng cuối?

5 / 30

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

Tags: Bộ đề 4

5. Đâu KHÔNG phải là một giai đoạn trong vòng đời phát triển phần mềm (SDLC) điển hình?

6 / 30

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

Tags: Bộ đề 4

6. Đâu KHÔNG phải là một loại tài liệu thường được tạo ra trong giai đoạn phân tích yêu cầu?

7 / 30

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

Tags: Bộ đề 4

7. Đâu là một lợi ích của việc sử dụng kiểm thử tự động (Automated testing)?

8 / 30

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

Tags: Bộ đề 4

8. Trong mô hình Agile, `Sprint Review` (đánh giá Sprint) được thực hiện với mục đích gì?

9 / 30

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

Tags: Bộ đề 4

9. Đâu là lợi ích chính của việc sử dụng kiến trúc Microservices?

10 / 30

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

Tags: Bộ đề 4

10. Nguyên tắc SOLID nào khuyến khích việc một lớp (class) chỉ nên có một lý do duy nhất để thay đổi?

11 / 30

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

Tags: Bộ đề 4

11. Đâu là một thách thức phổ biến khi phát triển phần mềm quy mô lớn?

12 / 30

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

Tags: Bộ đề 4

12. Công cụ nào sau đây thường được sử dụng để quản lý dự án phần mềm?

13 / 30

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

Tags: Bộ đề 4

13. Khái niệm `refactoring` trong phát triển phần mềm là gì?

14 / 30

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

Tags: Bộ đề 4

14. Đâu là mục tiêu chính của việc bảo trì phần mềm?

15 / 30

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

Tags: Bộ đề 4

15. Đâu là một thách thức chính khi triển khai kiến trúc Microservices?

16 / 30

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

Tags: Bộ đề 4

16. Đâu là mục đích chính của kiểm thử tích hợp (Integration testing)?

17 / 30

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

Tags: Bộ đề 4

17. Đâu là một ví dụ về kiểm thử phi chức năng (Non-functional testing)?

18 / 30

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

Tags: Bộ đề 4

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

19 / 30

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

Tags: Bộ đề 4

19. Công cụ quản lý phiên bản Git được sử dụng để làm gì?

20 / 30

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

Tags: Bộ đề 4

20. Trong ngữ cảnh phát triển phần mềm, `code smell` là gì?

21 / 30

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

Tags: Bộ đề 4

21. Kiểm thử hộp đen (Black-box testing) tập trung vào điều gì?

22 / 30

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

Tags: Bộ đề 4

22. Phương pháp luận Scrum thuộc loại mô hình phát triển phần mềm nào?

23 / 30

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

Tags: Bộ đề 4

23. Trong quy trình kiểm thử phần mềm, kiểm thử hồi quy (Regression testing) được thực hiện khi nào?

24 / 30

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

Tags: Bộ đề 4

24. Trong mô hình thác nước (Waterfall), giai đoạn nào diễn ra đầu tiên?

25 / 30

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

Tags: Bộ đề 4

25. Phương pháp phát triển phần mềm Agile nhấn mạnh điều gì?

26 / 30

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

Tags: Bộ đề 4

26. Yếu tố nào sau đây quan trọng nhất trong việc xác định thành công của một dự án phần mềm?

27 / 30

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

Tags: Bộ đề 4

27. Nguyên tắc `YAGNI` (You Aren`t Gonna Need It) trong phát triển phần mềm khuyến khích điều gì?

28 / 30

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

Tags: Bộ đề 4

28. Khái niệm `technical debt` nên được quản lý như thế nào trong dự án phần mềm?

29 / 30

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

Tags: Bộ đề 4

29. Kiểm thử hiệu năng (Performance testing) nhằm mục đích gì?

30 / 30

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

Tags: Bộ đề 4

30. Mục tiêu chính của quy trình phát triển phần mềm là gì?