Chuyển đến nội dung

Trắc nghiệm Cơ sở lập trình online có đáp án

Trắc Nghiệm Kỹ Thuật & Công Nghệ

Trắc nghiệm Cơ sở lập trình online có đáp án

Ngày cập nhật: Tháng 2 6, 2026

Lưu ý và Miễn trừ trách nhiệm:Toàn bộ nội dung câu hỏi, đáp án và thông tin được cung cấp trên website này được xây dựng nhằm mục đích tham khảo, hỗ trợ ôn tập và củng cố kiến thức. Chúng tôi không cam kết về tính chính xác tuyệt đối, tính cập nhật hay độ tin cậy hoàn toàn của các dữ liệu này. Nội dung tại đây KHÔNG PHẢI LÀ ĐỀ THI CHÍNH THỨC của bất kỳ tổ chức giáo dục, trường đại học hay cơ quan cấp chứng chỉ nào. Người sử dụng tự chịu trách nhiệm khi sử dụng các thông tin này vào mục đích học tập, nghiên cứu hoặc áp dụng vào thực tiễn. Chúng tôi không chịu trách nhiệm pháp lý đối với bất kỳ sai sót, thiệt hại hoặc hậu quả nào phát sinh từ việc sử dụng thông tin trên website này.

Bạn đã sẵn sàng thử sức với bộ Trắc nghiệm Cơ sở lập trình online có đáp án. Bộ câu hỏi sẽ giúp bạn củng cố kiến thức thông qua trải nghiệm học tập chủ động. Bắt đầu bằng cách chọn một bộ câu hỏi trong danh sách bên dưới. Mong rằng bộ câu hỏi này sẽ giúp bạn học tập tốt hơn

★★★★★
★★★★★
4.6/5 (235 đánh giá)

1. Đâu là sự khác biệt chính giữa danh sách liên kết đơn (singly linked list) và danh sách liên kết đôi (doubly linked list)?

A. Danh sách liên kết đơn có thể chứa nhiều loại dữ liệu hơn danh sách liên kết đôi.
B. Danh sách liên kết đôi cho phép duyệt theo cả hai chiều, trong khi danh sách liên kết đơn chỉ cho phép duyệt theo một chiều.
C. Danh sách liên kết đơn có hiệu suất tốt hơn danh sách liên kết đôi.
D. Danh sách liên kết đôi sử dụng ít bộ nhớ hơn danh sách liên kết đơn.

2. Đâu là một trong những mục tiêu chính của việc sử dụng kiểm thử đơn vị (unit testing)?

A. Để kiểm tra hiệu suất của chương trình.
B. Để kiểm tra xem chương trình có tuân thủ các tiêu chuẩn mã hóa hay không.
C. Để kiểm tra các đơn vị code nhỏ nhất (ví dụ: hàm, phương thức) một cách độc lập.
D. Để kiểm tra tính bảo mật của chương trình.

3. Phương pháp thiết kế hướng đối tượng nào sau đây khuyến khích việc ưu tiên thành phần (composition) hơn kế thừa (inheritance)?

A. Nguyên tắc Single Responsibility
B. Nguyên tắc Open/Closed
C. Nguyên tắc Liskov Substitution
D. Nguyên tắc Composite Reuse

4. Trong lập trình, thuật ngữ ‘interface’ đề cập đến điều gì?

A. Một lớp không có phương thức.
B. Một lớp chỉ có thuộc tính.
C. Một bản thiết kế cho một lớp, định nghĩa các phương thức mà lớp đó phải triển khai.
D. Một biến toàn cục.

5. Trong lập trình, thuật ngữ ‘callback’ đề cập đến điều gì?

A. Một hàm được gọi tự động khi một sự kiện xảy ra.
B. Một hàm được truyền như một đối số cho một hàm khác và được gọi sau khi hàm đó hoàn thành.
C. Một hàm được sử dụng để gỡ lỗi code.
D. Một hàm được sử dụng để tạo giao diện người dùng.

6. Thao tác nào sau đây không phải là một thao tác cơ bản trên ngăn xếp (stack)?

A. Push
B. Pop
C. Peek
D. Sort

7. Trong lập trình, thuật ngữ ‘ép kiểu’ (type casting) đề cập đến điều gì?

A. Việc tạo ra một kiểu dữ liệu mới.
B. Việc chuyển đổi một giá trị từ một kiểu dữ liệu sang một kiểu dữ liệu khác.
C. Việc kiểm tra kiểu dữ liệu của một biến.
D. Việc khai báo một biến với một kiểu dữ liệu cụ thể.

8. Trong lập trình, lỗi cú pháp (syntax error) là gì?

A. Lỗi xảy ra khi chương trình chạy sai logic.
B. Lỗi xảy ra do vi phạm quy tắc ngữ pháp của ngôn ngữ lập trình.
C. Lỗi xảy ra khi chương trình cố gắng truy cập vào vùng nhớ không hợp lệ.
D. Lỗi xảy ra do tràn bộ nhớ.

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

A. Giúp viết code nhanh hơn
B. Giúp tìm lỗi trong code dễ dàng hơn
C. Giúp quản lý và theo dõi các thay đổi của code, làm việc nhóm hiệu quả hơn
D. Giúp chương trình chạy nhanh hơn

10. Đâu là một trong những lợi ích chính của việc sử dụng ngôn ngữ lập trình bậc cao (high-level programming language)?

A. Cho phép kiểm soát phần cứng trực tiếp hơn.
B. Dễ học và sử dụng hơn so với ngôn ngữ lập trình bậc thấp.
C. Chạy nhanh hơn so với ngôn ngữ lập trình bậc thấp.
D. Sử dụng ít bộ nhớ hơn so với ngôn ngữ lập trình bậc thấp.

11. Trong lập trình, thuật ngữ ‘đệ quy’ (recursion) đề cập đến điều gì?

