Đề thi, bài tập trắc nghiệm online Cơ sở lập trìnhĐề 10 – Bài tập, đề thi trắc nghiệm online Cơ sở lập trình Đăng vào 2 Tháng 5, 2026 bởi admin Đề 10 – Bài tập, đề thi trắc nghiệm online Cơ sở lập trình Đề 10 – Bài tập, đề thi trắc nghiệm online Cơ sở lập trình Số câu30Quiz ID11750 Làm bài Câu 1 1. Cơ sở dữ liệu (database) được sử dụng để làm gì trong ứng dụng phần mềm? A A. Hiển thị giao diện người dùng. B B. Lưu trữ, quản lý và truy xuất dữ liệu một cách có cấu trúc và hiệu quả. C C. Biên dịch mã nguồn chương trình. D D. Kiểm thử chức năng của chương trình. Câu 2 2. Nguyên tắc 'DRY' (Don't Repeat Yourself) trong lập trình khuyến khích điều gì? A A. Viết mã lặp đi lặp lại để đảm bảo tính nhất quán. B B. Tránh lặp lại mã bằng cách trừu tượng hóa và tái sử dụng mã. C C. Viết tài liệu chi tiết cho mọi phần của chương trình. D D. Kiểm thử chương trình thường xuyên. Câu 3 3. Trong ngữ cảnh quản lý bộ nhớ, 'garbage collection' (thu gom rác) là gì? A A. Quá trình giải phóng bộ nhớ đã được cấp phát nhưng không còn được sử dụng bởi chương trình. B B. Quá trình phân bổ bộ nhớ cho các biến mới. C C. Quá trình nén dữ liệu trong bộ nhớ để tiết kiệm không gian. D D. Quá trình sao lưu dữ liệu từ bộ nhớ chính sang bộ nhớ thứ cấp. Câu 4 4. Sự khác biệt chính giữa 'compiler' (trình biên dịch) và 'interpreter' (trình thông dịch) là gì? A A. Compiler dịch mã nguồn thành mã máy trước khi thực thi, còn interpreter dịch và thực thi mã nguồn từng dòng một. B B. Compiler chạy chương trình nhanh hơn interpreter. C C. Interpreter tạo ra file thực thi độc lập, còn compiler thì không. D D. Không có sự khác biệt đáng kể giữa compiler và interpreter. Câu 5 5. Đâu là lợi ích chính của việc sử dụng ngôn ngữ lập trình bậc cao so với ngôn ngữ lập trình bậc thấp? A A. Ngôn ngữ bậc cao chạy nhanh hơn. B B. Ngôn ngữ bậc cao dễ đọc, dễ viết và dễ bảo trì hơn. C C. Ngôn ngữ bậc cao có thể truy cập trực tiếp vào phần cứng. D D. Ngôn ngữ bậc cao tiết kiệm bộ nhớ hơn. Câu 6 6. Trong ngôn ngữ lập trình, cấu trúc điều khiển 'if-else' được sử dụng để làm gì? A A. Lặp lại một khối lệnh nhiều lần. B B. Chọn một trong hai khối lệnh để thực thi dựa trên một điều kiện. C C. Định nghĩa một hàm mới. D D. Xử lý lỗi trong chương trình. Câu 7 7. Vòng lặp 'for' thường được sử dụng khi nào? A A. Khi số lần lặp không xác định trước. B B. Khi cần lặp vô hạn. C C. Khi biết chính xác số lần lặp cần thực hiện. D D. Khi cần xử lý lỗi trong quá trình lặp. Câu 8 8. Phương pháp 'debug' được sử dụng để làm gì? A A. Tăng tốc độ chương trình. B B. Viết tài liệu hướng dẫn sử dụng chương trình. C C. Tìm và sửa lỗi trong chương trình. D D. Tối ưu hóa mã nguồn. Câu 9 9. Phương pháp 'refactoring' trong lập trình là gì? A A. Thêm chức năng mới vào chương trình. B B. Thay đổi mã nguồn để cải thiện cấu trúc bên trong, tính dễ đọc và bảo trì mà không thay đổi chức năng bên ngoài của chương trình. C C. Sửa lỗi trong chương trình. D D. Tối ưu hóa hiệu suất chương trình bằng cách thay đổi thuật toán. Câu 10 10. Trong lập trình, 'pseudocode' (mã giả) được sử dụng với mục đích gì? A A. Để viết mã nguồn chương trình trực tiếp. B B. Để mô tả giải thuật hoặc logic chương trình một cách dễ hiểu, gần với ngôn ngữ tự nhiên, trước khi viết mã bằng ngôn ngữ lập trình cụ thể. C C. Để biên dịch mã nguồn sang mã máy. D D. Để chạy chương trình trên các hệ điều hành khác nhau. Câu 11 11. Hàm (function) trong lập trình có vai trò chính là gì? A A. Tăng tốc độ thực thi chương trình. B B. Chia chương trình thành các khối mã nhỏ hơn, có tính tái sử dụng và dễ quản lý. C C. Quản lý bộ nhớ của chương trình. D D. Kết nối chương trình với cơ sở dữ liệu. Câu 12 12. Trong lập trình hướng đối tượng (OOP), khái niệm 'class' dùng để chỉ điều gì? A A. Một thể hiện cụ thể của đối tượng. B B. Một bản thiết kế hoặc khuôn mẫu cho các đối tượng, định nghĩa thuộc tính và phương thức. C C. Một phương thức đặc biệt để khởi tạo đối tượng. D D. Một cách để quản lý bộ nhớ trong chương trình. Câu 13 13. SQL (Structured Query Language) là ngôn ngữ được sử dụng chủ yếu cho mục đích gì? A A. Lập trình giao diện người dùng. B B. Thao tác và quản lý cơ sở dữ liệu quan hệ. C C. Phát triển ứng dụng di động. D D. Lập trình game. Câu 14 14. Kiểu dữ liệu 'boolean' thường được sử dụng để biểu diễn giá trị nào? A A. Số nguyên. B B. Số thực. C C. Chuỗi ký tự. D D. Giá trị logic đúng hoặc sai. Câu 15 15. CSS (Cascading Style Sheets) được sử dụng để làm gì trong phát triển web? A A. Xử lý dữ liệu trên máy chủ web. B B. Tạo cấu trúc cơ bản của trang web. C C. Định dạng và tạo kiểu dáng cho trang web (màu sắc, bố cục, font chữ, v.v.). D D. Quản lý cơ sở dữ liệu cho trang web. Câu 16 16. Ngôn ngữ lập trình nào thường được sử dụng để thêm tính tương tác và động cho trang web ở phía trình duyệt? A A. HTML. B B. CSS. C C. JavaScript. D D. SQL. Câu 17 17. Phiên bản kiểm soát (version control) như Git được sử dụng để làm gì? A A. Tăng tốc độ biên dịch chương trình. B B. Quản lý và theo dõi các thay đổi của mã nguồn theo thời gian, hỗ trợ làm việc nhóm và khôi phục lại các phiên bản trước đó. C C. Tối ưu hóa hiệu suất cơ sở dữ liệu. D D. Bảo mật chương trình khỏi tấn công mạng. Câu 18 18. Giải thuật (algorithm) được hiểu là gì trong lập trình? A A. Một ngôn ngữ lập trình cụ thể. B B. Một công cụ để kiểm thử chương trình. C C. Một tập hợp các bước hữu hạn, rõ ràng và có thứ tự để giải quyết một vấn đề cụ thể. D D. Một phần cứng máy tính chuyên dụng cho lập trình. Câu 19 19. Trong kiểm thử phần mềm, 'unit testing' (kiểm thử đơn vị) tập trung vào việc kiểm tra điều gì? A A. Toàn bộ hệ thống phần mềm. B B. Từng module hoặc thành phần nhỏ nhất (đơn vị) của phần mềm một cách độc lập. C C. Giao diện người dùng của phần mềm. D D. Hiệu suất của phần mềm dưới tải lớn. Câu 20 20. Điều gì xảy ra khi bạn cố gắng truy cập một phần tử của mảng vượt quá kích thước của nó (array index out of bounds)? A A. Chương trình sẽ tự động mở rộng kích thước mảng. B B. Chương trình sẽ báo lỗi runtime (thời gian chạy) và có thể ngừng thực thi. C C. Chương trình sẽ trả về giá trị mặc định cho kiểu dữ liệu của mảng. D D. Chương trình sẽ bỏ qua lỗi và tiếp tục thực thi bình thường. Câu 21 21. Trong lập trình mạng, 'socket' được sử dụng để làm gì? A A. Mã hóa dữ liệu truyền qua mạng. B B. Thiết lập kênh giao tiếp hai chiều giữa các ứng dụng chạy trên các máy tính khác nhau qua mạng. C C. Quản lý địa chỉ IP của máy tính. D D. Kiểm tra tốc độ kết nối mạng. Câu 22 22. Thuật ngữ 'syntax' trong lập trình đề cập đến điều gì? A A. Logic của chương trình. B B. Hiệu suất của chương trình. C C. Quy tắc viết mã của một ngôn ngữ lập trình, bao gồm cấu trúc và cú pháp. D D. Cách chương trình tương tác với người dùng. Câu 23 23. Khái niệm 'inheritance' (kế thừa) trong OOP có ý nghĩa gì? A A. Tạo ra các đối tượng độc lập không liên quan đến nhau. B B. Cho phép một lớp (class) kế thừa các thuộc tính và phương thức từ một lớp khác, tạo tính tái sử dụng mã và phân cấp lớp. C C. Ẩn thông tin chi tiết bên trong đối tượng. D D. Đóng gói dữ liệu và phương thức lại với nhau. Câu 24 24. Lỗi 'runtime error' xảy ra khi nào? A A. Trong quá trình biên dịch mã nguồn. B B. Trong quá trình liên kết các module của chương trình. C C. Trong quá trình chương trình đang thực thi. D D. Trước khi chương trình được biên dịch. Câu 25 25. Đâu là một ví dụ về cấu trúc dữ liệu tuyến tính? A A. Cây nhị phân (Binary Tree). B B. Đồ thị (Graph). C C. Mảng (Array). D D. Bảng băm (Hash Table). Câu 26 26. Trong lập trình web, ngôn ngữ nào thường được sử dụng để tạo cấu trúc và nội dung của trang web? A A. JavaScript. B B. Python. C C. HTML. D D. CSS. Câu 27 27. Đệ quy (recursion) trong lập trình là gì? A A. Một kỹ thuật tối ưu hóa vòng lặp. B B. Một phương pháp để xử lý lỗi. C C. Một kỹ thuật lập trình trong đó một hàm tự gọi chính nó. D D. Một cách để chia chương trình thành các module độc lập. Câu 28 28. Đâu là ưu điểm của việc sử dụng mảng (array) trong lập trình? A A. Mảng có thể thay đổi kích thước linh hoạt trong quá trình thực thi. B B. Truy cập các phần tử trong mảng thông qua chỉ số rất nhanh chóng và hiệu quả. C C. Mảng có thể lưu trữ các phần tử thuộc nhiều kiểu dữ liệu khác nhau. D D. Mảng tự động sắp xếp các phần tử theo thứ tự. Câu 29 29. API (Application Programming Interface) là gì? A A. Một loại ngôn ngữ lập trình mới. B B. Một giao diện cho phép các ứng dụng phần mềm khác nhau giao tiếp và trao đổi dữ liệu với nhau. C C. Một công cụ để kiểm thử hiệu suất chương trình. D D. Một hệ điều hành cho máy chủ. Câu 30 30. Trong lập trình, biến (variable) được sử dụng để làm gì? A A. Lưu trữ và đại diện cho dữ liệu có thể thay đổi trong quá trình thực thi chương trình. B B. Xác định cấu trúc điều khiển của chương trình. C C. Thực hiện các phép toán số học phức tạp. D D. Tối ưu hóa hiệu suất của chương trình. Đề 9 – Bài tập, đề thi trắc nghiệm online Nhập môn Việt ngữ Đề 11 – Bài tập, đề thi trắc nghiệm online Phân tích và thiết kế hệ thống thông tin