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

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

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

1. Khái niệm `Coupling′ (Tính liên kết) và `Cohesion′ (Tính gắn kết) trong thiết kế phần mềm liên quan đến điều gì?

A. Hiệu suất và khả năng mở rộng của hệ thống.
B. Mức độ độc lập và trách nhiệm của các module trong hệ thống.
C. Bảo mật và độ tin cậy của phần mềm.
D. Giao diện người dùng và trải nghiệm người dùng.

2. Công cụ `Git′ được sử dụng chủ yếu cho mục đích gì trong phát triển phần mềm?

A. Quản lý cơ sở dữ liệu.
B. Kiểm thử tự động.
C. Quản lý phiên bản mã nguồn (Version Control).
D. Triển khai ứng dụng lên server.

3. Đâu là một công cụ phổ biến cho việc quản lý dự án và theo dõi lỗi (Bug tracking) trong phát triển phần mềm?

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

4. Kiểu kiểm thử `Regression Testing′ (Kiểm thử hồi quy) được thực hiện khi nào?

A. Khi phát triển tính năng mới hoàn toàn.
B. Khi có thay đổi mã nguồn (sửa lỗi, thêm tính năng) để đảm bảo các chức năng cũ không bị ảnh hưởng tiêu cực.
C. Trước khi triển khai phần mềm lần đầu.
D. Để kiểm tra hiệu năng của phần mềm.

5. Đâu là một thách thức chính khi phát triển phần mềm hướng dịch vụ (Service-Oriented Architecture - SOA)?

A. Khó khăn trong việc quản lý giao diện người dùng.
B. Độ phức tạp trong việc quản lý và phối hợp nhiều dịch vụ phân tán.
C. Chi phí phần cứng tăng cao.
D. Khó khăn trong việc kiểm thử đơn vị.

6. Phương pháp `Pair Programming′ (Lập trình cặp đôi) mang lại lợi ích chính nào?

A. Tăng tốc độ viết mã nhanh gấp đôi.
B. Giảm chi phí nhân công.
C. Cải thiện chất lượng mã nguồn, giảm lỗi và chia sẻ kiến thức giữa các thành viên.
D. Giảm áp lực công việc cho lập trình viên.

7. Khái niệm `Technical Debt′ (Nợ kỹ thuật) trong công nghệ phần mềm ám chỉ điều gì?

A. Số tiền nợ nhà cung cấp công nghệ.
B. Khối lượng công việc kiểm thử còn tồn đọng.
C. Hậu quả của việc đưa ra các quyết định thiết kế hoặc mã hóa không tối ưu trong ngắn hạn.
D. Chi phí bảo trì phần mềm hàng năm.

8. Phương pháp Agile Manifesto ưu tiên điều gì hơn trong phát triển phần mềm?

A. Quy trình và công cụ toàn diện.
B. Tài liệu đầy đủ.
C. Hợp đồng và đàm phán.
D. Cá nhân và tương tác hơn là quy trình và công cụ.

9. UML (Unified Modeling Language) được sử dụng chủ yếu trong công nghệ phần mềm để làm gì?

A. Viết mã nguồn chương trình.
B. Quản lý dự án phần mềm.
C. Mô hình hóa và thiết kế hệ thống phần mềm.
D. Kiểm thử hiệu năng phần mềm.

10. Phương pháp kiểm thử `Smoke Testing′ thường được thực hiện khi nào?

A. Sau khi hoàn thành tất cả các giai đoạn kiểm thử chi tiết.
B. Trước khi bắt đầu kiểm thử hiệu năng.
C. Sau mỗi lần tích hợp mã nguồn mới hoặc build mới để kiểm tra nhanh các chức năng chính.
D. Chỉ khi phát hiện lỗi nghiêm trọng.

11. 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 chi tiết và dễ hiểu.
B. Tối ưu hóa hiệu suất mã nguồn bằng cách lặp lại các đoạn code quan trọng.
C. Tránh lặp lại mã nguồn bằng cách trừu tượng hóa và tái sử dụng code.
D. Viết tài liệu hướng dẫn sử dụng chi tiết cho người dùng.

12. Phương pháp ước tính `Planning Poker′ thường được sử dụng trong Agile∕Scrum để làm gì?