A. Một vòng lặp vô hạn
B. Một hàm gọi chính nó
C. Một biến toàn cục
D. Một cấu trúc dữ liệu phức tạp

12. Phát biểu nào sau đây là đúng về mảng (array) trong lập trình?

A. Mảng có thể chứa các phần tử thuộc nhiều kiểu dữ liệu khác nhau.
B. Kích thước của mảng có thể thay đổi linh hoạt trong quá trình chạy chương trình.
C. Mảng là một tập hợp các phần tử có cùng kiểu dữ liệu và được lưu trữ liên tiếp trong bộ nhớ.
D. Mảng chỉ có thể chứa các số nguyên.

13. Phương pháp gỡ lỗi (debugging) nào sau đây thường được sử dụng để theo dõi giá trị của biến trong quá trình chạy chương trình?

A. Sử dụng trình biên dịch
B. Sử dụng trình thông dịch
C. Sử dụng điểm dừng (breakpoint)
D. Sử dụng trình soạn thảo văn bản

14. 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. Python
C. HTML
D. CSS

15. Đâu là một trong những mục tiêu chính của việc sử dụng hệ thống quản lý cơ sở dữ liệu quan hệ (relational database management system – RDBMS)?

A. Để lưu trữ dữ liệu một cách phi cấu trúc.
B. Để đảm bảo tính nhất quán, toàn vẹn và bảo mật của dữ liệu.
C. Để tăng tốc độ truy cập dữ liệu bằng cách loại bỏ các chỉ mục.
D. Để giảm thiểu việc sử dụng bộ nhớ.

16. Trong lập trình, thuật ngữ ‘closure’ đề cập đến điều gì?

A. Một hàm không có tham số.
B. Một hàm có thể truy cập các biến từ phạm vi bên ngoài của nó, ngay cả sau khi phạm vi đó đã kết thúc.
C. Một hàm được sử dụng để đóng một file.
D. Một hàm được sử dụng để tạo một đối tượng.

17. Kiểu dữ liệu nào thường được sử dụng để lưu trữ một chuỗi ký tự trong hầu hết các ngôn ngữ lập trình?

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

18. Trong lập trình, thuật ngữ ‘metadata’ đề cập đến điều gì?

A. Dữ liệu về dữ liệu, mô tả các đặc tính của dữ liệu khác.
B. Dữ liệu được sử dụng để tạo giao diện người dùng.
C. Dữ liệu được sử dụng để kiểm tra tính bảo mật của chương trình.
D. Dữ liệu được sử dụng để tối ưu hóa hiệu suất của chương trình.

19. Đâu là mục đích chính của việc sử dụng hàm (function) trong lập trình?

A. Để làm cho code chạy chậm hơn
B. Để làm cho code khó đọc hơn
C. Để tái sử dụng code và chia nhỏ chương trình thành các phần nhỏ hơn
D. Để tăng kích thước của chương trình

20. Cấu trúc điều khiển nào cho phép thực hiện một khối lệnh nhiều lần dựa trên một điều kiện?

A. If-else
B. Switch-case
C. While loop
D. Try-catch

21. Trong lập trình hướng đối tượng, đa hình (polymorphism) có nghĩa là gì?

A. Khả năng một đối tượng có nhiều thuộc tính.
B. Khả năng một lớp có nhiều phương thức.
C. Khả năng một đối tượng thuộc nhiều lớp khác nhau.
D. Khả năng một đối tượng có thể thể hiện nhiều hình thức khác nhau.

22. Trong lập trình, biến (variable) là gì?

A. Một giá trị không đổi
B. Một loại dữ liệu đặc biệt
C. Một vùng nhớ để lưu trữ dữ liệu có thể thay đổi
D. Một hàm toán học

23. Kiểu dữ liệu trừu tượng (Abstract Data Type – ADT) là gì?

A. Một kiểu dữ liệu có thể được sử dụng trong mọi ngôn ngữ lập trình.
B. Một kiểu dữ liệu chỉ có thể được sử dụng trong lập trình hướng đối tượng.
C. Một mô hình toán học cho các kiểu dữ liệu, định nghĩa các thao tác có thể thực hiện trên dữ liệu mà không cần quan tâm đến cách chúng được triển khai.
D. Một kiểu dữ liệu được định nghĩa bằng cách sử dụng các con trỏ.

24. Trong cơ sở dữ liệu, khóa chính (primary key) được sử dụng để làm gì?

A. Để mã hóa dữ liệu
B. Để xác định duy nhất mỗi bản ghi trong một bảng
C. Để tạo chỉ mục cho việc tìm kiếm nhanh hơn
D. Để kiểm soát quyền truy cập vào dữ liệu

25. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian trung bình là O(n log n)?

A. Bubble Sort
B. Insertion Sort
C. Merge Sort
D. Selection Sort

26. Đâu là sự khác biệt chính giữa biên dịch (compilation) và thông dịch (interpretation)?

A. Biên dịch tạo ra mã máy, thông dịch không.
B. Thông dịch tạo ra mã máy, biên dịch không.
C. Biên dịch thực hiện chương trình từng dòng một, thông dịch thực hiện toàn bộ chương trình cùng một lúc.
D. Biên dịch dịch toàn bộ chương trình một lần, thông dịch dịch và thực hiện từng dòng một.

27. Trong lập trình hướng đối tượng, tính chất nào cho phép một lớp kế thừa các thuộc tính và phương thức từ một lớp khác?

A. Đóng gói
B. Đa hình
C. Kế thừa
D. Trừu tượng

28. Trong lập trình, thuật ngữ ‘API’ (Application Programming Interface) đề cập đến điều gì?

A. Một loại biến đặc biệt.
B. Một tập hợp các quy tắc và giao thức cho phép các ứng dụng phần mềm giao tiếp với nhau.
C. Một công cụ để gỡ lỗi code.
D. Một ngôn ngữ lập trình mới.

