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

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


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

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

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

A. Tự động hóa quá trình kiểm thử 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, hỗ trợ làm việc nhóm hiệu quả.
C. Triển khai ứng dụng lên môi trường production.
D. Thiết kế giao diện người dùng.

2. Trong mô hình Scrum, `Sprint′ là gì?

A. Cuộc họp hàng ngày của nhóm phát triển.
B. Một khoảng thời gian ngắn (thường từ 1 đến 4 tuần) trong đó nhóm Scrum làm việc để hoàn thành một tập hợp các công việc cụ thể và tạo ra một phiên bản phần mềm có thể sử dụng được.
C. Danh sách tất cả các công việc cần thực hiện trong dự án.
D. Vai trò của người quản lý dự án trong Scrum.

3. Đâu là mục đích của việc `Refactoring′ (Tái cấu trúc mã nguồn)?

A. Thêm chức năng mới vào phần mềm.
B. Sửa lỗi trong mã nguồn.
C. Cải thiện cấu trúc và chất lượng mã nguồn mà không thay đổi hành vi bên ngoài của phần mềm, giúp mã dễ đọc, dễ bảo trì và mở rộng hơn.
D. Tối ưu hóa hiệu suất của phần mềm.

4. Đâu là một kỹ thuật ước tính kích thước phần mềm phổ biến?

A. Phân tích SWOT.
B. Sử dụng Function Point Analysis (Phân tích điểm chức năng).
C. Mô hình PERT.
D. Biểu đồ Gantt.

5. Đâu là ví dụ về kiểm thử tích hợp (Integration testing)?

A. Kiểm tra xem một hàm (function) có hoạt động đúng như mong đợi hay không.
B. Kiểm tra giao diện người dùng (UI) có thân thiện và dễ sử dụng hay không.
C. Kiểm tra sự tương tác và luồng dữ liệu giữa các module hoặc thành phần khác nhau của hệ thống.
D. Kiểm tra hiệu suất của toàn bộ hệ thống dưới tải cao.

6. Trong UML (Unified Modeling Language), sơ đồ lớp (Class Diagram) được sử dụng để mô hình hóa điều gì?

A. Quy trình nghiệp vụ và luồng công việc.
B. Cấu trúc tĩnh của hệ thống, bao gồm các lớp, thuộc tính và mối quan hệ giữa chúng.
C. Tương tác giữa các đối tượng theo thời gian.
D. Kiến trúc triển khai phần mềm trên hạ tầng phần cứng.

7. Đâu là nhược điểm chính của mô hình Agile?

A. Khó thích ứng với yêu cầu thay đổi.
B. Thiếu sự linh hoạt trong quá trình phát triển.
C. Có thể khó quản lý tiến độ và ngân sách nếu phạm vi dự án không được kiểm soát chặt chẽ.
D. Không phù hợp với các dự án nhỏ.

8. Trong quy trình kiểm thử, `Acceptance testing′ (Kiểm thử chấp nhận) được thực hiện bởi ai?

A. Nhà phát triển phần mềm.
B. Nhóm kiểm thử độc lập.
C. Người dùng cuối hoặc khách hàng.
D. Quản lý dự án.

9. 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 dự án nào?

A. Dự án có yêu cầu thay đổi thường xuyên.
B. Dự án có yêu cầu không rõ ràng và dễ thay đổi.
C. Dự án có yêu cầu được xác định rõ ràng và ổn định từ đầu.
D. Dự án cần triển khai nhanh chóng và linh hoạt.

10. Khái niệm `Technical Debt′ (Nợ kỹ thuật) trong phát triển phần mềm đề cập đến điều gì?

A. Số tiền nợ nhà cung cấp công nghệ.
B. Chi phí bảo trì phần mềm sau khi triển khai.
C. 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 trong ngắn hạn, dẫn đến khó khăn và chi phí cao hơn trong tương lai.
D. Thời gian cần thiết để học một công nghệ mới.

