Đề 6 – Đề thi, câu hỏi 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

Đề 6 - Đề thi, câu hỏi trắc nghiệm online Công nghệ phần mềm

1. Công cụ quản lý phiên bản (version control system) nào phổ biến nhất hiện nay?

A. Subversion (SVN).
B. Git.
C. Mercurial.
D. CVS.

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

A. Dễ dàng bảo trì và mở rộng độc lập từng thành phần.
B. Giảm độ phức tạp của hệ thống.
C. Tăng tính bảo mật của hệ thống.
D. Giảm chi phí phát triển.

3. Phương pháp kiểm thử A/B testing thường được sử dụng để làm gì?

A. Để kiểm tra hiệu năng của hệ thống.
B. Để so sánh hai phiên bản khác nhau của một tính năng hoặc giao diện để xác định phiên bản nào hiệu quả hơn.
C. Để kiểm tra tính bảo mật của hệ thống.
D. Để kiểm tra khả năng tương thích của hệ thống với các thiết bị khác nhau.

4. Trong mô hình xoắn ốc (Spiral model), rủi ro được đánh giá và xử lý ở giai đoạn nào?

A. Giai đoạn lập kế hoạch.
B. Giai đoạn phân tích rủi ro.
C. Giai đoạn phát triển.
D. Giai đoạn đánh giá.

5. Đâu là một lý do chính để sử dụng `database indexing` (chỉ mục cơ sở dữ liệu)?

A. Để tăng dung lượng lưu trữ của cơ sở dữ liệu.
B. Để tăng tốc độ truy vấn dữ liệu.
C. Để tăng tính bảo mật của cơ sở dữ liệu.
D. Để giảm chi phí lưu trữ dữ liệu.

6. Đâu là lợi ích chính của việc sử dụng mô hình thác nước (Waterfall) trong phát triển phần mềm?

A. Linh hoạt thay đổi yêu cầu trong quá trình phát triển.
B. Dễ dàng thích ứng với các dự án có yêu cầu không rõ ràng.
C. Quy trình phát triển đơn giản, dễ quản lý và kiểm soát.
D. Giảm thiểu rủi ro do yêu cầu thay đổi liên tục.

7. Trong phát triển phần mềm, `refactoring` (tái cấu trúc) khác với `re-writing` (viết lại) như thế nào?

A. Refactoring thêm chức năng mới, re-writing chỉ sửa lỗi.
B. Refactoring cải thiện cấu trúc mà không thay đổi chức năng, re-writing thay đổi cả cấu trúc và chức năng.
C. Refactoring chỉ áp dụng cho mã nguồn cũ, re-writing chỉ áp dụng cho mã nguồn mới.
D. Refactoring tốn ít thời gian hơn re-writing.

8. Trong phát triển phần mềm, SOLID là viết tắt của những nguyên tắc thiết kế nào?

A. Simple, Open, Logical, Iterative, Detailed.
B. Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion.
C. Structured, Organized, লিঙ্কড, Integrated, Documented.
D. Scalable, Optimized, লিঙ্কড, Independent, Deployable.

9. Đâu là một mục tiêu quan trọng của việc viết tài liệu phần mềm?

A. Giảm số lượng dòng code cần viết.
B. Cung cấp thông tin chi tiết về thiết kế, chức năng và cách sử dụng phần mềm cho các bên liên quan.
C. Tăng tốc độ phát triển phần mềm.
D. Giảm chi phí bảo trì phần mềm.

10. Đâu là mục tiêu của việc sử dụng Design Patterns trong phát triển phần mềm?

A. Tăng tốc độ phát triển phần mềm.
B. Giải quyết các vấn đề thiết kế phổ biến một cách hiệu quả và đã được kiểm chứng.
C. Giảm số lượng dòng code cần viết.
D. Tăng tính bảo mật của phần mềm.

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