29. Nguyên tắc DRY (Don’t Repeat Yourself) trong lập trình có nghĩa là gì?

A. Viết code càng ngắn càng tốt
B. Không lặp lại code, sử dụng lại code khi có thể
C. Viết code dễ đọc và dễ hiểu
D. Không sử dụng biến toàn cục

30. Đâu là một trong những lợi ích chính của việc sử dụng lập trình hướng khía cạnh (aspect-oriented programming – AOP)?

A. Giúp viết code nhanh hơn.
B. Giúp tách các mối quan tâm (cross-cutting concerns) ra khỏi logic nghiệp vụ chính.
C. Giúp chương trình chạy nhanh hơn.
D. Giúp sử dụng ít bộ nhớ hơn.

31. Hàm nào sau đây được sử dụng để đọc dữ liệu từ bàn phím trong C++?

A. printf()
B. cout
C. scanf()
D. cin

32. Đâu là mục đích chính của việc sử dụng chú thích (comment) trong mã nguồn?

A. Để tăng tốc độ thực thi chương trình
B. Để làm cho mã nguồn dễ đọc và dễ hiểu hơn
C. Để giảm dung lượng của tệp mã nguồn
D. Để ngăn chặn việc sao chép mã nguồn

33. 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. True hoặc False

34. Kiểu dữ liệu nào sau đây thường được sử dụng để lưu trữ một chuỗi các ký tự?

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

35. Trong lập trình, ‘interface’ (giao diện) được sử dụng để làm gì?

A. Xác định cách chương trình tương tác với người dùng
B. Định nghĩa một tập hợp các phương thức mà một lớp phải triển khai
C. Tạo ra các biến toàn cục
D. Kiểm soát luồng thực thi của chương trình

36. Hàm nào sau đây được sử dụng để in một thông báo ra màn hình trong Python?

A. input()
B. print()
C. return()
D. display()

37. Trong lập trình, ‘biến cục bộ’ (local variable) là gì?

A. Một biến được khai báo bên ngoài tất cả các hàm
B. Một biến chỉ có thể được truy cập bên trong hàm mà nó được khai báo
C. Một biến có thể được truy cập từ bất kỳ đâu trong chương trình
D. Một biến được sử dụng để lưu trữ địa chỉ bộ nhớ

38. Trong Python, cấu trúc dữ liệu nào sau đây là ‘bất biến’ (immutable)?

A. List
B. Dictionary
C. Tuple
D. Set

39. Trong ngôn ngữ lập trình C, kiểu dữ liệu nào được sử dụng để lưu trữ một ký tự?

A. int
B. float
C. char
D. string

40. Trong lập trình, ‘thuật toán’ (algorithm) là gì?

A. Một ngôn ngữ lập trình cụ thể
B. Một tập hợp các bước rõ ràng để giải quyết một vấn đề
C. Một công cụ để gỡ lỗi chương trình
D. Một phương pháp để thiết kế giao diện người dùng

41. Phát biểu nào sau đây là đúng về ngôn ngữ lập trình biên dịch (compiled language)?

A. Mã nguồn được thực thi trực tiếp từng dòng một
B. Mã nguồn được biên dịch thành mã máy trước khi thực thi
C. Dễ dàng gỡ lỗi hơn so với ngôn ngữ thông dịch
D. Không cần trình biên dịch để chạy chương trình

42. Trong lập trình, biến (variable) được hiểu là gì?

A. Một kiểu dữ liệu đặc biệt
B. Một hàm để thực hiện các phép toán
C. Một vùng nhớ để lưu trữ dữ liệu
D. Một câu lệnh điều kiện

43. Trong lập trình hướng đối tượng, tính chất nào cho phép một lớp kế thừa các thuộc tính và phương thức từ một lớp khác?

A. Đóng gói
B. Đa hình
C. Kế thừa
D. Trừu tượng

44. Trong lập trình hướng đối tượng, ‘đóng gói’ (encapsulation) đề cập đến điều gì?

A. Ẩn giấu dữ liệu và phương thức bên trong lớp, chỉ cho phép truy cập thông qua các phương thức công khai
B. Tạo ra nhiều lớp con từ một lớp cha
C. Cho phép các đối tượng thuộc các lớp khác nhau có thể phản hồi cùng một phương thức theo những cách khác nhau
D. Định nghĩa các lớp trừu tượng mà không cần triển khai

45. Trong lập trình, ‘đệ quy’ (recursion) là gì?

A. Một vòng lặp vô hạn
B. Một hàm gọi chính nó
C. Một biến toàn cục
D. Một cấu trúc dữ liệu phức tạp

46. Trong lập trình, ‘con trỏ’ (pointer) là gì?

A. Một biến lưu trữ địa chỉ của một biến khác
B. Một hàm đặc biệt
C. Một kiểu dữ liệu phức tạp
D. Một câu lệnh điều kiện

47. Phát biểu nào sau đây là đúng về ngôn ngữ lập trình bậc cao?

A. Khó đọc và khó viết
B. Gần gũi với phần cứng máy tính
C. Dễ đọc, dễ viết và trừu tượng hóa phần cứng
D. Chỉ có thể chạy trên một loại máy tính

48. Hàm (function) trong lập trình có vai trò gì?

A. Định nghĩa kiểu dữ liệu mới
B. Tổ chức mã thành các khối có thể tái sử dụng
C. Khai báo biến toàn cục
D. Kiểm soát luồng thực thi của chương trình

49. Vòng lặp ‘while’ hoạt động như thế nào?

A. Thực hiện một khối lệnh một lần duy nhất
B. Thực hiện một khối lệnh cho đến khi một điều kiện trở thành sai
C. Thực hiện một khối lệnh cho đến khi một điều kiện trở thành đúng
D. Thực hiện một khối lệnh với số lần lặp được xác định trước

