Đề 13 – Bài tập, đề thi trắc nghiệm online Cơ sở lập trình

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ơ sở lập trình

Đề 13 - Bài tập, đề thi trắc nghiệm online Cơ sở lập trình

1. Hàm (function) trong lập trình mang lại lợi ích chính nào?

A. Tăng tốc độ thực thi chương trình.
B. Giảm dung lượng bộ nhớ chương trình.
C. Tái sử dụng mã và chia chương trình thành các phần nhỏ, dễ quản lý hơn.
D. Cải thiện tính bảo mật của chương trình.

2. Trong bảo mật lập trình, 'SQL injection′ là loại tấn công lợi dụng lỗ hổng nào?

A. Lỗi tràn bộ đệm.
B. Lỗi xác thực yếu.
C. Lỗi trong việc xử lý dữ liệu đầu vào từ người dùng để truy vấn cơ sở dữ liệu.
D. Lỗi mã hóa dữ liệu.

3. 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. JavaScript
B. HTML
C. CSS
D. Python

4. Lỗi 'cú pháp′ (syntax error) thường xảy ra khi nào?

A. Khi chương trình chạy sai kết quả mong muốn.
B. Khi chương trình cố gắng truy cập bộ nhớ không hợp lệ.
C. Khi mã nguồn vi phạm quy tắc ngữ pháp của ngôn ngữ lập trình.
D. Khi thuật toán chương trình có lỗi logic.

5. Khi một biến được khai báo là 'cục bộ' (local) bên trong một hàm, phạm vi sử dụng của biến đó là gì?

A. Toàn bộ chương trình.
B. Chỉ bên trong hàm mà nó được khai báo.
C. Bên ngoài hàm nhưng trong cùng một file.
D. Trong tất cả các hàm khác trừ hàm khai báo nó.

6. Trong lập trình, 'đệ quy′ (recursion) là kỹ thuật lập trình như thế nào?

A. Lặp đi lặp lại một khối lệnh cố định.
B. Một hàm tự gọi chính nó để giải quyết bài toán.
C. Chia chương trình thành các mô-đun nhỏ.
D. Sử dụng vòng lặp 'for′ thay vì 'while′.

7. Khái niệm 'tham số' (parameter) và 'đối số' (argument) trong hàm có mối quan hệ như thế nào?

A. Tham số và đối số là hai tên gọi khác nhau cho cùng một khái niệm.
B. Tham số là biến được khai báo trong định nghĩa hàm, đối số là giá trị thực tế được truyền vào khi gọi hàm.
C. Tham số là giá trị truyền vào hàm, đối số là biến bên trong hàm.
D. Tham số chỉ dùng cho hàm trả về giá trị, đối số dùng cho hàm không trả về giá trị.

8. Thao tác 'gán′ (assignment) trong lập trình có nghĩa là gì?

A. So sánh hai giá trị.
B. Kết hợp hai chuỗi ký tự.
C. Đặt một giá trị cụ thể cho một biến.
D. Xóa một biến khỏi bộ nhớ.

9. Kiểu dữ liệu 'con trỏ' (pointer) trong một số ngôn ngữ lập trình (như C∕C++) dùng để làm gì?

A. Lưu trữ giá trị số nguyên.
B. Lưu trữ địa chỉ bộ nhớ của một biến khác.
C. Lưu trữ chuỗi ký tự.
D. Lưu trữ giá trị logic.

10. Chức năng chính của 'hệ điều hành′ (operating system) trong việc chạy chương trình là gì?

A. Biên dịch mã nguồn.
B. Cung cấp môi trường và tài nguyên (bộ nhớ, CPU, I∕O) để chương trình thực thi.
C. Gỡ lỗi chương trình.
D. Thiết kế giao diện người dùng.

11. Kiểu dữ liệu nào sau đây thường được sử dụng để biểu diễn số nguyên trong lập trình?

A. Float
B. String
C. Integer
D. Boolean

12. Biên dịch (compilation) là quá trình chuyển đổi mã nguồn (source code) sang dạng nào?

A. Mã máy (machine code) hoặc mã đối tượng (object code).
B. Ngôn ngữ tự nhiên.
C. Mã giả (pseudocode).
D. Lưu đồ thuật toán.

13. Phương pháp lập trình 'hướng sự kiện′ (event-driven programming) tập trung vào điều gì?

A. Thực hiện các câu lệnh theo thứ tự tuyến tính.
B. Phản ứng và xử lý các sự kiện (ví dụ: click chuột, phím bấm) do người dùng hoặc hệ thống tạo ra.
C. Chia chương trình thành các hàm nhỏ.
D. Tối ưu hóa tốc độ thực thi của chương trình.

14. Trong lập trình hướng đối tượng, 'kế thừa′ (inheritance) cho phép làm gì?

