Trắc nghiệm Công nghệ Phần mềm Bài: CASE STUDY CHO PHA CÀI ĐẶT
25 câu · Đề ôn tập tổng hợp
Xem trước: đọc nhanh mọi câu dạng chữ, chưa tính giờ, chưa hiện đáp án. Luyện tập: chọn đáp án là biết đúng sai ngay, kèm lời giải. Thi thử: nộp bài mới chấm điểm và hiện lời giải.
Câu 1
Trong dự án phát triển tính năng tìm kiếm nâng cao cho ứng dụng mua sắm, lập trình viên An đang viết mã cho module `SearchAlgorithm` (Thuật toán tìm kiếm). Hoạt động này thuộc pha nào của vòng đời phát triển phần mềm?
Đáp án và lời giải
Đáp án: D
Câu 2
Lập trình viên Bình đã viết xong module `ProductFilter` (Bộ lọc sản phẩm). Trước khi tích hợp, Bình tự viết các đoạn mã nhỏ để kiểm tra từng hàm và phương thức trong module của mình có chạy đúng không. Đây là loại kiểm thử nào?
Đáp án và lời giải
Đáp án: D
Câu 3
Khi lập trình viên Cường kết hợp module `SearchAlgorithm` của An với module `ProductFilter` của Bình để kiểm tra xem chúng có hoạt động cùng nhau như mong đợi hay không, đây là hoạt động nào?
Đáp án và lời giải
Đáp án: D
Câu 4
Nhóm phát triển tính năng tìm kiếm quyết định sẽ tích hợp các module theo thứ tự: đầu tiên là `DatabaseAccess` (Truy cập CSDL), sau đó `SearchAlgorithm`, rồi `ProductFilter`, và cuối cùng là `UserInterface`. Đây là chiến lược tích hợp nào?
Đáp án và lời giải
Đáp án: D
Câu 5
Trong quá trình phát triển tính năng tìm kiếm, lập trình viên Mai gặp một lỗi khi chạy chương trình: kết quả tìm kiếm không được hiển thị. Mai dùng một công cụ cho phép cô ấy chạy từng dòng mã và xem giá trị của các biến để tìm ra nguyên nhân. Công cụ này được gọi là gì?
Đáp án và lời giải
Đáp án: D
Câu 6
Để đảm bảo mã nguồn của tính năng tìm kiếm dễ đọc và dễ bảo trì bởi các lập trình viên khác trong nhóm, điều gì cần được tuân thủ trong pha cài đặt?
Đáp án và lời giải
Đáp án: D
Câu 7
Nhóm phát triển tính năng tìm kiếm quyết định sẽ tự động biên dịch, chạy kiểm thử đơn vị và tích hợp mỗi khi có mã mới được đẩy lên kho lưu trữ chung. Đây là ví dụ của phương pháp nào?
Đáp án và lời giải
Đáp án: D
Câu 8
Module `ProductDisplay` (Hiển thị sản phẩm) cần sử dụng module `ImageProcessor` (Xử lý hình ảnh) nhưng `ImageProcessor` chưa hoàn thành. Để `ProductDisplay` vẫn có thể được kiểm thử tích hợp, nhóm cần tạo một thành phần giả lập nào cho `ImageProcessor`?
Đáp án và lời giải
Đáp án: D
Câu 9
Một lập trình viên đang cố gắng tìm hiểu lý do tại sao một trường hợp đặc biệt của bộ lọc sản phẩm lại không hoạt động. Anh ta xem xét luồng dữ liệu và logic bên trong hàm lọc. Đây là một ví dụ của loại kiểm thử nào?
Đáp án và lời giải
Đáp án: D
Câu 10
Trong quá trình cài đặt, lập trình viên Hùng phát hiện rằng một đoạn mã của tính năng tìm kiếm hoạt động không hiệu quả khi xử lý hàng triệu sản phẩm. Hùng quyết định viết lại đoạn mã đó để cải thiện hiệu suất mà không thay đổi chức năng. Hoạt động này được gọi là gì?
Đáp án và lời giải
Đáp án: D
Câu 11
Khi hai lập trình viên cùng làm việc trên cùng một tệp mã nguồn và đẩy thay đổi lên hệ thống kiểm soát phiên bản, có thể xảy ra “xung đột mã nguồn” (merge conflict). Công cụ nào giúp giải quyết vấn đề này?
Đáp án và lời giải
Đáp án: D
Câu 12
Để đảm bảo tính năng tìm kiếm nâng cao có thể hoạt động hiệu quả khi triển khai, việc lập trình cần tuân thủ nguyên tắc “Low Coupling” (Tính phụ thuộc thấp). Điều này có nghĩa là gì?
Đáp án và lời giải
Đáp án: D
Câu 13
Nếu tính năng tìm kiếm mới được cài đặt mà không có kiểm thử đơn vị và tích hợp đầy đủ, hậu quả có thể là gì?
Đáp án và lời giải
Đáp án: D
Câu 14
Trong môi trường phát triển tích hợp (IDE), chức năng nào giúp lập trình viên nhanh chóng kiểm tra xem mã nguồn của họ có lỗi cú pháp hoặc ngữ pháp hay không trước khi chạy?
Đáp án và lời giải
Đáp án: D
Câu 15
Khi một lập trình viên viết mã cho tính năng tìm kiếm, anh ta nên áp dụng nguyên tắc “Modularity” (Tính mô-đun) như thế nào?
Đáp án và lời giải
Đáp án: D
Câu 16
Nhóm phát triển đang tích hợp module `PaymentGateway` (Cổng thanh toán) vào ứng dụng mua sắm. Để kiểm tra sự tương tác giữa `PaymentGateway` và module `OrderProcessing` (Xử lý đơn hàng), họ nên tập trung vào loại trường hợp kiểm thử nào?
Đáp án và lời giải
Đáp án: D
Câu 17
Lập trình viên Linh đang cố gắng tái tạo một lỗi trong tính năng tìm kiếm chỉ xảy ra “thỉnh thoảng” và rất khó bắt. Lỗi này thuộc loại nào và là một thách thức trong pha cài đặt?
Đáp án và lời giải
Đáp án: D
Câu 18
Để đảm bảo tính năng tìm kiếm được tích hợp liên tục và chất lượng, công cụ “Build Automation” (Xây dựng tự động) như Maven hoặc Gradle có vai trò gì?
Đáp án và lời giải
Đáp án: D
Câu 19
Một “Test Harness” (Hệ thống kiểm thử) trong kiểm thử đơn vị có chức năng chính là gì?
Đáp án và lời giải
Đáp án: D
Câu 20
Nếu tính năng tìm kiếm mới gây ra lỗi trong các phần khác của ứng dụng mua sắm đã hoạt động đúng trước đây, đây là loại lỗi gì?
Đáp án và lời giải
Đáp án: D
Câu 21
Trong Pha Cài đặt, việc sử dụng các “Framework” (Khung làm việc) như Spring Boot (Java) hoặc Django (Python) mang lại lợi ích gì cho việc phát triển tính năng tìm kiếm?
Đáp án và lời giải
Đáp án: D
Câu 22
Mục tiêu của việc “Code Review” (Đánh giá mã) trong pha cài đặt là gì?
Đáp án và lời giải
Đáp án: D
Câu 23
Khi các lập trình viên làm việc trên các module của tính năng tìm kiếm, việc giữ cho các module có “High Cohesion” (Tính liên kết cao) có nghĩa là gì?
Đáp án và lời giải
Đáp án: D
Câu 24
Để đảm bảo tính năng tìm kiếm hoạt động ổn định trên nhiều thiết bị (PC, điện thoại, máy tính bảng), điều gì cần được xem xét trong cài đặt và kiểm thử tích hợp?
Đáp án và lời giải
Đáp án: D
Câu 25
Khi một lập trình viên hoàn thành việc viết mã cho một phần nhỏ của tính năng tìm kiếm và xác nhận nó hoạt động đúng, anh ấy sẽ “Commit” mã của mình vào hệ thống kiểm soát phiên bản. Hành động này có ý nghĩa gì trong quy trình phát triển?