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

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

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

1. Quản lý rủi ro (Risk Management) trong phát triển phần mềm bao gồm các hoạt động nào?

A. Chỉ tập trung vào việc khắc phục sự cố sau khi chúng xảy ra.
B. Xác định, đánh giá, lập kế hoạch ứng phó và giám sát các rủi ro tiềm ẩn có thể ảnh hưởng đến dự án.
C. Chỉ tập trung vào việc quản lý rủi ro về mặt kỹ thuật.
D. Chuyển hoàn toàn trách nhiệm rủi ro cho khách hàng.

2. Phương pháp kiểm thử `Black Box Testing′ (kiểm thử hộp đen) 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 của phần mềm.
B. Hành vi bên ngoài của phần mềm và các chức năng mà nó cung cấp, dựa trên đặc tả yêu cầu và giao diện người dùng.
C. Hiệu suất của phần mềm.
D. Tính bảo mật của phần mềm.

3. Tài liệu SRS (Software Requirements Specification) mô tả điều gì?

A. Thiết kế kiến trúc của phần mềm.
B. Mã nguồn chi tiết của phần mềm.
C. Các yêu cầu chức năng và phi chức năng của phần mềm, là cơ sở để thiết kế và phát triển.
D. Kế hoạch kiểm thử phần mềm.

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

A. Phát triển các chức năng mới cho phần mềm.
B. Thiết kế lại kiến trúc phần mềm.
C. Sửa lỗi, cải thiện hiệu suất, thích ứng phần mềm với môi trường thay đổi, và đáp ứng các yêu cầu mới phát sinh sau khi phần mềm đã được triển khai.
D. Kiểm thử toàn bộ phần mềm trước khi triển khai.

5. Vai trò chính của một kiến trúc sư phần mềm (Software Architect) là gì?

A. Viết mã nguồn cho các module phức tạp.
B. Quản lý tiến độ và nguồn lực của dự án.
C. Thiết kế cấu trúc tổng thể của hệ thống phần mềm, đưa ra các quyết định kiến trúc quan trọng và đảm bảo hệ thống đáp ứng các yêu cầu về chức năng và phi chức năng.
D. Kiểm thử và đảm bảo chất lượng phần mềm.

6. Đâu là định nghĩa chính xác nhất về Công nghệ phần mềm?

A. Một ngành khoa học máy tính tập trung vào việc viết mã máy tính.
B. Một cách tiếp cận có hệ thống, có kỷ luật và định lượng để phát triển, vận hành và bảo trì phần mềm.
C. Quy trình thiết kế giao diện người dùng cho các ứng dụng web và di động.
D. Nghiên cứu về các thuật toán và cấu trúc dữ liệu hiệu quả.

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

A. Microsoft Word
B. Microsoft Project hoặc Jira
C. Microsoft Excel
D. PowerPoint

8. Điều gì sẽ xảy ra nếu quá trình thu thập yêu cầu (Requirement Elicitation) không được thực hiện kỹ lưỡng?

A. Dự án sẽ hoàn thành nhanh hơn vì ít yêu cầu hơn.
B. Có thể dẫn đến phần mềm không đáp ứng đúng nhu cầu của người dùng, tăng chi phí sửa lỗi và làm lại, và thậm chí dự án có thể thất bại.
C. Nhóm phát triển sẽ có nhiều tự do sáng tạo hơn.
D. Chất lượng mã nguồn sẽ được cải thiện.

9. Kỹ thuật `Refactoring′ (tái cấu trúc mã) được thực hiện nhằm mục đích chính nào?

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ã nguồn (tính dễ đọc, dễ bảo trì, hiệu suất) mà không thay đổi hành vi bên ngoài của phần mềm.
D. Tối ưu hóa cơ sở dữ liệu.

10. Lập trình hướng khía cạnh (Aspect-Oriented Programming - AOP) giải quyết vấn đề gì mà lập trình hướng đối tượng (OOP) truyền thống có thể gặp khó khăn?

A. Quản lý sự phức tạp của kế thừa đa tầng.
B. Xử lý các mối quan tâm cắt ngang (cross-cutting concerns) như logging, bảo mật, và quản lý giao dịch một cách tập trung và module hóa hơn.
C. Tối ưu hóa hiệu suất thực thi của chương trình.
D. Đơn giản hóa việc thiết kế giao diện người dùng.

11. Vấn đề đạo đức nào sau đây có thể phát sinh trong quá trình phát triển và sử dụng công nghệ phần mềm?

A. Lựa chọn ngôn ngữ lập trình phù hợp.
B. Bảo mật dữ liệu cá nhân của người dùng và đảm bảo quyền riêng tư.
C. Tối ưu hóa hiệu suất của thuật toán.
D. Chọn mô hình phát triển phần mềm.