A. Tạo ra các đối tượng độc lập hoàn toàn.
B. Một lớp (lớp con) kế thừa các thuộc tính và phương thức từ một lớp khác (lớp cha).
C. Ẩn thông tin chi tiết của đối tượng.
D. Đóng gói dữ liệu và phương thức lại với nhau.

15. Phương pháp gỡ lỗi (debugging) 'in vết′ (print statement debugging) hoạt động như thế nào?

A. Sử dụng trình gỡ lỗi chuyên dụng để chạy từng bước chương trình.
B. Thêm các lệnh in giá trị biến hoặc thông báo trạng thái chương trình tại các điểm khác nhau để theo dõi luồng thực thi.
C. Phân tích mã nguồn để tìm lỗi logic.
D. Sử dụng các công cụ kiểm thử tự động.

16. Nguyên tắc 'DRY′ (Don′t Repeat Yourself) trong lập trình khuyến khích điều gì?

A. Viết mã lặp đi lặp lại để đảm bảo tính dễ đọc.
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. Viết mã càng chi tiết càng tốt.
D. Tối ưu hóa mã cho tốc độ thực thi tối đa, bất kể độ phức tạp.

17. Đâu là lợi ích chính của việc sử dụng hệ thống quản lý phiên bản (version control system) như Git?

A. Tăng tốc độ biên dịch chương trình.
B. Giúp quản lý và theo dõi thay đổi mã nguồn, dễ dàng quay lại phiên bản trước và làm việc nhóm hiệu quả.
C. Tự động gỡ lỗi chương trình.
D. Tối ưu hóa bộ nhớ sử dụng.

18. Vòng lặp 'for′ thường được sử dụng khi nào?

A. Khi số lần lặp không xác định trước.
B. Khi cần lặp lại một khối lệnh với số lần biết trước.
C. Khi muốn kiểm tra một điều kiện đúng hay sai.
D. Khi cần thực hiện một khối lệnh ít nhất một lần.

19. Phép toán '% ' (modulo) trong lập trình dùng để làm gì?

A. Tính phần trăm của một số.
B. Tính lũy thừa của một số.
C. Tính phần dư của phép chia số nguyên.
D. Tính căn bậc hai của một số.

20. Trong lập trình, 'mã giả' (pseudocode) được sử dụng cho mục đích gì?

A. Để viết chương trình trực tiếp bằng ngôn ngữ máy.
B. Để mô tả thuật toán một cách dễ hiểu, gần với ngôn ngữ tự nhiên, trước khi viết mã thật.
C. Để biên dịch chương trình thành mã thực thi.
D. Để tối ưu hóa hiệu suất chương trình.

21. Phát biểu nào sau đây mô tả đúng nhất về 'cấu trúc điều khiển′ trong lập trình?

A. Cấu trúc dữ liệu để lưu trữ thông tin.
B. Cú pháp để khai báo biến.
C. Cơ chế để kiểm soát thứ tự thực hiện các câu lệnh trong chương trình.
D. Công cụ để gỡ lỗi chương trình.

22. Trong lập trình, biến (variable) được sử dụng để làm gì?

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. Điều khiển luồng thực thi của chương trình.
C. Định nghĩa các hàm và thủ tục.
D. Tối ưu hóa hiệu suất của chương trình.

23. Trong ngữ cảnh quản lý bộ nhớ, 'rò rỉ bộ nhớ' (memory leak) xảy ra khi nào?

A. Khi chương trình sử dụng quá nhiều bộ nhớ.
B. Khi bộ nhớ được cấp phát nhưng không được giải phóng sau khi sử dụng xong.
C. Khi chương trình cố gắng truy cập vào vùng nhớ không được phép.
D. Khi bộ nhớ bị lỗi phần cứng.

24. Sự khác biệt chính giữa 'biên dịch′ (compilation) và 'thông dịch′ (interpretation) là gì?

A. Biên dịch tạo ra mã máy thực thi trực tiếp, thông dịch thực thi mã nguồn từng dòng một.
B. Biên dịch nhanh hơn thông dịch.
C. Thông dịch tạo ra mã máy, biên dịch không tạo ra mã máy.
D. Biên dịch dễ gỡ lỗi hơn thông dịch.

25. Đoạn mã sau in ra kết quả gì nếu ngôn ngữ lập trình sử dụng quy tắc 'truyền tham trị' (pass-by-value)?
```
function changeValue(x):
x = 10

value = 5
changeValue(value)
print(value)
```

A. 10
B. 5
C. 15
D. 0

26. Trong thiết kế hướng đối tượng, nguyên tắc 'đa hình′ (polymorphism) nghĩa là gì?

A. Một đối tượng có nhiều thuộc tính.
B. Một lớp có thể có nhiều phương thức.
C. Các đối tượng thuộc các lớp khác nhau có thể phản ứng khác nhau với cùng một phương thức.
D. Một lớp chỉ có thể kế thừa từ một lớp cha duy nhất.

27. Cấu trúc dữ liệu 'mảng′ (array) có đặc điểm chính nào?