A. Việc tuân thủ nghiêm ngặt kế hoạch ban đầu.
B. Sự tương tác và hợp tác liên tục giữa các thành viên trong nhóm và khách hàng.
C. Việc lập tài liệu chi tiết và đầy đủ trước khi bắt đầu phát triển.
D. Việc kiểm soát chặt chẽ phạm vi dự án để tránh thay đổi.

12. Đâu là một lợi ích của việc sử dụng Docker trong phát triển và triển khai phần mềm?

A. Đảm bảo tính nhất quán của môi trường phát triển, kiểm thử và triển khai.
B. Tăng tốc độ phát triển phần mềm.
C. Giảm chi phí phần cứng.
D. Tăng tính bảo mật của hệ thống.

13. Đâu là mục tiêu chính của việc thiết kế giao diện người dùng (UI) tốt?

A. Làm cho phần mềm chạy nhanh hơn.
B. Làm cho phần mềm dễ sử dụng và thân thiện với người dùng.
C. Giảm thiểu chi phí phát triển phần mềm.
D. Tăng tính bảo mật của phần mềm.

14. Trong phát triển phần mềm hướng đối tượng (OOP), tính đóng gói (encapsulation) là gì?

A. Khả năng một đối tượng có nhiều hình thức khác nhau.
B. Khả năng che giấu thông tin và hành vi bên trong của một đối tượng, chỉ cho phép truy cập thông qua các phương thức công khai.
C. Khả năng một lớp kế thừa các thuộc tính và phương thức từ một lớp khác.
D. Khả năng tạo ra các đối tượng từ các lớp.

15. Trong kiểm thử phần mềm, kiểm thử hộp đen (black-box testing) là gì?

A. Kiểm thử dựa trên cấu trúc bên trong của phần mềm.
B. Kiểm thử bằng cách xem xét mã nguồn của phần mềm.
C. Kiểm thử chức năng của phần mềm mà không cần biết cấu trúc bên trong.
D. Kiểm thử hiệu năng của phần mềm.

16. Trong ngữ cảnh phát triển phần mềm, `technical specification` (đặc tả kỹ thuật) là gì?

A. Tài liệu mô tả chi tiết cách phần mềm sẽ được thiết kế và xây dựng.
B. Tài liệu hướng dẫn người dùng sử dụng phần mềm.
C. Tài liệu mô tả các yêu cầu của khách hàng.
D. Tài liệu mô tả kế hoạch kiểm thử phần mềm.

17. Trong quy trình phát triển phần mềm, Continuous Integration (CI) là gì?

A. Quy trình kiểm thử phần mềm liên tục.
B. Quy trình tích hợp mã nguồn từ các thành viên trong nhóm một cách thường xuyên và tự động.
C. Quy trình triển khai phần mềm lên môi trường sản xuất liên tục.
D. Quy trình thu thập yêu cầu từ khách hàng liên tục.

18. Trong phát triển phần mềm, technical debt (nợ kỹ thuật) là gì?

A. Số tiền nợ nhà cung cấp dịch vụ.
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 để đạt được mục tiêu ngắn hạn.
C. Chi phí bảo trì phần mềm.
D. Chi phí kiểm thử phần mềm.

19. Đâu là một lợi ích của việc sử dụng `cloud computing` (điện toán đám mây) trong phát triển và triển khai phần mềm?

A. Khả năng mở rộng tài nguyên linh hoạt và nhanh chóng.
B. Giảm chi phí phát triển phần mềm.
C. Tăng tính bảo mật của phần mềm.
D. Đơn giản hóa quy trình phát triển.

20. Trong kiểm thử phần mềm, `unit testing` (kiểm thử đơn vị) là gì?

A. Kiểm thử toàn bộ hệ thống.
B. Kiểm thử từng thành phần nhỏ nhất của phần mềm, như một hàm hoặc một lớp.
C. Kiểm thử giao diện người dùng.
D. Kiểm thử hiệu năng của hệ thống.