12. Trong kiểm thử phần mềm, `Test case′ (ca kiểm thử) được sử dụng để làm gì?

A. Đo lường hiệu suất của phần mềm.
B. Mô tả một tập hợp các điều kiện đầu vào, hành động thực hiện và kết quả mong đợi để kiểm tra một chức năng cụ thể của phần mềm.
C. Tự động hóa quá trình kiểm thử.
D. Tạo báo cáo lỗi.

13. 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 và mục đích chính là gì?

A. Giai đoạn triển khai, để đảm bảo phần mềm hoạt động trên môi trường thực tế.
B. Giai đoạn kiểm thử, để kiểm tra toàn bộ hệ thống sau khi tích hợp các thành phần.
C. Giai đoạn phát triển, để kiểm tra các thành phần (đơn vị) nhỏ nhất của phần mềm một cách độc lập.
D. Giai đoạn bảo trì, để đảm bảo các bản vá lỗi không gây ra lỗi mới.

14. Thuộc tính chất lượng phần mềm `khả năng bảo trì` (Maintainability) đề cập đến điều gì?

A. Khả năng phần mềm hoạt động nhanh chóng và hiệu quả.
B. Khả năng phần mềm có thể được sửa đổi, cải tiến, hoặc sửa lỗi một cách dễ dàng và hiệu quả.
C. Khả năng phần mềm bảo vệ dữ liệu khỏi truy cập trái phép.
D. Khả năng phần mềm hoạt động ổn định và không bị lỗi trong thời gian dài.

15. Thuật ngữ `nợ kỹ thuật′ (Technical Debt) trong công nghệ phần mềm thường ám chỉ điều gì?

A. Chi phí bảo trì phần mềm sau khi triển khai.
B. 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 để đạt được tiến độ nhanh hơn, nhưng có thể gây ra vấn đề trong tương lai.
C. Số lượng lỗi còn tồn tại trong phần mềm sau khi kiểm thử.
D. Thời gian cần thiết để học các công nghệ mới.

16. Công cụ quản lý phiên bản (Version Control System) được sử dụng chủ yếu cho mục đích nào trong phát triển phần mềm?

A. Tự động hóa quá trình kiểm thử phần mềm.
B. Quản lý và theo dõi các thay đổi của mã nguồn theo thời gian, cho phép phục hồi các phiên bản trước đó.
C. Phân tích hiệu suất và tối ưu hóa mã.
D. Tạo tài liệu kỹ thuật tự động cho dự án.

17. Cải tiến quy trình phần mềm (Software Process Improvement - SPI) hướng đến mục tiêu gì?

A. Giảm số lượng lập trình viên trong nhóm.
B. Tăng tốc độ viết mã của lập trình viên.
C. Nâng cao chất lượng sản phẩm phần mềm, tăng hiệu quả và năng suất của quy trình phát triển, và giảm chi phí.
D. Chỉ tập trung vào việc áp dụng các công nghệ mới nhất.

18. Kỹ năng nào sau đây được coi là quan trọng nhất đối với một kỹ sư phần mềm?

A. Khả năng viết mã nhanh chóng.
B. Khả năng giải quyết vấn đề và tư duy logic.
C. Khả năng sử dụng nhiều ngôn ngữ lập trình khác nhau.
D. Khả năng làm việc độc lập.

19. Mô hình phát triển phần mềm nào nhấn mạnh vào sự linh hoạt, khả năng thích ứng và sự hợp tác chặt chẽ giữa các thành viên trong nhóm và khách hàng?

A. Mô hình Thác nước (Waterfall)
B. Mô hình Xoắn ốc (Spiral)
C. Mô hình Agile
D. Mô hình Chữ V (V-Model)

20. Khi nào thì việc chuẩn hóa cơ sở dữ liệu (Database Normalization) trở nên quan trọng?

A. Khi xây dựng cơ sở dữ liệu nhỏ và đơn giản.
B. Khi ưu tiên tốc độ truy vấn dữ liệu hơn là tính toàn vẹn dữ liệu.
C. Khi muốn giảm thiểu sự dư thừa dữ liệu, cải thiện tính toàn vẹn dữ liệu và làm cho cơ sở dữ liệu dễ bảo trì hơn.
D. Khi không có quan hệ phức tạp giữa các bảng dữ liệu.

21. Sự khác biệt chính giữa yêu cầu chức năng (Functional Requirements) và yêu cầu phi chức năng (Non-functional Requirements) là gì?

A. Yêu cầu chức năng mô tả cách phần mềm hoạt động, còn yêu cầu phi chức năng mô tả dữ liệu mà phần mềm xử lý.
B. Yêu cầu chức năng mô tả những gì phần mềm phải làm, còn yêu cầu phi chức năng mô tả cách phần mềm thực hiện điều đó (các thuộc tính chất lượng).
C. Yêu cầu chức năng liên quan đến giao diện người dùng, còn yêu cầu phi chức năng liên quan đến backend.
D. Yêu cầu chức năng được xác định bởi nhà phát triển, còn yêu cầu phi chức năng được xác định bởi khách hàng.