50. Trong lập trình, ‘toán tử’ (operator) là gì?

A. Một biến để lưu trữ dữ liệu
B. Một hàm để thực hiện các phép toán
C. Một ký hiệu để thực hiện một phép toán nào đó
D. Một câu lệnh điều kiện

51. Cấu trúc điều khiển nào cho phép thực hiện một khối lệnh nhiều lần dựa trên một điều kiện?

A. If-else
B. Switch-case
C. Vòng lặp
D. Try-catch

52. Trong lập trình, thuật ngữ ‘debug’ có nghĩa là gì?

A. Viết mã nguồn
B. Tìm và sửa lỗi trong chương trình
C. Chạy chương trình
D. Thiết kế giao diện người dùng

53. Đâu là một lợi ích chính của việc sử dụng lập trình hướng đối tượng (OOP)?

A. Tăng tốc độ thực thi chương trình
B. Giảm dung lượng của tệp mã nguồn
C. Tăng tính tái sử dụng và dễ bảo trì của mã
D. Ngăn chặn việc sao chép mã nguồn

54. Phát biểu nào sau đây là đúng về ngôn ngữ lập trình thông dịch (interpreted language)?

A. Mã nguồn được biên dịch thành mã máy trước khi thực thi
B. Mã nguồn được thực thi trực tiếp từng dòng một bởi một trình thông dịch
C. Chỉ có thể chạy trên một loại máy tính
D. Yêu cầu phần cứng mạnh mẽ hơn so với ngôn ngữ biên dịch

55. Trong lập trình, thuật ngữ ‘syntax’ đề cập đến điều gì?

A. Logic của chương trình
B. Quy tắc viết mã đúng cú pháp của ngôn ngữ lập trình
C. Thuật toán được sử dụng trong chương trình
D. Giao diện người dùng của chương trình

56. Trong lập trình, ‘tham số’ (parameter) của một hàm là gì?

A. Một biến cục bộ bên trong hàm
B. Một giá trị được truyền vào hàm khi gọi
C. Một kiểu dữ liệu trả về của hàm
D. Một câu lệnh điều kiện bên trong hàm

57. Đâu là lợi ích của việc sử dụng thư viện (library) trong lập trình?

A. Giảm kích thước của chương trình
B. Tăng tốc độ biên dịch chương trình
C. Cung cấp các hàm và lớp đã được xây dựng sẵn để tái sử dụng
D. Ngăn chặn việc sao chép mã nguồn

58. Đâu là một lợi ích 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 độ thực thi chương trình
B. Giảm dung lượng của tệp mã nguồn
C. Cho phép theo dõi và quản lý các thay đổi trong mã nguồn
D. Ngăn chặn việc sao chép mã nguồn

59. Mục đích của việc sử dụng ‘mảng’ (array) trong lập trình là gì?

A. Lưu trữ nhiều giá trị có cùng kiểu dữ liệu dưới một tên duy nhất
B. Định nghĩa các hàm mới
C. Tạo ra các đối tượng trong lập trình hướng đối tượng
D. Kiểm soát luồng thực thi của chương trình

60. Thao tác nào sau đây không phải là một thao tác cơ bản trên mảng (array)?

A. Truy cập phần tử
B. Sắp xếp phần tử
C. Xóa phần tử
D. Biên dịch phần tử

61. Trong cơ sở dữ liệu, khóa chính (primary key) có vai trò gì?

A. Liên kết các bảng với nhau
B. Xác định duy nhất mỗi bản ghi trong một bảng
C. Sắp xếp dữ liệu trong bảng
D. Lọc dữ liệu trong bảng

62. Phát biểu nào sau đây mô tả đúng nhất về thuật toán?

A. Một đoạn mã chương trình cụ thể
B. Một phương pháp giải quyết vấn đề một cách có hệ thống
C. Một loại ngôn ngữ lập trình
D. Một công cụ để gỡ lỗi chương trình

63. Trong lập trình, 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
B. Khi cần lặp qua một tập hợp các phần tử
C. Khi cần thực hiện một đoạn mã một lần duy nhất
D. Khi cần kiểm tra một điều kiện

64. Trong ngữ cảnh của cơ sở dữ liệu, ACID là viết tắt của những thuộc tính nào?

A. Accuracy, Consistency, Isolation, Durability
B. Atomicity, Consistency, Isolation, Durability
C. Atomicity, Concurrency, Integrity, Distribution
D. Authorization, Consistency, Integrity, Distribution

65. Trong lập trình, thuật ngữ ‘ép kiểu’ (type casting) dùng để chỉ điều gì?

A. Kiểm tra kiểu dữ liệu của một biến
B. Chuyển đổi một giá trị từ kiểu dữ liệu này sang kiểu dữ liệu khác
C. Khai báo một biến với một kiểu dữ liệu cụ thể
D. Xóa một biến khỏi bộ nhớ

66. Điều gì xảy ra khi bạn cố gắng truy cập một phần tử nằm ngoài phạm vi của một mảng (array)?

A. Chương trình sẽ tự động mở rộng kích thước của mảng
B. Chương trình sẽ báo lỗi hoặc gây ra hành vi không xác định
C. Chương trình sẽ trả về giá trị mặc định cho kiểu dữ liệu của mảng
D. Chương trình sẽ bỏ qua yêu cầu truy cập và tiếp tục thực thi

67. Đâu là lợi ích của việc sử dụng ‘chú thích’ (comment) trong mã nguồn?

A. Tăng tốc độ thực thi chương trình
B. Giảm kích thước tệp chương trình
C. Giúp người khác (và chính bạn) hiểu mã nguồn dễ dàng hơn
D. Bảo vệ chương trình khỏi virus

68. Trong lập trình, thuật ngữ ‘exception’ dùng để chỉ điều gì?