21. Trong quy trình phát triển phần mềm, code review (đánh giá mã) mang lại lợi ích gì?

A. Tăng tốc độ phát triển phần mềm.
B. Giúp phát hiện lỗi sớm, cải thiện chất lượng mã nguồn và chia sẻ kiến thức giữa các thành viên.
C. Giảm chi phí kiểm thử.
D. Đảm bảo tính bảo mật của phần mềm.

22. Trong phát triển phần mềm, `code smell` (mùi mã) là gì?

A. Một đoạn mã hoạt động không chính xác.
B. Một dấu hiệu cho thấy có thể có vấn đề sâu hơn trong thiết kế hoặc mã nguồn.
C. Một đoạn mã được viết bằng ngôn ngữ lập trình khác.
D. Một đoạn mã không có tài liệu.

23. Đâu là một thách thức chính khi chuyển đổi từ mô hình Waterfall sang Agile?

A. Thay đổi văn hóa làm việc và tư duy của các thành viên trong nhóm.
B. Giảm chi phí phát triển.
C. Đơn giản hóa quy trình phát triển.
D. Giảm yêu cầu về tài liệu.

24. Đâu là nhược điểm chính của việc sử dụng mô hình Agile trong các dự án lớn với nhiều nhóm phát triển?

A. Yêu cầu tài liệu chi tiết.
B. Khó khăn trong việc đồng bộ và phối hợp giữa các nhóm.
C. Không linh hoạt trong việc thay đổi yêu cầu.
D. Chi phí phát triển thấp.

25. Đâu là một thách thức chính khi phát triển phần mềm cho các thiết bị di động?

A. Sự đa dạng về kích thước màn hình và hệ điều hành.
B. Chi phí phát triển cao.
C. Thiếu công cụ phát triển.
D. Khó khăn trong việc kiểm thử.

26. 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. Chỉ khi phát hiện ra lỗi nghiêm trọng.
B. Sau khi thực hiện thay đổi mã nguồn để đảm bảo các chức năng hiện có không bị ảnh hưởng.
C. Trước khi phát hành phiên bản mới của phần mềm.
D. Chỉ khi có yêu cầu từ khách hàng.

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

A. Dễ dàng mở rộng theo chiều ngang.
B. Đảm bảo tính toàn vẹn và nhất quán của dữ liệu.
C. Xử lý dữ liệu phi cấu trúc hiệu quả.
D. Lưu trữ dữ liệu lớn với chi phí thấp.

28. Đâ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 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 và khả năng bảo trì của mã nguồn mà không thay đổi chức năng.
D. Tăng hiệu năng của phần mềm một cách đáng kể.

29. Phân tích Use Case được sử dụng để làm gì trong quá trình phát triển phần mềm?

A. Để thiết kế giao diện người dùng.
B. Để mô tả các tương tác giữa người dùng và hệ thống, giúp xác định yêu cầu chức năng.
C. Để kiểm thử hiệu năng của hệ thống.
D. Để quản lý rủi ro dự án.

30. Trong ngữ cảnh kiểm thử hiệu năng, `load testing` (kiểm thử tải) là gì?

A. Kiểm tra khả năng chịu tải của hệ thống khi có số lượng lớn người dùng đồng thời.
B. Kiểm tra tính bảo mật của hệ thống.
C. Kiểm tra tính ổn định của hệ thống trong thời gian dài.
D. Kiểm tra khả năng phục hồi của hệ thống sau sự cố.

1 / 30

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

Tags: Bộ đề 7

1. Công cụ quản lý phiên bản (version control system) nào phổ biến nhất hiện nay?

2 / 30

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

Tags: Bộ đề 7

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

3 / 30

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

Tags: Bộ đề 7

3. Phương pháp kiểm thử A/B testing thường được sử dụng để làm gì?

4 / 30

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

Tags: Bộ đề 7