11. Khái niệm `Code smell′ (Mùi mã nguồn) trong lập trình là gì?

A. Lỗi cú pháp trong mã nguồn.
B. Đoạn mã nguồn hoạt động không đúng.
C. Dấu hiệu trong mã nguồn cho thấy có thể có vấn đề sâu xa hơn về thiết kế hoặc chất lượng mã, cần được xem xét và cải thiện.
D. Phong cách viết mã không nhất quán.

12. Kiến trúc Microservices mang lại lợi ích gì so với kiến trúc Monolithic?

A. Giảm độ phức tạp trong triển khai và quản lý.
B. Tăng tính liên kết chặt chẽ giữa các thành phần.
C. Khả năng mở rộng và triển khai độc lập cho từng dịch vụ, tăng tính linh hoạt và khả năng chịu lỗi.
D. Đơn giản hóa việc kiểm thử toàn bộ hệ thống.

13. Yếu tố nào sau đây KHÔNG phải là một thuộc tính chất lượng phần mềm?

A. Tính năng (Functionality).
B. Hiệu suất (Performance).
C. Khả năng mở rộng (Scalability).
D. Giá thành rẻ (Low cost).

14. Đâu là một ví dụ về `Security testing′ (Kiểm thử bảo mật)?

A. Kiểm tra tốc độ tải trang web.
B. Kiểm tra xem hệ thống có dễ sử dụng hay không.
C. Thực hiện `penetration testing′ (kiểm thử xâm nhập) để tìm kiếm lỗ hổng bảo mật và đánh giá khả năng phòng thủ của hệ thống trước các cuộc tấn công.
D. Kiểm tra xem phần mềm có hoạt động đúng theo yêu cầu chức năng hay không.

15. Trong kiểm thử hiệu suất (Performance testing), `Load testing′ (Kiểm thử tải) nhằm mục đích gì?

A. Kiểm tra bảo mật của hệ thống.
B. Đánh giá hiệu suất của hệ thống dưới tải trọng dự kiến hoặc tải trọng cao hơn, để xác định khả năng chịu tải, điểm giới hạn và các vấn đề về hiệu suất.
C. Kiểm tra giao diện người dùng.
D. Kiểm tra chức năng của hệ thống.

16. Nguyên tắc `DRY′ (Don′t Repeat Yourself) trong lập trình khuyến khích điều gì?

A. Viết mã nguồn lặp đi lặp lại để dễ hiểu.
B. Tránh trùng lặp mã nguồn bằng cách trừu tượng hóa và tái sử dụng mã, giúp mã dễ bảo trì và giảm nguy cơ lỗi.
C. Sao chép và dán mã từ các dự án khác.
D. Viết mã nguồn càng dài càng tốt.

17. Đâu là một công cụ phổ biến để quản lý dự án phần mềm theo phương pháp Agile?

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

18. Đâu là ví dụ về `Non-functional requirement′ (Yêu cầu phi chức năng)?

A. Hệ thống phải cho phép người dùng đăng nhập bằng tên người dùng và mật khẩu.
B. Hệ thống phải hiển thị danh sách sản phẩm theo danh mục.
C. Hệ thống phải có thời gian phản hồi dưới 2 giây khi có 100 người dùng đồng thời.
D. Hệ thống phải tính toán tổng giá trị đơn hàng.

19. Trong quản lý rủi ro dự án phần mềm, `Risk mitigation′ (Giảm thiểu rủi ro) là gì?

A. Loại bỏ hoàn toàn rủi ro.
B. Chấp nhận rủi ro và không làm gì.
C. Thực hiện các hành động để giảm xác suất xảy ra hoặc tác động tiêu cực của rủi ro.
D. Chuyển rủi ro sang cho bên thứ ba.

20. Phương pháp kiểm thử hộp đen (Black-box testing) tập trung vào điều gì?

A. Cấu trúc bên trong và logic của mã nguồn.
B. Yêu cầu chức năng và hành vi bên ngoài của phần mềm.
C. Hiệu suất và khả năng mở rộng của hệ thống.
D. Mức độ bảo mật và an toàn của dữ liệu.

21. Trong kiểm thử phần mềm, `Regression testing′ (Kiểm thử hồi quy) đượ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 vào phần mềm, để đảm bảo các thay đổi không gây ra lỗi mới hoặc ảnh hưởng xấu đến các chức năng đã có.
C. Chỉ khi có yêu cầu từ khách hàng.
D. Trước khi bàn giao phần mềm cho khách hàng.