A. Ước tính chi phí dự án.
B. Ước tính thời gian hoàn thành dự án.
C. Ước tính độ phức tạp và nỗ lực cần thiết để hoàn thành các user story hoặc task.
D. Ước tính số lượng thành viên cần thiết cho dự án.

13. Đâu là mục tiêu chính của việc tái cấu trúc mã nguồn (Code Refactoring)?

A. Thêm chức năng mới cho phần mềm.
B. Sửa lỗi logic trong chương trình.
C. Cải thiện cấu trúc và tính dễ đọc của mã nguồn mà không thay đổi chức năng bên ngoài.
D. Tăng tốc độ thực thi của chương trình.

14. Khái niệm `Refactoring to patterns′ nghĩa là gì?

A. Viết lại toàn bộ mã nguồn từ đầu.
B. Tối ưu hóa hiệu suất bằng cách sử dụng các thuật toán phức tạp.
C. Tái cấu trúc mã nguồn hiện có để áp dụng các Design Patterns đã được chứng minh và chuẩn hóa.
D. Thay đổi ngôn ngữ lập trình của dự án.

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

A. Tăng tốc độ phát triển phần mềm.
B. Giảm thiểu chi phí phần cứng.
C. Tạo ra phần mềm dễ bảo trì, mở rộng và tái sử dụng.
D. Đảm bảo tính bảo mật tuyệt đối cho phần mềm.

16. 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. Vai trò của người quản lý dự án.
C. Khoảng thời gian cố định (thường từ 1 đến 4 tuần) để nhóm phát triển hoàn thành một lượng công việc nhất định.
D. Danh sách các công việc cần thực hiện trong dự án.

17. Design Pattern `Singleton′ giải quyết vấn đề gì trong thiết kế phần mềm?

A. Tạo ra nhiều đối tượng của một lớp.
B. Đảm bảo một lớp chỉ có duy nhất một thể hiện (instance) và cung cấp một điểm truy cập toàn cục đến nó.
C. Quản lý vòng đời của đối tượng.
D. Giảm sự phụ thuộc giữa các lớp.

18. Kiểu kiểm thử `Acceptance Testing′ (Kiểm thử chấp nhận) được thực hiện bởi ai và nhằm mục đích gì?

A. Nhóm phát triển, để kiểm tra mã nguồn.
B. Nhóm kiểm thử độc lập, để tìm lỗi hệ thống.
C. Người dùng cuối hoặc khách hàng, để xác nhận phần mềm đáp ứng yêu cầu và có thể chấp nhận sử dụng.
D. Quản lý dự án, để đánh giá tiến độ dự án.

19. Trong kiểm thử phần mềm, kiểm thử hộp đen (Black Box Testing) tập trung vào yếu tố nào?

A. Cấu trúc code bên trong của phần mềm.
B. Luồng điều khiển của chương trình.
C. Yêu cầu chức năng và đầu ra của phần mềm.
D. Độ phức tạp của thuật toán.

20. 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?

A. Giai đoạn phân tích yêu cầu.
B. Giai đoạn thiết kế hệ thống.
C. Giai đoạn phát triển và mã hóa.
D. Giai đoạn triển khai và bảo trì.

21. Đâu không phải là một loại yêu cầu phi chức năng (Non-functional requirement) của phần mềm?

A. Hiệu năng (Performance).
B. Bảo mật (Security).
C. Tính năng đăng nhập người dùng (User login functionality).
D. Khả năng mở rộng (Scalability).

22. CI∕CD (Continuous Integration∕Continuous Delivery) là gì và mang lại lợi ích chính nào?

A. Phương pháp quản lý dự án giúp giảm chi phí.
B. Quy trình tự động hóa tích hợp và phân phối phần mềm, giúp phát hành nhanh chóng và thường xuyên hơn.
C. Công cụ kiểm thử hiệu năng hệ thống.
D. Mô hình phát triển phần mềm thay thế Agile.

23. Trong mô hình Kanban, `Work in Progress (WIP) limits′ có ý nghĩa gì?