22. Trong quy trình phát triển phần mềm, `yêu cầu phi chức năng′ thường mô tả điều gì?

A. Các chức năng cụ thể mà phần mềm phải thực hiện.
B. Các ràng buộc hoặc phẩm chất của hệ thống phần mềm, ví dụ như hiệu suất, bảo mật, và khả năng sử dụng.
C. Giao diện người dùng và trải nghiệm người dùng mong muốn.
D. Kiến trúc cơ sở dữ liệu và thiết kế dữ liệu của phần mềm.

23. Tại sao giao tiếp hiệu quả lại quan trọng trong một nhóm phát triển phần mềm?

A. Chỉ để tạo không khí làm việc vui vẻ.
B. Để đảm bảo mọi thành viên trong nhóm hiểu rõ mục tiêu chung, yêu cầu dự án, và tiến độ công việc, giảm thiểu hiểu lầm và xung đột, và tăng cường sự hợp tác.
C. Để giảm số lượng cuộc họp và tiết kiệm thời gian.
D. Để mỗi thành viên có thể làm việc độc lập hoàn toàn.

24. Nguyên tắc `SOLID′ trong thiết kế hướng đối tượng bao gồm nguyên tắc nào sau đây?

A. Tính trừu tượng (Abstraction)
B. Tính đóng gói (Encapsulation)
C. Nguyên tắc đơn trách nhiệm (Single Responsibility Principle)
D. Tính đa hình (Polymorphism)

25. Mẫu thiết kế (Design Pattern) `Singleton′ thường được sử dụng để giải quyết vấn đề nào?

A. Đảm bảo rằng 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 thể hiện đó.
B. Tách biệt giao diện của một đối tượng khỏi phần cài đặt của nó.
C. Định nghĩa một họ các thuật toán, đóng gói từng thuật toán lại, và làm cho chúng có thể hoán đổi cho nhau.
D. Cho phép một đối tượng thay đổi hành vi của nó khi trạng thái bên trong của nó thay đổi.

26. Kiểm thử tích hợp (Integration Testing) tập trung vào việc kiểm tra điều gì?

A. Tính đúng đắn của từng đơn vị mã nguồn riêng lẻ.
B. Cách các module hoặc thành phần khác nhau của phần mềm tương tác và làm việc cùng nhau.
C. Hiệu suất của toàn bộ hệ thống dưới tải lớn.
D. Tính bảo mật của phần mềm.

27. Tích hợp liên tục (Continuous Integration - CI) là một phương pháp thực hành trong DevOps. Mục tiêu chính của CI là gì?

A. Tăng tốc độ triển khai phần mềm lên môi trường sản xuất.
B. Tự động hóa quá trình kiểm thử hiệu suất.
C. Tích hợp mã nguồn thường xuyên từ nhiều nhà phát triển vào một kho chung và tự động hóa quá trình kiểm thử và xây dựng để phát hiện sớm lỗi tích hợp.
D. Giảm thiểu thời gian chết của hệ thống khi triển khai phiên bản mới.

28. Trong mô hình Scrum, ai chịu trách nhiệm chính trong việc quản lý Product Backlog?

A. Scrum Master
B. Nhóm Phát triển (Development Team)
C. Product Owner
D. Stakeholder

29. Trong ngữ cảnh kiểm thử hiệu suất (Performance Testing), `Load Testing′ (kiểm thử tải) được sử dụng để làm gì?

A. Kiểm tra tính bảo mật của phần mềm.
B. Đánh giá hiệu suất của phần mềm khi chịu tải dự kiến hoặc tải cao hơn dự kiến từ người dùng đồng thời.
C. Kiểm tra chức năng của phần mềm.
D. Tìm kiếm lỗi giao diện người dùng.

30. Khi nào thì việc sử dụng mô hình Microservices trở nên phù hợp hơn so với kiến trúc Monolithic?

A. Khi xây dựng một ứng dụng nhỏ, đơn giản với ít chức năng.
B. Khi ưu tiên tốc độ phát triển ban đầu và triển khai đơn giản.
C. Khi xây dựng các ứng dụng lớn, phức tạp, có nhiều thành phần độc lập có thể phát triển, triển khai và mở rộng riêng biệt.
D. Khi yêu cầu tính nhất quán dữ liệu tuyệt đối giữa tất cả các thành phần.

1 / 30

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

Tags: Bộ đề 3

1. Quản lý rủi ro (Risk Management) trong phát triển phần mềm bao gồm các hoạt động nào?

2 / 30

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

Tags: Bộ đề 3