22. Trong quản lý cấu hình phần mềm, `Baseline′ (Đường cơ sở) là gì?

A. Phiên bản phần mềm mới nhất.
B. Một cấu hình đã được phê duyệt của các thành phần phần mềm tại một thời điểm cụ thể, được sử dụng làm điểm tham chiếu cho các thay đổi tiếp theo.
C. Bản sao lưu dự phòng của mã nguồn.
D. Kế hoạch dự án ban đầu.

23. Mục đích chính của việc ước tính chi phí và thời gian trong dự án phần mềm là gì?

A. Để đảm bảo dự án luôn hoàn thành đúng thời hạn và trong ngân sách ban đầu, bất kể tình huống nào.
B. Để lập kế hoạch dự án thực tế, phân bổ nguồn lực hợp lý, và quản lý rủi ro, giúp dự án có khả năng thành công cao hơn.
C. Để gây áp lực lên nhóm phát triển làm việc nhanh hơn.
D. Để xác định mức lương cho các thành viên trong nhóm dự án.

24. Đâu là một thách thức chính khi phát triển phần mềm nhúng (Embedded software)?

A. Dễ dàng thay đổi yêu cầu trong quá trình phát triển.
B. Nguồn tài nguyên phần cứng hạn chế (bộ nhớ, bộ xử lý) và yêu cầu khắt khe về thời gian thực.
C. Sử dụng các ngôn ngữ lập trình bậc cao.
D. Triển khai trên môi trường đám mây.

25. Trong kiểm thử phần mềm, `Unit testing′ (Kiểm thử đơn vị) tập trung vào việc kiểm tra điều gì?

A. Toàn bộ hệ thống phần mềm.
B. Từng module hoặc thành phần riêng lẻ của phần mềm (ví dụ: hàm, lớp, phương thức).
C. Giao diện người dùng.
D. Hiệu suất hệ thống dưới tải cao.

26. Khái niệm `Continuous Integration′ (Tích hợp liên tục) trong DevOps là gì?

A. Liên tục thu thập yêu cầu từ người dùng.
B. Quy trình tự động tích hợp mã nguồn từ nhiều nhà phát triển vào kho chung một cách thường xuyên, giúp phát hiện sớm lỗi tích hợp và giảm xung đột.
C. Liên tục triển khai phần mềm lên môi trường production.
D. Liên tục giám sát hiệu suất hệ thống.

27. Đâu là mục tiêu chính của kỹ thuật phần mềm?

A. Tạo ra phần mềm chạy nhanh nhất có thể.
B. Phát triển và duy trì các hệ thống phần mềm chất lượng cao, đúng thời hạn và trong ngân sách.
C. Viết mã nguồn ngắn gọn và phức tạp nhất.
D. Tối đa hóa lợi nhuận từ việc bán phần mềm.

28. Nguyên tắc SOLID trong thiết kế hướng đối tượng giúp đạt được mục tiêu nào?

A. Tăng tốc độ phát triển phần mềm.
B. Giảm chi phí phần cứng cho hệ thống.
C. Xây dựng phần mềm dễ bảo trì, mở rộng và tái sử dụng.
D. Tối ưu hóa hiệu suất cơ sở dữ liệu.

29. Đâu là lợi ích của việc sử dụng `Design patterns′ (Mẫu thiết kế) trong phát triển phần mềm?

A. Tự động tạo ra mã nguồn hoàn chỉnh.
B. Giải quyết các vấn đề thiết kế phần mềm phổ biến một cách hiệu quả, đã được kiểm chứng và tái sử dụng, giúp tăng tốc độ phát triển và cải thiện chất lượng mã.
C. Giảm thiểu nhu cầu kiểm thử phần mềm.
D. Thay thế hoàn toàn kiến trúc phần mềm.