A. Một biến đặc biệt
B. Một lỗi xảy ra trong quá trình thực thi chương trình
C. Một hàm không trả về giá trị
D. Một cấu trúc dữ liệu

69. Kiểu dữ liệu nào thường được sử dụng để lưu trữ ngày và giờ?

A. Integer
B. Float
C. String
D. Date/Time

70. Trong lập trình, lỗi cú pháp (syntax error) là gì?

A. Lỗi xảy ra khi chương trình chạy không đúng kết quả mong muốn
B. Lỗi xảy ra do vi phạm các quy tắc ngữ pháp của ngôn ngữ lập trình
C. Lỗi xảy ra khi chương trình sử dụng quá nhiều bộ nhớ
D. Lỗi xảy ra khi chương trình cố gắng truy cập vào một vùng nhớ không được phép

71. Đâu là một ví dụ về toán tử logic (logical operator) trong lập trình?

A. + (phép cộng)
B. – (phép trừ)
C. * (phép nhân)
D. && (phép AND)

72. Trong lập trình hướng đối tượng, ‘đóng gói’ (encapsulation) là gì?

A. Quá trình tạo ra một đối tượng mới
B. Quá trình ẩn giấu các chi tiết triển khai bên trong của một đối tượng và chỉ cung cấp một giao diện để tương tác với đối tượng đó
C. Quá trình kế thừa các thuộc tính và phương thức từ một lớp khác
D. Quá trình chuyển đổi một đối tượng sang một kiểu dữ liệu khác

73. Trong lập trình, ‘hằng số’ (constant) là gì?

A. Một biến có thể thay đổi giá trị
B. Một giá trị không thể thay đổi sau khi được gán
C. Một hàm đặc biệt
D. Một kiểu dữ liệu

74. Trong lập trình, thuật ngữ nào dùng để chỉ một hàm tự gọi chính nó?

A. Vòng lặp
B. Đệ quy
C. Phân nhánh
D. Tuyến tính

75. Đâu là một ví dụ về cấu trúc điều khiển (control structure) trong lập trình?

A. Biến
B. Hàm
C. Vòng lặp ‘while’
D. Mảng

76. Thế nào là một biến toàn cục (global variable) trong lập trình?

A. Một biến chỉ được sử dụng trong một hàm duy nhất
B. Một biến được khai báo bên trong một vòng lặp
C. Một biến có thể được truy cập từ bất kỳ đâu trong chương trình
D. Một biến chỉ được sử dụng trong một lớp (class)

77. Đâu là mục đích chính của việc sử dụng ‘mã giả’ (pseudocode) trong lập trình?

A. Để viết mã chương trình nhanh hơn
B. Để mô tả thuật toán một cách dễ hiểu trước khi viết mã thật
C. Để tạo ra các chương trình chạy nhanh hơn
D. Để bảo vệ mã nguồn khỏi bị sao chép

78. Đâu là lợi ích chính của việc sử dụng hàm (function) trong lập trình?

A. Giảm kích thước tệp chương trình
B. Tăng tốc độ thực thi chương trình
C. Tái sử dụng mã và làm cho chương trình dễ đọc hơn
D. Bảo vệ chương trình khỏi virus

79. Trong lập trình, ‘biến cục bộ’ (local variable) là gì?

A. Một biến được khai báo bên ngoài tất cả các hàm
B. Một biến được khai báo bên trong một hàm và chỉ có thể được truy cập từ bên trong hàm đó
C. Một biến được sử dụng để lưu trữ các giá trị toàn cục
D. Một biến không thể thay đổi giá trị

80. Trong lập trình, ‘mảng’ (array) là gì?

A. Một kiểu dữ liệu cơ bản
B. Một tập hợp các phần tử có cùng kiểu dữ liệu được lưu trữ liên tiếp trong bộ nhớ
C. Một cấu trúc điều khiển
D. Một hàm đặc biệt

81. Phát biểu nào sau đây mô tả đúng nhất về ‘hàm đệ quy’?

A. Một hàm gọi một hàm khác
B. Một hàm tự gọi chính nó
C. Một hàm không có tham số
D. Một hàm trả về một giá trị Boolean

82. Trong lập trình, ‘interface’ là gì?

A. Một lớp (class) có thể được tạo ra nhiều đối tượng
B. Một bản thiết kế quy định các phương thức mà một lớp phải thực hiện
C. Một biến toàn cục
D. Một hàm đệ quy

83. Trong lập trình hướng đối tượng, tính chất nào cho phép một lớp kế thừa các thuộc tính và phương thức từ một lớp khác?

A. Đóng gói
B. Đa hình
C. Kế thừa
D. Trừu tượng

84. Trong lập trình, ‘tham số’ (parameter) của một hàm là gì?

A. Một biến được khai báo bên trong hàm
B. Một giá trị được truyền vào hàm khi nó được gọi
C. Một giá trị được trả về bởi hàm
D. Một tên khác của hàm

85. Cấu trúc dữ liệu nào hoạt động theo nguyên tắc LIFO (Last In, First Out)?

A. Hàng đợi (Queue)
B. Danh sách liên kết (Linked List)
C. Ngăn xếp (Stack)
D. Cây (Tree)

86. Phương pháp gỡ lỗi (debugging) nào hiệu quả nhất để tìm ra nguyên nhân của một lỗi?

A. Đọc mã nguồn một cách cẩn thận
B. Sử dụng trình gỡ lỗi (debugger) để theo dõi giá trị của các biến và luồng thực thi của chương trình
C. Thử thay đổi mã nguồn một cách ngẫu nhiên cho đến khi lỗi biến mất
D. Hỏi người khác giúp đỡ

87. 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. Đúng hoặc sai

88. Đâu là kiểu dữ liệu thường được sử dụng để lưu trữ một chuỗi ký tự trong hầu hết các ngôn ngữ lập trình?

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