A. Giới hạn số lượng thành viên trong nhóm phát triển.
B. Giới hạn thời gian cho mỗi giai đoạn phát triển.
C. Giới hạn số lượng công việc đang thực hiện ở mỗi giai đoạn để tăng hiệu suất và giảm tắc nghẽn.
D. Giới hạn số lượng lỗi được phép tồn tại trong phần mềm.

24. Đâu là lợi ích chính của việc sử dụng hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS)?

A. Khả năng xử lý dữ liệu phi cấu trúc tốt hơn.
B. Tính linh hoạt cao trong việc thay đổi cấu trúc dữ liệu.
C. Đảm bảo tính toàn vẹn dữ liệu (Data Integrity) thông qua các ràng buộc và quan hệ.
D. Tốc độ truy xuất dữ liệu nhanh hơn trong mọi trường hợp.

25. Trong quy trình kiểm soát phiên bản (Version Control), nhánh `main′ hoặc `master′ thường được dùng để làm gì?

A. Phát triển các tính năng mới độc lập.
B. Sửa lỗi khẩn cấp (hotfix).
C. Chứa mã nguồn ổn định và đã được kiểm thử của phiên bản chính thức.
D. Thử nghiệm các công nghệ mới.

26. 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 liên tục và không rõ ràng.
B. Dự án có rủi ro cao và cần linh hoạt trong quá trình phát triển.
C. Dự án có yêu cầu được xác định rõ ràng và ít thay đổi trong suốt vòng đời.
D. Dự án cần triển khai nhanh chóng và chấp nhận sự không hoàn chỉnh ban đầu.

27. Trong thiết kế API (Application Programming Interface), RESTful API tuân theo kiến trúc nào?

A. Kiến trúc hướng sự kiện (Event-driven architecture).
B. Kiến trúc hướng dịch vụ (Service-oriented architecture - SOA).
C. Kiến trúc dựa trên trạng thái (Stateless architecture).
D. Kiến trúc hướng đối tượng (Object-oriented architecture).

28. Mục tiêu chính của việc `Phân tích yêu cầu′ (Requirements Analysis) trong quy trình phát triển phần mềm là gì?

A. Viết mã nguồn chương trình.
B. Thiết kế giao diện người dùng.
C. Hiểu rõ và làm rõ các nhu cầu và mong muốn của người dùng và các bên liên quan để xác định yêu cầu phần mềm.
D. Kiểm thử phần mềm để tìm lỗi.

29. Đâu là mục tiêu chính của giai đoạn `Bảo trì phần mềm′ (Software Maintenance)?

A. Phát triển các tính năng mới cho phần mềm.
B. Thiết kế lại kiến trúc hệ thống.
C. Sửa lỗi, cải thiện hiệu năng, và thích ứng phần mềm với môi trường thay đổi sau khi triển khai.
D. Kiểm thử phần mềm trước khi phát hành.