30. Phương pháp phát triển phần mềm `DevOps′ nhấn mạnh vào điều gì?

A. Phát triển phần mềm nhanh nhất có thể, bỏ qua các quy trình kiểm thử.
B. Sự hợp tác chặt chẽ giữa bộ phận Phát triển (Development) và bộ phận Vận hành (Operations) để tự động hóa và tối ưu hóa quy trình phát hành phần mềm.
C. Tập trung hoàn toàn vào việc viết mã nguồn chất lượng cao, không quan tâm đến triển khai.
D. Chỉ sử dụng các công nghệ mã nguồn mở.

1 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

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

2 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

2. Trong mô hình Scrum, 'Sprint′ là gì?

3 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

3. Đâu là mục đích của việc 'Refactoring′ (Tái cấu trúc mã nguồn)?

4 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

4. Đâu là một kỹ thuật ước tính kích thước phần mềm phổ biến?

5 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

5. Đâu là ví dụ về kiểm thử tích hợp (Integration testing)?

6 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

6. Trong UML (Unified Modeling Language), sơ đồ lớp (Class Diagram) được sử dụng để mô hình hóa điều gì?

7 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

7. Đâu là nhược điểm chính của mô hình Agile?

8 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

8. Trong quy trình kiểm thử, 'Acceptance testing′ (Kiểm thử chấp nhận) được thực hiện bởi ai?

9 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

9. 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 dự án nào?

10 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

10. Khái niệm 'Technical Debt′ (Nợ kỹ thuật) trong phát triển phần mềm đề cập đến điều gì?

11 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

11. Khái niệm 'Code smell′ (Mùi mã nguồn) trong lập trình là gì?

12 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

12. Kiến trúc Microservices mang lại lợi ích gì so với kiến trúc Monolithic?

13 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

13. Yếu tố nào sau đây KHÔNG phải là một thuộc tính chất lượng phần mềm?

14 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

14. Đâu là một ví dụ về 'Security testing′ (Kiểm thử bảo mật)?

15 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

15. Trong kiểm thử hiệu suất (Performance testing), 'Load testing′ (Kiểm thử tải) nhằm mục đích gì?

16 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

16. Nguyên tắc 'DRY′ (Don′t Repeat Yourself) trong lập trình khuyến khích điều gì?

17 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

17. Đâu là một công cụ phổ biến để quản lý dự án phần mềm theo phương pháp Agile?

18 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

18. Đâu là ví dụ về 'Non-functional requirement′ (Yêu cầu phi chức năng)?

19 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

19. Trong quản lý rủi ro dự án phần mềm, 'Risk mitigation′ (Giảm thiểu rủi ro) là gì?

20 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

20. Phương pháp kiểm thử hộp đen (Black-box testing) tập trung vào điều gì?

21 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

21. Trong kiểm thử phần mềm, 'Regression testing′ (Kiểm thử hồi quy) được thực hiện khi nào?

22 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

22. Trong quản lý cấu hình phần mềm, 'Baseline′ (Đường cơ sở) là gì?

23 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

23. Mục đích chính của việc ước tính chi phí và thời gian trong dự án phần mềm là gì?

24 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

24. Đâu là một thách thức chính khi phát triển phần mềm nhúng (Embedded software)?

25 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

25. Trong kiểm thử phần mềm, 'Unit testing′ (Kiểm thử đơn vị) tập trung vào việc kiểm tra điều gì?

26 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

26. Khái niệm 'Continuous Integration′ (Tích hợp liên tục) trong DevOps là gì?

27 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

27. Đâu là mục tiêu chính của kỹ thuật phần mềm?

28 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

28. Nguyên tắc SOLID trong thiết kế hướng đối tượng giúp đạt được mục tiêu nào?

29 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

29. Đâu là lợi ích của việc sử dụng 'Design patterns′ (Mẫu thiết kế) trong phát triển phần mềm?

30 / 30

Category: Đề thi, bài tập trắc nghiệm online Công nghệ phần mềm

Tags: Bộ đề 10

30. Phương pháp phát triển phần mềm 'DevOps′ nhấn mạnh vào điều gì?