89. Đâu là mục đích chính của việc sử dụng biến trong lập trình?

A. Để hiển thị thông tin lên màn hình
B. Để lưu trữ dữ liệu
C. Để thực hiện các phép toán
D. Để điều khiển luồng chương trình

90. Trong lập trình hướng đối tượng, ‘đa hình’ (polymorphism) nghĩa là gì?

A. Khả năng một đối tượng có nhiều thuộc tính
B. Khả năng một đối tượng có thể tồn tại ở nhiều trạng thái khác nhau
C. Khả năng một đối tượng thuộc nhiều lớp khác nhau
D. Khả năng một đối tượng có thể được coi là thuộc nhiều kiểu dữ liệu khác nhau

91. Đâu là kiểu dữ liệu thường được sử dụng để lưu trữ một chuỗi ký tự trong hầu hết các ngôn ngữ lập trình?

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

92. Cấu trúc dữ liệu nào hoạt động theo nguyên tắc LIFO (Last In, First Out)?

A. Queue
B. Stack
C. Linked List
D. Tree

93. Kiểu dữ liệu nào sau đây thường được sử dụng để biểu diễn giá trị đúng hoặc sai?

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

94. Thuật ngữ nào sau đây mô tả việc che giấu các chi tiết triển khai của một đối tượng và chỉ hiển thị giao diện cần thiết?

A. Kế thừa
B. Đa hình
C. Đóng gói
D. Trừu tượng

95. Trong lập trình hướng đối tượng, phương thức nào được gọi tự động khi một đối tượng được tạo ra?

A. Destructor
B. Constructor
C. Getter
D. Setter

96. Cấu trúc điều khiển nào cho phép thực hiện một khối lệnh nhiều lần dựa trên một điều kiện?

A. If-else
B. Switch-case
C. Loop
D. Try-catch

97. Trong lập trình, ‘exception’ là gì?

A. Một loại biến đặc biệt
B. Một lỗi xảy ra trong quá trình chạy chương trình
C. Một hàm được định nghĩa trước
D. Một cấu trúc dữ liệu

98. Trong lập trình, ‘IDE’ là viết tắt của cụm từ nào?

A. Integrated Development Environment
B. Interactive Design Element
C. Independent Data Entry
D. Internet Download Engine

99. Phương pháp nào sau đây được sử dụng để kiểm tra xem một chương trình có hoạt động đúng như mong đợi hay không?

A. Viết comment
B. Debug
C. Unit testing
D. Code review

100. Trong lập trình web, ‘HTTP’ là viết tắt của cụm từ nào?

A. HyperText Transfer Protocol
B. High-speed Text Transmission Protocol
C. Hyperlink Translation Protocol
D. Home Tool Transfer Protocol

101. Kỹ thuật lập trình nào sau đây giúp giảm thiểu sự phụ thuộc giữa các module code?

A. Code duplication
B. Tight coupling
C. Loose coupling
D. Global variables

102. Cấu trúc dữ liệu nào sau đây cho phép truy cập các phần tử một cách ngẫu nhiên (random access) với độ phức tạp thời gian O(1)?

A. Danh sách liên kết
B. Hàng đợi
C. Mảng
D. Cây

103. Điều gì xảy ra khi bạn cố gắng truy cập một phần tử nằm ngoài phạm vi của một mảng?

A. Chương trình sẽ tự động mở rộng mảng
B. Chương trình sẽ báo lỗi
C. Chương trình sẽ trả về giá trị mặc định
D. Chương trình sẽ tiếp tục chạy mà không có vấn đề gì

104. Cấu trúc dữ liệu nào sau đây là phù hợp nhất để biểu diễn một mối quan hệ phân cấp?

A. Mảng
B. Danh sách liên kết
C. Cây
D. Hàng đợi

105. Phát biểu nào sau đây mô tả đúng nhất về một ‘compiler’?

A. Một chương trình để viết code
B. Một chương trình dịch code từ ngôn ngữ bậc cao sang ngôn ngữ máy
C. Một chương trình để chạy code
D. Một chương trình để tìm lỗi trong code

106. Biến nào sau đây có phạm vi truy cập rộng nhất trong một chương trình?

A. Biến cục bộ
B. Biến toàn cục
C. Biến static
D. Biến tham số

107. Trong lập trình, thuật ngữ nào được sử dụng để chỉ một hàm gọi chính nó?

A. Iteration
B. Recursion
C. Overloading
D. Polymorphism

108. Trong lập trình, ‘concurrency’ là gì?

A. Khả năng thực hiện nhiều tác vụ đồng thời
B. Một lỗi cú pháp
C. Một loại biến
D. Một thuật toán sắp xếp

109. Trong cơ sở dữ liệu, ‘SQL’ là viết tắt của cụm từ nào?

A. Structured Query Language
B. Simple Question Language
C. System Query Language
D. Sequential Query Logic

110. Trong lập trình, ‘debug’ có nghĩa là gì?

A. Viết code
B. Chạy chương trình
C. Tìm và sửa lỗi
D. Tối ưu hóa code

111. Trong lập trình, ‘callback’ là gì?

A. Một hàm được gọi sau khi một hàm khác hoàn thành
B. Một biến được truyền vào một hàm
C. Một loại vòng lặp
D. Một lỗi cú pháp

112. Trong lập trình, ‘deadlock’ là gì?

A. Một lỗi cú pháp
B. Một tình huống mà hai hoặc nhiều tiến trình bị chặn vĩnh viễn
C. Một loại virus máy tính
D. Một thuật toán sắp xếp

113. Trong lập trình, ‘refactoring’ là gì?

A. Viết lại toàn bộ code
B. Tối ưu hóa hiệu suất code
C. Sửa đổi code mà không thay đổi chức năng bên ngoài
D. Thêm chức năng mới vào code