A. Lưu trữ dữ liệu không có thứ tự.
B. Lưu trữ các phần tử có thể khác kiểu dữ liệu.
C. Lưu trữ một tập hợp các phần tử có cùng kiểu dữ liệu và có thứ tự.
D. Kích thước có thể thay đổi linh hoạt trong quá trình chạy.

28. Kiểu dữ liệu 'boolean′ thường được sử dụng để biểu diễn giá trị nào?

A. Số nguyên.
B. Số thực.
C. Chuỗi ký tự.
D. Giá trị logic đúng (true) hoặc sai (false).

29. Trong lập trình, 'thuật toán′ (algorithm) được hiểu là gì?

A. Một ngôn ngữ lập trình cụ thể.
B. Một chương trình máy tính hoàn chỉnh.
C. Một tập hợp các bước hữu hạn và rõ ràng để giải quyết một vấn đề cụ thể.
D. Một loại lỗi thường gặp trong chương trình.

30. Trong lập trình hướng đối tượng, khái niệm 'đối tượng′ (object) là gì?

A. Một kiểu dữ liệu cơ bản.
B. Một thể hiện cụ thể của một lớp (class), chứa dữ liệu và hành vi.
C. Một hàm đặc biệt dùng để khởi tạo biến.
D. Một phương pháp để tối ưu hóa bộ nhớ.

1 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

1. Hàm (function) trong lập trình mang lại lợi ích chính nào?

2 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

2. Trong bảo mật lập trình, `SQL injection′ là loại tấn công lợi dụng lỗ hổng nào?

3 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

3. 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?

4 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

4. Lỗi `cú pháp′ (syntax error) thường xảy ra khi nào?

5 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

5. Khi một biến được khai báo là `cục bộ` (local) bên trong một hàm, phạm vi sử dụng của biến đó là gì?

6 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

6. Trong lập trình, `đệ quy′ (recursion) là kỹ thuật lập trình như thế nào?

7 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

7. Khái niệm `tham số` (parameter) và `đối số` (argument) trong hàm có mối quan hệ như thế nào?

8 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

8. Thao tác `gán′ (assignment) trong lập trình có nghĩa là gì?

9 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

9. Kiểu dữ liệu `con trỏ` (pointer) trong một số ngôn ngữ lập trình (như C∕C++) dùng để làm gì?

10 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

10. Chức năng chính của `hệ điều hành′ (operating system) trong việc chạy chương trình là gì?

11 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

11. Kiểu dữ liệu nào sau đây thường được sử dụng để biểu diễn số nguyên trong lập trình?

12 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

12. Biên dịch (compilation) là quá trình chuyển đổi mã nguồn (source code) sang dạng nào?

13 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

13. Phương pháp lập trình `hướng sự kiện′ (event-driven programming) tập trung vào điều gì?

14 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

14. Trong lập trình hướng đối tượng, `kế thừa′ (inheritance) cho phép làm gì?

15 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

15. Phương pháp gỡ lỗi (debugging) `in vết′ (print statement debugging) hoạt động như thế nào?

16 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

16. Nguyên tắc `DRY′ (Don′t Repeat Yourself) trong lập trình khuyến khích điều gì?

17 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

17. Đâu là lợi ích chính của việc sử dụng hệ thống quản lý phiên bản (version control system) như Git?

18 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

18. Vòng lặp `for′ thường được sử dụng khi nào?

19 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

19. Phép toán `% ` (modulo) trong lập trình dùng để làm gì?

20 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

20. Trong lập trình, `mã giả` (pseudocode) được sử dụng cho mục đích gì?

21 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

21. Phát biểu nào sau đây mô tả đúng nhất về `cấu trúc điều khiển′ trong lập trình?

22 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

22. Trong lập trình, biến (variable) được sử dụng để làm gì?

23 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

23. Trong ngữ cảnh quản lý bộ nhớ, `rò rỉ bộ nhớ` (memory leak) xảy ra khi nào?

24 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

24. Sự khác biệt chính giữa `biên dịch′ (compilation) và `thông dịch′ (interpretation) là gì?

25 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

25. Đoạn mã sau in ra kết quả gì nếu ngôn ngữ lập trình sử dụng quy tắc `truyền tham trị` (pass-by-value)? ``` function changeValue(x): x = 10 value = 5 changeValue(value) print(value) ```

26 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

26. Trong thiết kế hướng đối tượng, nguyên tắc `đa hình′ (polymorphism) nghĩa là gì?

27 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

27. Cấu trúc dữ liệu `mảng′ (array) có đặc điểm chính nào?

28 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

28. Kiểu dữ liệu `boolean′ thường được sử dụng để biểu diễn giá trị nào?

29 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

29. Trong lập trình, `thuật toán′ (algorithm) được hiểu là gì?

30 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 13

30. Trong lập trình hướng đối tượng, khái niệm `đối tượng′ (object) là gì?