4. Trong mô hình xoắn ốc (Spiral model), rủi ro được đánh giá và xử lý ở giai đoạn nào?

5 / 30

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

Tags: Bộ đề 7

5. Đâu là một lý do chính để sử dụng 'database indexing' (chỉ mục cơ sở dữ liệu)?

6 / 30

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

Tags: Bộ đề 7

6. Đâu là lợi ích chính của việc sử dụng mô hình thác nước (Waterfall) trong phát triển phần mềm?

7 / 30

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

Tags: Bộ đề 7

7. Trong phát triển phần mềm, 'refactoring' (tái cấu trúc) khác với 're-writing' (viết lại) như thế nào?

8 / 30

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

Tags: Bộ đề 7

8. Trong phát triển phần mềm, SOLID là viết tắt của những nguyên tắc thiết kế nào?

9 / 30

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

Tags: Bộ đề 7

9. Đâu là một mục tiêu quan trọng của việc viết tài liệu phần mềm?

10 / 30

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

Tags: Bộ đề 7

10. Đâu là mục tiêu của việc sử dụng Design Patterns trong phát triển phần mềm?

11 / 30

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

Tags: Bộ đề 7

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

12 / 30

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

Tags: Bộ đề 7

12. Đâu là một lợi ích của việc sử dụng Docker trong phát triển và triển khai phần mềm?

13 / 30

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

Tags: Bộ đề 7

13. Đâu là mục tiêu chính của việc thiết kế giao diện người dùng (UI) tốt?

14 / 30

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

Tags: Bộ đề 7

14. Trong phát triển phần mềm hướng đối tượng (OOP), tính đóng gói (encapsulation) là gì?

15 / 30

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

Tags: Bộ đề 7

15. Trong kiểm thử phần mềm, kiểm thử hộp đen (black-box testing) là gì?

16 / 30

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

Tags: Bộ đề 7

16. Trong ngữ cảnh phát triển phần mềm, 'technical specification' (đặc tả kỹ thuật) là gì?

17 / 30

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

Tags: Bộ đề 7

17. Trong quy trình phát triển phần mềm, Continuous Integration (CI) là gì?

18 / 30

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

Tags: Bộ đề 7

18. Trong phát triển phần mềm, technical debt (nợ kỹ thuật) là gì?

19 / 30

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

Tags: Bộ đề 7

19. Đâu là một lợi ích của việc sử dụng 'cloud computing' (điện toán đám mây) trong phát triển và triển khai phần mềm?

20 / 30

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

Tags: Bộ đề 7

20. Trong kiểm thử phần mềm, 'unit testing' (kiểm thử đơn vị) là gì?

21 / 30

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

Tags: Bộ đề 7

21. Trong quy trình phát triển phần mềm, code review (đánh giá mã) mang lại lợi ích gì?

22 / 30

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

Tags: Bộ đề 7

22. Trong phát triển phần mềm, 'code smell' (mùi mã) là gì?

23 / 30

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

Tags: Bộ đề 7

23. Đâu là một thách thức chính khi chuyển đổi từ mô hình Waterfall sang Agile?

24 / 30

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

Tags: Bộ đề 7

24. Đâu là nhược điểm chính của việc sử dụng mô hình Agile trong các dự án lớn với nhiều nhóm phát triển?

25 / 30

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

Tags: Bộ đề 7

25. Đâu là một thách thức chính khi phát triển phần mềm cho các thiết bị di động?

26 / 30

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

Tags: Bộ đề 7

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

27 / 30

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

Tags: Bộ đề 7

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

28 / 30

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

Tags: Bộ đề 7

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

29 / 30

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

Tags: Bộ đề 7

29. Phân tích Use Case được sử dụng để làm gì trong quá trình phát triển phần mềm?

30 / 30

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

Tags: Bộ đề 7

30. Trong ngữ cảnh kiểm thử hiệu năng, 'load testing' (kiểm thử tải) là gì?