114. Trong lập trình hướng đối tượng, tính chất nào cho phép một lớp kế thừa các thuộc tính và phương thức của một lớp khác?

A. Đóng gói
B. Đa hình
C. Kế thừa
D. Trừu tượng

115. Phương pháp nào sau đây được sử dụng để đảm bảo tính bảo mật của dữ liệu khi truyền qua mạng?

A. Nén dữ liệu
B. Mã hóa dữ liệu
C. Sao lưu dữ liệu
D. Phân mảnh dữ liệu

116. Phương pháp nào sau đây giúp ngăn chặn việc truy cập trái phép vào dữ liệu trong một chương trình?

A. Sử dụng biến toàn cục
B. Sử dụng comment để giải thích code
C. Sử dụng cơ chế kiểm soát truy cập (access control)
D. Sử dụng code ngắn gọn

117. Thuật toán sắp xếp nào sau đây có độ phức tạp thời gian trung bình là O(n log n)?

A. Bubble Sort
B. Insertion Sort
C. Merge Sort
D. Selection Sort

118. Phương pháp nào sau đây là cách tốt nhất để viết code dễ đọc và dễ bảo trì?

A. Viết code càng ngắn càng tốt
B. Sử dụng nhiều comment giải thích code
C. Sử dụng tên biến và hàm có ý nghĩa
D. Viết code phức tạp để tối ưu hiệu suất

119. Trong lập trình, ‘API’ là viết tắt của cụm từ nào?

A. Application Programming Interface
B. Advanced Processing Instruction
C. Automated Protocol Implementation
D. Algorithm Performance Index

120. Trong lập trình, ‘garbage collection’ là gì?

A. Một thuật toán sắp xếp
B. Quá trình tự động giải phóng bộ nhớ không còn được sử dụng
C. Một loại virus máy tính
D. Một lỗi cú pháp

121. Cấu trúc dữ liệu nào sau đây phù hợp nhất để biểu diễn mối quan hệ phân cấp (ví dụ: cây thư mục)?

A. Mảng (Array)
B. Hàng đợi (Queue)
C. Cây (Tree)
D. Danh sách liên kết (Linked List)

122. Đâu là sự khác biệt chính giữa ‘pass by value’ và ‘pass by reference’ khi truyền tham số cho hàm?

A. ‘Pass by value’ tạo bản sao của tham số, còn ‘pass by reference’ truyền địa chỉ bộ nhớ của tham số
B. ‘Pass by reference’ tạo bản sao của tham số, còn ‘pass by value’ truyền địa chỉ bộ nhớ của tham số
C. Cả hai đều tạo bản sao của tham số
D. Cả hai đều truyền địa chỉ bộ nhớ của tham số

123. Kiểu dữ liệu nào sau đây thường được sử dụng để lưu trữ một chuỗi các ký tự trong hầu hết các ngôn ngữ lập trình?

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

124. Trong lập trình, thuật ngữ ‘API’ thường được dùng để chỉ điều gì?

A. Application Programming Interface – Giao diện lập trình ứng dụng
B. Advanced Processing Instructions – Hướng dẫn xử lý nâng cao
C. Automated Protocol Implementation – Triển khai giao thức tự động
D. Algorithmic Performance Index – Chỉ số hiệu suất thuật toán

125. Đâu là lợi ích chính của việc sử dụng lập trình module (modular programming)?

A. Tăng tốc độ thực thi chương trình
B. Giảm kích thước file chương trình
C. Dễ dàng tái sử dụng code và quản lý dự án lớn
D. Tự động sửa lỗi code

126. Đâu là nhược điểm chính của việc sử dụng đệ quy (recursion) trong lập trình?

A. Khó đọc và hiểu code
B. Có thể gây ra tràn bộ nhớ stack nếu không được kiểm soát tốt
C. Chỉ hoạt động với số lượng dữ liệu nhỏ
D. Không thể tái sử dụng code

127. Trong lập trình, ‘pseudocode’ (mã giả) được sử dụng để làm gì?

A. Viết code thực tế
B. Mô tả thuật toán bằng ngôn ngữ tự nhiên trước khi viết code
C. Debug code
D. Tối ưu hóa hiệu suất chương trình

128. 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ị đúng hoặc sai (true/false)

129. Trong lập trình, ‘data structure’ (cấu trúc dữ liệu) là gì?

A. Một ngôn ngữ lập trình
B. Một cách tổ chức và lưu trữ dữ liệu để sử dụng hiệu quả
C. Một công cụ để debug code
D. Một phương pháp để tối ưu hóa bộ nhớ

130. Trong lập trình, ‘comment’ (chú thích) được sử dụng để làm gì?

A. Tăng tốc độ thực thi chương trình
B. Giải thích code cho người đọc, không ảnh hưởng đến việc thực thi
C. Báo lỗi cho trình biên dịch
D. Tối ưu hóa bộ nhớ

131. Trong lập trình, ‘concurrency’ (tính đồng thời) đề cập đến điều gì?

A. Khả năng thực hiện nhiều tác vụ đồng thời
B. Khả năng chạy chương trình trên nhiều hệ điều hành
C. Khả năng viết code bằng nhiều ngôn ngữ lập trình
D. Khả năng debug code từ xa

132. Trong lập trình, thuật ngữ ‘debug’ có nghĩa là gì?

A. Viết code
B. Chạy chương trình
C. Tìm và sửa lỗi trong code
D. Tối ưu hóa hiệu suất chương trình

133. Cấu trúc dữ liệu nào sau đây hoạt động theo nguyên tắc FIFO (First In, First Out)?

A. Stack
B. Queue
C. Linked List
D. Tree

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

A. Một ngôn ngữ lập trình cụ thể
B. Một tập hợp các bước hướng dẫn để giải quyết một vấn đề cụ thể
C. Một công cụ để debug code
D. Một phương pháp để tối ưu hóa bộ nhớ

