200+ câu Trắc nghiệm Lập trình căn bản có đáp án - Phần 4
30 câu hỏi
Trong lập trình, ‘mảng’ (array) là một cấu trúc dữ liệu cho phép lưu trữ một tập hợp các phần tử có cùng kiểu dữ liệu, được truy cập thông qua gì?
Tên của phần tử
Chỉ số (index) hoặc khóa
Giá trị của phần tử
Con trỏ đến phần tử
Chọn đáp án B
Xét đoạn mã giả sau: `function tim_max(mang): max_val = mang[0]; for i from 1 to length(mang) – 1: if mang[i] > max_val: max_val = mang[i]; return max_val;`. Độ phức tạp thời gian (time complexity) của thuật toán này là gì?
O(n^2)
O(log n)
O(n)
O(1)
Chọn đáp án C
Trong ngôn ngữ lập trình Java, từ khóa `public` có ý nghĩa gì khi đặt trước một lớp hoặc phương thức?
Chỉ có thể truy cập từ bên trong lớp đó
Có thể truy cập từ bất kỳ lớp nào khác
Chỉ có thể truy cập từ các lớp trong cùng gói (package)
Có thể truy cập từ các lớp con, nhưng không phải từ lớp cha
Chọn đáp án B
Một vòng lặp `while` sẽ tiếp tục thực thi khối lệnh bên trong nó miễn là điều kiện của vòng lặp là gì?
Sai (False)
Đúng (True)
Không xác định (Undefined)
Bằng không (Zero)
Chọn đáp án B
Khái niệm ‘thuật toán’ (algorithm) trong khoa học máy tính đề cập đến điều gì?
Một chương trình máy tính hoàn chỉnh
Một thiết bị phần cứng
Một tập hợp các bước hoặc quy tắc rõ ràng, hữu hạn để giải quyết một vấn đề hoặc thực hiện một nhiệm vụ
Một giao diện lập trình ứng dụng
Chọn đáp án C
Cấu trúc dữ liệu nào phù hợp nhất để triển khai hàng đợi (Queue), nơi các phần tử được xử lý theo thứ tự đến trước, ra trước (First-In, First-Out – FIFO)?
Ngăn xếp (Stack)
Danh sách liên kết (Linked List)
Cây (Tree)
Hàng đợi ưu tiên (Priority Queue)
Chọn đáp án B
Khái niệm ‘biên dịch’ (compilation) trong lập trình là quá trình gì?
Chuyển đổi mã nguồn từ ngôn ngữ cấp cao sang ngôn ngữ máy
Chạy trực tiếp mã nguồn
Tìm lỗi trong mã nguồn
Định dạng lại mã nguồn
Chọn đáp án A
Trong phát triển phần mềm, ‘bug’ là thuật ngữ chỉ điều gì?
Một tính năng mới của phần mềm
Một lỗi hoặc sai sót trong mã nguồn gây ra hành vi không mong muốn
Một thành phần của giao diện người dùng
Một thuật toán hiệu quả
Chọn đáp án B
Ngôn ngữ lập trình nào là lựa chọn phổ biến cho các tác vụ khoa học dữ liệu, máy học và trí tuệ nhân tạo?
C++
Python
Assembly
Fortran
Chọn đáp án B
Ngôn ngữ lập trình nào thường được sử dụng cho việc phát triển ứng dụng trên nền tảng iOS (iPhone, iPad)?
Java
Python
Swift hoặc Objective-C
JavaScript
Chọn đáp án C
Khái niệm ‘tái sử dụng mã’ (code reuse) mang lại lợi ích gì?
Làm tăng độ phức tạp của mã nguồn
Giảm thời gian phát triển, tăng tính nhất quán và dễ bảo trì
Yêu cầu nhiều tài nguyên phần cứng hơn
Không có lợi ích rõ ràng
Chọn đáp án B
Nguyên tắc ‘Đóng gói’ (Encapsulation) giúp ích gì cho việc bảo trì phần mềm?Phần mềm
Làm cho mã nguồn khó đọc hơn
Cho phép thay đổi chi tiết triển khai bên trong một lớp mà không ảnh hưởng đến các phần khác của chương trình sử dụng lớp đó
Buộc người dùng phải biết mọi chi tiết của lớp
Tăng cường khả năng kế thừa
Chọn đáp án B
Trong lập trình hướng đối tượng (OOP), khái niệm nào mô tả khả năng của một đối tượng có thể truy cập và sửa đổi dữ liệu của đối tượng khác thông qua các phương thức được định nghĩa sẵn, mà không cần biết chi tiết về cách thức hoạt động bên trong?
Trừu tượng hóa (Abstraction)
Đóng gói (Encapsulation)
Kế thừa (Inheritance)
Đa hình (Polymorphism)
Chọn đáp án A
Khi nói về ‘biến’ (variable) trong lập trình, điều nào sau đây là đúng nhất?
Là một hàm thực thi một tác vụ
Là một tên gọi đại diện cho một giá trị có thể thay đổi trong bộ nhớ
Là một hằng số có giá trị cố định
Là một từ khóa của ngôn ngữ lập trình
Chọn đáp án B
Nguyên tắc ‘Trừu tượng hóa’ (Abstraction) trong OOP tập trung vào việc gì?
Che giấu hoàn toàn dữ liệu của đối tượng
Hiển thị chỉ những đặc điểm cần thiết và ẩn đi các chi tiết phức tạp không liên quan
Cho phép các đối tượng thuộc các lớp khác nhau có cùng tên phương thức
Gom dữ liệu và phương thức vào một đơn vị
Chọn đáp án B
Trong các cấu trúc dữ liệu, cấu trúc nào sau đây cho phép thêm và xóa phần tử theo nguyên tắc ‘Vào sau, ra trước’ (Last-In, First-Out – LIFO)?
Hàng đợi (Queue)
Ngăn xếp (Stack)
Danh sách liên kết (Linked List)
Cây tìm kiếm nhị phân (Binary Search Tree)
Chọn đáp án B
Một biến được khai báo với từ khóa `static` trong một hàm có thể có đặc điểm nào sau đây?
Chỉ tồn tại trong phạm vi của hàm đó và bị hủy khi hàm kết thúc
Tồn tại suốt vòng đời của chương trình và giữ nguyên giá trị giữa các lần gọi hàm
Có thể truy cập từ bất kỳ đâu trong chương trình
Tự động khởi tạo lại về giá trị mặc định mỗi khi hàm được gọi
Chọn đáp án B
Trong một vòng lặp `for`, ba thành phần chính thường bao gồm là gì?
Khởi tạo, điều kiện, cập nhật giá trị
Khởi tạo, khối lệnh, trả về giá trị
Điều kiện, khối lệnh, ngắt vòng lặp
Khai báo biến, gán giá trị, kiểm tra
Chọn đáp án A
Trong lập trình, ‘từ khóa’ (keyword) là gì?
Một tên biến do người lập trình đặt
Một từ có ý nghĩa đặc biệt trong ngôn ngữ lập trình, không thể dùng làm tên biến hoặc tên hàm
Một ký hiệu dùng để biểu diễn phép toán
Một loại dữ liệu
Chọn đáp án B
Trong lập trình, ‘hằng số’ (constant) là một biến có đặc điểm gì?
Giá trị của nó có thể thay đổi bất kỳ lúc nào
Giá trị của nó được xác định một lần và không thể thay đổi trong suốt quá trình thực thi chương trình
Nó luôn có giá trị là chuỗi ký tự
Nó chỉ tồn tại trong phạm vi của một hàm
Chọn đáp án B
Trong lập trình, ‘vòng lặp’ (loop) được sử dụng để làm gì?
Thực hiện một khối lệnh một lần duy nhất
Rẽ nhánh chương trình dựa trên một điều kiện
Lặp lại việc thực hiện một khối lệnh nhiều lần
Khai báo một biến mới
Chọn đáp án C
Khái niệm ‘phân tích cú pháp’ (parsing) trong ngôn ngữ lập trình là gì?
Chạy mã lệnh
Kiểm tra lỗi ngữ pháp của mã nguồn
Chuyển đổi mã nguồn thành cấu trúc dữ liệu có thể xử lý được
Tối ưu hóa tốc độ thực thi
Chọn đáp án C
Cấu trúc điều khiển ‘if-else’ được sử dụng cho mục đích gì?
Thực hiện một khối lệnh lặp đi lặp lại
Chọn một trong hai hoặc nhiều khối lệnh để thực thi dựa trên một điều kiện
Gán một giá trị cho biến
Định nghĩa một hàm
Chọn đáp án B
Một chương trình máy tính bao gồm các thành phần chính nào? Phần cứng máy tính
Chỉ mã lệnh (code)
Mã lệnh, dữ liệu và tài liệu hướng dẫn
Chỉ dữ liệu
Chỉ phần cứng
Chọn đáp án B
Khái niệm ‘biên dịch JIT’ (Just-In-Time compilation) là gì?
Biên dịch toàn bộ chương trình trước khi chạy
Biên dịch mã nguồn thành mã máy ngay tại thời điểm thực thi chương trình
Sử dụng mã máy đã được biên dịch sẵn
Chỉ biên dịch các phần mã được sử dụng
Chọn đáp án B
Khái niệm ‘debug’ trong phát triển phần mềm liên quan đến hoạt động nào?
Viết mã nguồn mới.Phần mềm
Thiết kế giao diện người dùng
Tìm kiếm và sửa lỗi trong mã nguồn
Tối ưu hóa hiệu năng thuật toán
Chọn đáp án C
Nguyên tắc nào của lập trình hướng đối tượng cho phép một lớp con kế thừa các thuộc tính và phương thức từ lớp cha?
Đóng gói (Encapsulation)
Trừu tượng hóa (Abstraction)
Kế thừa (Inheritance)
Đa hình (Polymorphism)
Chọn đáp án C
Trong lập trình, khái niệm ‘biến toàn cục’ (global variable) có đặc điểm chính là gì?
Chỉ tồn tại trong một hàm cụ thể
Có thể truy cập và sửa đổi từ bất kỳ đâu trong toàn bộ chương trình
Tự động bị hủy khi hàm chứa nó kết thúc
Luôn có giá trị là 0
Chọn đáp án B
Trong lập trình, ‘kiểu dữ liệu trừu tượng’ (Abstract Data Type – ADT) là gì?
Một kiểu dữ liệu có sẵn trong mọi ngôn ngữ lập trình
Một mô tả toán học về một tập hợp các giá trị và các phép toán trên chúng, không phụ thuộc vào cách triển khai cụ thể
Một biến có thể lưu trữ nhiều loại dữ liệu khác nhau
Một loại lỗi cú pháp
Chọn đáp án B
Trong lập trình, một ‘hàm’ (function) hay ‘phương thức’ (method) là gì?
Một biến lưu trữ dữ liệu
Một khối mã được đặt tên, có thể nhận đầu vào, thực hiện một tập hợp các lệnh và có thể trả về một giá trị
Một cấu trúc dữ liệu
Một từ khóa của ngôn ngữ lập trình
Chọn đáp án B