2. Phương pháp kiểm thử 'Black Box Testing′ (kiểm thử hộp đen) tập trung vào khía cạnh nào của 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ộ đề 3

3. Tài liệu SRS (Software Requirements Specification) mô tả điều gì?

4 / 30

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

Tags: Bộ đề 3

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

5 / 30

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

Tags: Bộ đề 3

5. Vai trò chính của một kiến trúc sư phần mềm (Software Architect) là gì?

6 / 30

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

Tags: Bộ đề 3

6. Đâu là định nghĩa chính xác nhất về Công nghệ phần mềm?

7 / 30

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

Tags: Bộ đề 3

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

8 / 30

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

Tags: Bộ đề 3

8. Điều gì sẽ xảy ra nếu quá trình thu thập yêu cầu (Requirement Elicitation) không được thực hiện kỹ lưỡng?

9 / 30

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

Tags: Bộ đề 3

9. Kỹ thuật 'Refactoring′ (tái cấu trúc mã) được thực hiện nhằm mục đích chính nào?

10 / 30

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

Tags: Bộ đề 3

10. Lập trình hướng khía cạnh (Aspect-Oriented Programming - AOP) giải quyết vấn đề gì mà lập trình hướng đối tượng (OOP) truyền thống có thể gặp khó khăn?

11 / 30

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

Tags: Bộ đề 3

11. Vấn đề đạo đức nào sau đây có thể phát sinh trong quá trình phát triển và sử dụng công nghệ phần mềm?

12 / 30

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

Tags: Bộ đề 3

12. Trong kiểm thử phần mềm, 'Test case′ (ca kiểm thử) được sử dụng để 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ộ đề 3

13. 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 và mục đích chính là gì?

14 / 30

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

Tags: Bộ đề 3

14. Thuộc tính chất lượng phần mềm 'khả năng bảo trì' (Maintainability) đề cập đến điều gì?

15 / 30

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

Tags: Bộ đề 3

15. Thuật ngữ 'nợ kỹ thuật′ (Technical Debt) trong công nghệ phần mềm thường ám chỉ điều gì?

16 / 30

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

Tags: Bộ đề 3

16. Công cụ quản lý phiên bản (Version Control System) được sử dụng chủ yếu cho mục đích nào trong phát triển phần mềm?

17 / 30

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

Tags: Bộ đề 3

17. Cải tiến quy trình phần mềm (Software Process Improvement - SPI) hướng đến mục tiêu gì?

18 / 30

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

Tags: Bộ đề 3

18. Kỹ năng nào sau đây được coi là quan trọng nhất đối với một kỹ sư phần mềm?

19 / 30

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

Tags: Bộ đề 3

19. Mô hình phát triển phần mềm nào nhấn mạnh vào sự linh hoạt, khả năng thích ứng và sự hợp tác chặt chẽ giữa các thành viên trong nhóm và khách hàng?

20 / 30

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

Tags: Bộ đề 3

20. Khi nào thì việc chuẩn hóa cơ sở dữ liệu (Database Normalization) trở nên quan trọng?

21 / 30

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

Tags: Bộ đề 3

21. Sự khác biệt chính giữa yêu cầu chức năng (Functional Requirements) và yêu cầu phi chức năng (Non-functional Requirements) là gì?

22 / 30

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

Tags: Bộ đề 3

22. Trong quy trình phát triển phần mềm, 'yêu cầu phi chức năng′ thường mô tả điều gì?

23 / 30

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

Tags: Bộ đề 3

23. Tại sao giao tiếp hiệu quả lại quan trọng trong một nhóm phát triển phần mềm?

24 / 30

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

Tags: Bộ đề 3

24. Nguyên tắc 'SOLID′ trong thiết kế hướng đối tượng bao gồm nguyên tắc nào sau đây?

25 / 30

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

Tags: Bộ đề 3

25. Mẫu thiết kế (Design Pattern) 'Singleton′ thường được sử dụng để giải quyết vấn đề nào?

26 / 30

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

Tags: Bộ đề 3

26. Kiểm thử tích hợp (Integration Testing) tập trung vào việc kiểm tra điều gì?

27 / 30

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

Tags: Bộ đề 3

27. Tích hợp liên tục (Continuous Integration - CI) là một phương pháp thực hành trong DevOps. Mục tiêu chính của CI là gì?

28 / 30

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

Tags: Bộ đề 3

28. Trong mô hình Scrum, ai chịu trách nhiệm chính trong việc quản lý Product Backlog?

29 / 30

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

Tags: Bộ đề 3

29. Trong ngữ cảnh kiểm thử hiệu suất (Performance Testing), 'Load Testing′ (kiểm thử tải) được sử dụng để làm gì?

30 / 30

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

Tags: Bộ đề 3

30. Khi nào thì việc sử dụng mô hình Microservices trở nên phù hợp hơn so với kiến trúc Monolithic?