135. Trong lập trình, thuật ngữ ‘compile’ (biên dịch) có nghĩa là gì?

A. Chạy chương trình
B. Chuyển đổi code từ ngôn ngữ lập trình sang ngôn ngữ máy
C. Tìm và sửa lỗi trong code
D. Tối ưu hóa hiệu suất chương trình

136. Hàm (function) trong lập trình có vai trò gì?

A. Xác định kiểu dữ liệu của biến
B. Thực hiện một nhiệm vụ cụ thể và có thể tái sử dụng
C. Kiểm soát luồng thực thi của chương trình
D. Khai báo biến toàn cục

137. Trong lập trình, ‘exception’ (ngoại lệ) là gì?

A. Một lỗi cú pháp
B. Một sự kiện bất thường xảy ra trong quá trình thực thi chương trình
C. Một biến toàn cục
D. Một hàm đặc biệt

138. Trong lập trình hướng đối tượng, ‘polymorphism’ (đa hình) nghĩa là gì?

A. Khả năng một đối tượng thuộc nhiều lớp khác nhau
B. Khả năng một đối tượng có nhiều thuộc tính
C. Khả năng một phương thức có thể thực hiện các hành vi khác nhau tùy thuộc vào đối tượng gọi nó
D. Khả năng một lớp kế thừa từ nhiều lớp khác nhau

139. Trong lập trình hướng đối tượng, ‘encapsulation’ (đóng gói) nghĩa là gì?

A. Khả năng một đối tượng thuộc nhiều lớp khác nhau
B. Khả năng một đối tượng có nhiều thuộc tính
C. Việc kết hợp dữ liệu và phương thức thao tác trên dữ liệu đó vào một đơn vị duy nhất (lớp)
D. Khả năng một lớp kế thừa từ nhiều lớp khác nhau

140. Đâu là sự khác biệt chính giữa ‘==’ và ‘=’ trong hầu hết các ngôn ngữ lập trình?

A. ‘==’ dùng để gán giá trị, ‘=’ dùng để so sánh
B. ‘==’ dùng để so sánh giá trị, ‘=’ dùng để gán giá trị
C. Cả hai đều dùng để so sánh giá trị
D. Cả hai đều dùng để gán giá trị

141. Ưu điểm chính của việc sử dụng mảng (array) trong lập trình là gì?

A. Dễ dàng thay đổi kích thước
B. Truy cập phần tử nhanh chóng thông qua chỉ số
C. Lưu trữ dữ liệu không tuần tự
D. Tự động sắp xếp dữ liệu

142. Trong lập trình, ‘biến’ được hiểu là gì?

A. Một giá trị không đổi trong suốt chương trình
B. Một hàm thực hiện một nhiệm vụ cụ thể
C. Một vùng nhớ được đặt tên để lưu trữ dữ liệu
D. Một kiểu dữ liệu đặc biệt

143. Phương pháp sắp xếp nào có độ phức tạp thời gian trung bình tốt nhất?

A. Bubble Sort
B. Insertion Sort
C. Merge Sort
D. Selection Sort

144. Trong lập trình hướng đối tượng, phương thức khởi tạo (constructor) có vai trò gì?

A. Giải phóng bộ nhớ
B. Khởi tạo các thuộc tính của đối tượng khi đối tượng được tạo
C. Hủy đối tượng
D. Thực hiện các phép toán số học

145. Trong lập trình, ‘variable scope’ (phạm vi biến) đề cập đến điều gì?

A. Kiểu dữ liệu của biến
B. Vùng code mà biến có thể được truy cập
C. Giá trị của biến
D. Thời gian tồn tại của biến

146. Trong lập trình, ‘recursion’ (đệ quy) là gì?

A. Một vòng lặp vô hạn
B. Một hàm gọi chính nó
C. Một biến toàn cục
D. Một kiểu dữ liệu đặc biệt

147. Phương pháp tìm kiếm nào có độ phức tạp thời gian tốt nhất trong trường hợp dữ liệu đã được sắp xếp?

A. Tìm kiếm tuyến tính (Linear Search)
B. Tìm kiếm nhị phân (Binary Search)
C. Tìm kiếm theo chiều rộng (Breadth-First Search)
D. Tìm kiếm theo chiều sâu (Depth-First Search)

148. Trong lập trình hướng đối tượng, tính chất nào cho phép một lớp kế thừa các thuộc tính và phương thức của một lớp khác?

A. Đóng gói
B. Đa hình
C. Kế thừa
D. Trừu tượng

149. Cấu trúc dữ liệu nào hoạt động theo nguyên tắc LIFO (Last In, First Out)?

A. Queue
B. Stack
C. Linked List
D. Array

150. Cấu trúc điều khiển nào cho phép lặp lại một đoạn code nhiều lần cho đến khi một điều kiện nhất định không còn đúng?

A. If-else
B. Switch-case
C. While loop
D. Try-catch

Số câu đã làm: 0/0
Thời gian còn lại: 00:00:00
  • Đã làm
  • Chưa làm
  • Cần kiểm tra lại
© 2026 Trending New 24h • Tạo ra với GeneratePress

Bạn ơi!!! Để xem được kết quả, bạn vui lòng làm nhiệm vụ nhỏ xíu này nha

HƯỚNG DẪN TÌM MẬT KHẨU

Đang tải nhiệm vụ...

Bước 1: Mở tab mới và truy cập Google.com. Sau đó tìm kiếm chính xác từ khóa sau:

Bước 2: Tìm và click vào kết quả có trang web giống như hình ảnh dưới đây:

Hướng dẫn tìm kiếm

Bước 3: Kéo xuống cuối trang đó để tìm mật khẩu như hình ảnh hướng dẫn:

Hướng dẫn lấy mật khẩu

Nếu tìm không thấy mã bạn có thể Đổi nhiệm vụ để lấy mã khác nhé.