30. Khái niệm `Microservices′ trong kiến trúc phần mềm là gì?

A. Một loại cơ sở dữ liệu mới.
B. Một phương pháp kiểm thử phần mềm.
C. Một kiến trúc ứng dụng chia nhỏ ứng dụng thành các dịch vụ nhỏ, độc lập, giao tiếp với nhau qua mạng.
D. Một công cụ quản lý dự án phần mềm.

1 / 30

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

Tags: Bộ đề 6

1. Khái niệm 'Coupling′ (Tính liên kết) và 'Cohesion′ (Tính gắn kết) trong thiết kế phần mềm liên quan đến điều gì?

2 / 30

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

Tags: Bộ đề 6

2. Công cụ 'Git′ được sử dụng chủ yếu cho mục đích gì trong phát triển phần mềm?

3 / 30

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

Tags: Bộ đề 6

3. Đâu là một công cụ phổ biến cho việc quản lý dự án và theo dõi lỗi (Bug tracking) trong phát triển phần mềm?

4 / 30

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

Tags: Bộ đề 6

4. Kiểu kiểm thử 'Regression Testing′ (Kiểm thử hồi quy) được thực hiện khi nào?

5 / 30

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

Tags: Bộ đề 6

5. Đâu là một thách thức chính khi phát triển phần mềm hướng dịch vụ (Service-Oriented Architecture - SOA)?

6 / 30

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

Tags: Bộ đề 6

6. Phương pháp 'Pair Programming′ (Lập trình cặp đôi) mang lại lợi ích chính nào?

7 / 30

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

Tags: Bộ đề 6

7. Khái niệm 'Technical Debt′ (Nợ kỹ thuật) trong công nghệ phần mềm ám chỉ điều gì?

8 / 30

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

Tags: Bộ đề 6

8. Phương pháp Agile Manifesto ưu tiên điều gì hơn trong phát triển phần mềm?

9 / 30

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

Tags: Bộ đề 6

9. UML (Unified Modeling Language) được sử dụng chủ yếu trong công nghệ phần mềm để làm gì?

10 / 30

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

Tags: Bộ đề 6

10. Phương pháp kiểm thử 'Smoke Testing′ thường được thực hiện khi nào?

11 / 30

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

Tags: Bộ đề 6

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

12 / 30

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

Tags: Bộ đề 6

12. Phương pháp ước tính 'Planning Poker′ thường được sử dụng trong Agile∕Scrum để làm gì?

13 / 30

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

Tags: Bộ đề 6

13. Đâu là mục tiêu chính của việc tái cấu trúc mã nguồn (Code Refactoring)?

14 / 30

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

Tags: Bộ đề 6

14. Khái niệm 'Refactoring to patterns′ nghĩa là gì?

15 / 30

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

Tags: Bộ đề 6

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

16 / 30

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

Tags: Bộ đề 6

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

17 / 30

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

Tags: Bộ đề 6

17. Design Pattern 'Singleton′ giải quyết vấn đề gì trong thiết kế phần mềm?

18 / 30

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

Tags: Bộ đề 6

18. Kiểu kiểm thử 'Acceptance Testing′ (Kiểm thử chấp nhận) được thực hiện bởi ai và nhằm mục đích gì?

19 / 30

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

Tags: Bộ đề 6

19. Trong kiểm thử phần mềm, kiểm thử hộp đen (Black Box Testing) tập trung vào yếu tố nào?

20 / 30

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

Tags: Bộ đề 6

20. 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?

21 / 30

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

Tags: Bộ đề 6

21. Đâu không phải là một loại yêu cầu phi chức năng (Non-functional requirement) của phần mềm?

22 / 30

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

Tags: Bộ đề 6

22. CI∕CD (Continuous Integration∕Continuous Delivery) là gì và mang lại lợi ích chính nào?

23 / 30

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

Tags: Bộ đề 6

23. Trong mô hình Kanban, 'Work in Progress (WIP) limits′ có ý nghĩa gì?

24 / 30

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

Tags: Bộ đề 6

24. Đâu là lợi ích chính của việc sử dụng hệ thống quản lý cơ sở dữ liệu quan hệ (RDBMS)?

25 / 30

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

Tags: Bộ đề 6

25. Trong quy trình kiểm soát phiên bản (Version Control), nhánh 'main′ hoặc 'master′ thường được dùng để làm gì?

26 / 30

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

Tags: Bộ đề 6

26. 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?

27 / 30

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

Tags: Bộ đề 6

27. Trong thiết kế API (Application Programming Interface), RESTful API tuân theo kiến trúc nào?

28 / 30

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

Tags: Bộ đề 6

28. Mục tiêu chính của việc 'Phân tích yêu cầu′ (Requirements Analysis) trong quy trình phát triển phần mềm là gì?

29 / 30

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

Tags: Bộ đề 6

29. Đâu là mục tiêu chính của giai đoạn 'Bảo trì phần mềm′ (Software Maintenance)?

30 / 30

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

Tags: Bộ đề 6

30. Khái niệm 'Microservices′ trong kiến trúc phần mềm là gì?