Bài Tập, Đề Thi Trắc Nghiệm Online - Môn Phần Mềm Mã Nguồn Mở - Đề 10 bao gồm nhiều câu hỏi hay, bám sát chương trình. Cùng làm bài tập trắc nghiệm ngay.
Câu 1: Định nghĩa nào sau đây mô tả chính xác nhất "phần mềm mã nguồn mở"?
- A. Phần mềm được cung cấp miễn phí nhưng không cho phép sửa đổi mã nguồn.
- B. Phần mềm mà mã nguồn của nó được công khai cho phép người dùng xem xét, sửa đổi và phân phối.
- C. Phần mềm có thể được sử dụng miễn phí cho mục đích phi thương mại.
- D. Phần mềm được phát triển bởi các cộng đồng trực tuyến lớn.
Câu 2: Giấy phép mã nguồn mở khác biệt với giấy phép phần mềm độc quyền chủ yếu ở khía cạnh nào?
- A. Chi phí sử dụng phần mềm.
- B. Khả năng tương thích với các hệ điều hành khác nhau.
- C. Quyền truy cập, sửa đổi và phân phối mã nguồn.
- D. Thời gian hỗ trợ kỹ thuật từ nhà phát triển.
Câu 3: Một công ty quyết định sử dụng phần mềm mã nguồn mở thay vì phần mềm độc quyền cho hệ thống quản lý cơ sở dữ liệu của mình. Động lực chính nào sau đây có khả năng thúc đẩy quyết định này?
- A. Giảm chi phí bản quyền và tăng tính linh hoạt trong tùy chỉnh.
- B. Đảm bảo phần mềm luôn có giao diện người dùng thân thiện hơn.
- C. Tăng cường khả năng bảo mật dữ liệu tuyệt đối.
- D. Được hỗ trợ kỹ thuật 24/7 từ nhà phát triển chính thức.
Câu 4: Trong mô hình phát triển phần mềm mã nguồn mở, vai trò của cộng đồng là gì?
- A. Chỉ đơn thuần là người dùng cuối, báo cáo lỗi và đề xuất tính năng.
- B. Cung cấp tài chính để duy trì dự án.
- C. Chịu trách nhiệm pháp lý cho phần mềm.
- D. Đóng góp vào việc phát triển, kiểm thử, và cải tiến phần mềm một cách phi tập trung.
Câu 5: Điều gì có thể được coi là một thách thức tiềm ẩn khi sử dụng phần mềm mã nguồn mở trong một tổ chức lớn?
- A. Khả năng tương thích kém với phần cứng hiện đại.
- B. Có thể đòi hỏi kỹ năng kỹ thuật chuyên sâu để tùy chỉnh và duy trì.
- C. Nguy cơ bị tấn công mạng cao hơn so với phần mềm độc quyền.
- D. Ít tài liệu hướng dẫn sử dụng và cộng đồng hỗ trợ nhỏ.
Câu 6: So sánh giấy phép GPL (GNU General Public License) và giấy phép MIT, điểm khác biệt chính liên quan đến "copyleft" là gì?
- A. GPL giới hạn việc sử dụng phần mềm cho mục đích phi thương mại, trong khi MIT thì không.
- B. MIT yêu cầu mọi sửa đổi phải được công khai, GPL thì không.
- C. GPL là giấy phép "copyleft" yêu cầu các sản phẩm phái sinh cũng phải sử dụng GPL, trong khi MIT là giấy phép "permissive" không có ràng buộc này.
- D. Chỉ có phần mềm được cấp phép MIT mới được phép tích hợp vào phần mềm độc quyền.
Câu 7: Trong bối cảnh bảo mật phần mềm, tính minh bạch của mã nguồn mở mang lại lợi thế gì?
- A. Giảm thiểu hoàn toàn nguy cơ bị tấn công.
- B. Cho phép cộng đồng kiểm tra và nhanh chóng phát hiện, sửa chữa lỗ hổng bảo mật.
- C. Mã nguồn mở luôn được các chuyên gia bảo mật hàng đầu kiểm duyệt.
- D. Không cần cập nhật bản vá bảo mật thường xuyên.
Câu 8: Một dự án phần mềm mã nguồn mở sử dụng mô hình "governance" (quản trị) cộng đồng. Điều này có nghĩa là gì?
- A. Quyết định kỹ thuật cuối cùng thuộc về một công ty duy nhất.
- B. Chỉ những người sáng lập dự án mới có quyền đưa ra quyết định.
- C. Các quyết định quan trọng về dự án được đưa ra thông qua sự tham gia và đồng thuận của cộng đồng.
- D. Mô hình quản trị được quyết định bởi số lượng đóng góp mã lệnh nhiều nhất.
Câu 9: Hãy xem xét tình huống một lập trình viên muốn đóng góp vào một dự án mã nguồn mở lớn. Bước đầu tiên quan trọng nhất họ nên làm là gì?
- A. Viết lại hoàn toàn một phần mã nguồn để thể hiện khả năng.
- B. Gửi email trực tiếp cho người quản lý dự án với đề xuất đóng góp.
- C. Tự ý sửa lỗi và gửi bản vá mà không cần thông báo trước.
- D. Tìm hiểu về dự án, quy trình đóng góp và giao tiếp với cộng đồng dự án.
Câu 10: Điều gì không phải là một lợi ích điển hình của việc sử dụng phần mềm mã nguồn mở?
- A. Khả năng tùy chỉnh cao để phù hợp với nhu cầu cụ thể.
- B. Chi phí ban đầu thấp hoặc miễn phí.
- C. Được đảm bảo về hiệu suất vượt trội so với phần mềm độc quyền trong mọi trường hợp.
- D. Sự hỗ trợ từ cộng đồng lớn và đa dạng.
Câu 11: Tại sao nhiều tổ chức chính phủ và phi lợi nhuận ưu tiên sử dụng phần mềm mã nguồn mở?
- A. Để tiết kiệm ngân sách và tăng tính minh bạch trong hoạt động.
- B. Vì phần mềm mã nguồn mở luôn có giao diện thân thiện với người dùng không chuyên.
- C. Để đảm bảo tuân thủ các quy định pháp lý nghiêm ngặt nhất.
- D. Do phần mềm mã nguồn mở thường được phát triển bởi chính phủ các nước phát triển.
Câu 12: Điều gì có thể xảy ra nếu một công ty sử dụng phần mềm mã nguồn mở vi phạm các điều khoản của giấy phép?
- A. Không có hậu quả pháp lý vì là phần mềm "mở".
- B. Có thể phải đối mặt với các hành động pháp lý từ chủ sở hữu bản quyền hoặc cộng đồng.
- C. Chỉ bị nhắc nhở từ cộng đồng mã nguồn mở.
- D. Tự động bị cấm sử dụng tất cả các phần mềm mã nguồn mở khác.
Câu 13: Trong lĩnh vực khoa học dữ liệu và trí tuệ nhân tạo, phần mềm mã nguồn mở đóng vai trò như thế nào?
- A. Ít được sử dụng do yêu cầu bảo mật cao của dữ liệu.
- B. Chỉ được sử dụng trong nghiên cứu học thuật, không phù hợp cho ứng dụng thương mại.
- C. Đóng vai trò thứ yếu so với các công cụ thương mại.
- D. Đóng vai trò then chốt, cung cấp các công cụ và thư viện nền tảng cho nghiên cứu và phát triển.
Câu 14: Hãy tưởng tượng bạn đang chọn một hệ điều hành cho máy chủ web của doanh nghiệp. Lựa chọn hệ điều hành mã nguồn mở nào sau đây thường được ưu tiên vì tính ổn định và bảo mật?
- A. Windows Server (mã nguồn đóng)
- B. Linux (ví dụ: CentOS, Ubuntu Server)
- C. macOS Server (mã nguồn đóng)
- D. Chrome OS (mã nguồn mở nhưng hướng đến người dùng cuối)
Câu 15: Điều gì là quan trọng nhất cần xem xét khi đánh giá tính bảo mật của một phần mềm mã nguồn mở cụ thể?
- A. Chỉ cần mã nguồn mở là đủ để đảm bảo an toàn.
- B. Giấy phép sử dụng phần mềm.
- C. Sự hoạt động của cộng đồng phát triển, lịch sử vá lỗi và quy trình kiểm thử bảo mật.
- D. Giá thành của phần mềm (miễn phí hay trả phí).
Câu 16: Một doanh nghiệp khởi nghiệp với ngân sách hạn chế muốn xây dựng ứng dụng web. Tại sao việc sử dụng framework mã nguồn mở (ví dụ: React, Angular, Vue.js) có thể là lựa chọn hợp lý?
- A. Giảm chi phí phát triển, tận dụng cộng đồng hỗ trợ lớn và tài liệu phong phú.
- B. Framework mã nguồn mở luôn đảm bảo hiệu suất ứng dụng web cao nhất.
- C. Đảm bảo ứng dụng web tự động tương thích với mọi trình duyệt.
- D. Không cần lập trình viên có kỹ năng chuyên sâu.
Câu 17: Điều gì phân biệt rõ ràng nhất giữa mô hình "mã nguồn mở" và mô hình "miễn phí" (freeware) trong phần mềm?
- A. Phần mềm miễn phí luôn có chất lượng kém hơn mã nguồn mở.
- B. Mã nguồn mở cho phép truy cập và sửa đổi mã nguồn, trong khi freeware chỉ miễn phí sử dụng nhưng thường không có mã nguồn mở.
- C. Phần mềm miễn phí không có giấy phép sử dụng.
- D. Mã nguồn mở luôn được hỗ trợ bởi các công ty lớn.
Câu 18: Trong một dự án phần mềm mã nguồn mở, quy trình "pull request" (yêu cầu kéo) thường được sử dụng để làm gì?
- A. Báo cáo lỗi và vấn đề cho nhà phát triển.
- B. Tải xuống phiên bản mới nhất của phần mềm.
- C. Đề xuất các thay đổi mã nguồn và chờ được xem xét, tích hợp vào dự án chính.
- D. Yêu cầu hỗ trợ kỹ thuật từ cộng đồng.
Câu 19: Điều gì có thể là một lý do khiến một công ty thương mại quyết định phát hành một phần mềm độc quyền của mình dưới dạng mã nguồn mở?
- A. Vì phần mềm độc quyền không còn mang lại lợi nhuận.
- B. Để tránh bị kiện bản quyền.
- C. Do áp lực từ chính phủ.
- D. Để tận dụng sức mạnh cộng đồng trong việc phát triển, kiểm thử và mở rộng hệ sinh thái phần mềm.
Câu 20: Khi so sánh phần mềm mã nguồn mở và phần mềm độc quyền về mặt đổi mới, nhận định nào sau đây thường được ủng hộ?
- A. Phần mềm độc quyền thường đổi mới nhanh hơn do tập trung nguồn lực.
- B. Mã nguồn mở có tiềm năng đổi mới lớn hơn nhờ sự đóng góp của cộng đồng toàn cầu và khả năng kết hợp ý tưởng đa dạng.
- C. Không có sự khác biệt đáng kể về tốc độ đổi mới.
- D. Đổi mới chỉ phụ thuộc vào ngân sách đầu tư, không liên quan đến mô hình mã nguồn.
Câu 21: Trong lĩnh vực giáo dục, phần mềm mã nguồn mở được sử dụng rộng rãi trong các hệ thống quản lý học tập (LMS) như Moodle hay Canvas. Lợi ích chính của việc này là gì?
- A. Giao diện người dùng luôn đẹp và hiện đại hơn.
- B. Tự động tích hợp với mọi công cụ học trực tuyến khác.
- C. Khả năng tùy chỉnh linh hoạt, chi phí thấp và cộng đồng hỗ trợ lớn cho các trường học và tổ chức giáo dục.
- D. Đảm bảo 100% an toàn dữ liệu sinh viên.
Câu 22: Điều gì không phải là một loại giấy phép mã nguồn mở phổ biến?
- A. Giấy phép MIT
- B. Giấy phép Apache 2.0
- C. Giấy phép GNU GPLv3
- D. Giấy phép End User License Agreement (EULA) - thường dùng cho phần mềm độc quyền
Câu 23: Một dự án mã nguồn mở thành công thường có đặc điểm chung nào về cộng đồng?
- A. Cộng đồng nhỏ gọn, tập trung vào một nhóm chuyên gia.
- B. Cộng đồng lớn, đa dạng, tích cực và có quy trình làm việc rõ ràng.
- C. Cộng đồng chủ yếu gồm người dùng cuối, ít lập trình viên đóng góp.
- D. Cộng đồng được kiểm soát chặt chẽ bởi một công ty duy nhất.
Câu 24: Hãy xem xét một công cụ dòng lệnh mã nguồn mở. Trong trường hợp nào, người dùng có thể cần phải tự biên dịch (compile) mã nguồn của nó?
- A. Luôn cần biên dịch trước khi sử dụng.
- B. Chỉ cần biên dịch nếu muốn sử dụng giao diện đồ họa.
- C. Khi muốn tùy chỉnh sâu, chạy trên hệ điều hành hoặc kiến trúc phần cứng không được hỗ trợ sẵn.
- D. Để kích hoạt bản quyền sử dụng phần mềm.
Câu 25: Điều gì là một ngộ nhận phổ biến về phần mềm mã nguồn mở?
- A. Phần mềm mã nguồn mở luôn miễn phí và không có chi phí ẩn.
- B. Phần mềm mã nguồn mở luôn dễ sử dụng cho người dùng không chuyên.
- C. Phần mềm mã nguồn mở luôn được phát triển nhanh hơn phần mềm độc quyền.
- D. Phần mềm mã nguồn mở luôn an toàn hơn phần mềm độc quyền.
Câu 26: Trong quá trình phát triển phần mềm mã nguồn mở, kiểm thử (testing) đóng vai trò như thế nào?
- A. Ít quan trọng hơn so với phần mềm độc quyền vì mã nguồn mở đã được cộng đồng xem xét.
- B. Chỉ được thực hiện bởi nhóm kiểm thử chuyên nghiệp.
- C. Chỉ cần kiểm thử ở giai đoạn cuối trước khi phát hành.
- D. Rất quan trọng, thường được thực hiện liên tục bởi cả nhà phát triển và cộng đồng để đảm bảo chất lượng.
Câu 27: Điều gì thể hiện sự khác biệt giữa "phần mềm tự do" (free software) và "phần mềm mã nguồn mở" (open source software) theo quan điểm của Free Software Foundation và Open Source Initiative?
- A. Không có sự khác biệt nào, hai thuật ngữ này hoàn toàn đồng nghĩa.
- B. "Phần mềm tự do" nhấn mạnh quyền tự do của người dùng (về đạo đức), trong khi "mã nguồn mở" tập trung vào lợi ích thực tiễn (về kỹ thuật và kinh doanh).
- C. "Phần mềm tự do" chỉ áp dụng cho hệ điều hành, còn "mã nguồn mở" cho mọi loại phần mềm.
- D. "Phần mềm tự do" yêu cầu trả phí, còn "mã nguồn mở" thì miễn phí.
Câu 28: Trong ngữ cảnh phần mềm mã nguồn mở, thuật ngữ "forking" (phân nhánh) có nghĩa là gì?
- A. Hợp nhất các nhánh phát triển khác nhau vào dự án chính.
- B. Xóa bỏ một phần mã nguồn không còn cần thiết.
- C. Tạo ra một dự án mới độc lập từ mã nguồn của một dự án hiện có, thường do bất đồng hoặc mục tiêu phát triển khác biệt.
- D. Thay đổi giấy phép sử dụng của phần mềm.
Câu 29: Một tổ chức muốn đảm bảo rằng phần mềm mã nguồn mở họ sử dụng tuân thủ các tiêu chuẩn bảo mật. Họ nên thực hiện biện pháp nào?
- A. Chỉ sử dụng phần mềm mã nguồn mở từ các nhà cung cấp lớn.
- B. Thường xuyên cập nhật bản vá bảo mật, thực hiện kiểm tra bảo mật định kỳ và tuân thủ các hướng dẫn bảo mật.
- C. Không cần lo lắng về bảo mật vì mã nguồn mở luôn an toàn.
- D. Yêu cầu nhà phát triển mã nguồn mở đảm bảo an ninh tuyệt đối.
Câu 30: Giả sử một công ty phát triển một phần mềm dựa trên một thư viện mã nguồn mở có giấy phép BSD. Họ muốn giữ mã nguồn phần mềm của mình là độc quyền nhưng vẫn sử dụng thư viện BSD. Điều này có được phép không?
- A. Có, giấy phép BSD cho phép sử dụng trong cả phần mềm độc quyền mà không yêu cầu công khai mã nguồn.
- B. Không, mọi phần mềm sử dụng thư viện BSD đều phải là mã nguồn mở.
- C. Chỉ được phép nếu trả phí bản quyền cho người giữ giấy phép BSD.
- D. Cần phải xin phép cộng đồng BSD trước khi sử dụng.