1. Nguyên tắc DRY (Dont Repeat Yourself) trong lập trình khuyến khích điều gì?
A. Viết nhiều mã giống nhau để dễ nhớ.
B. Tránh lặp lại cùng một đoạn mã hoặc logic nhiều lần bằng cách sử dụng hàm, lớp hoặc các kỹ thuật khác.
C. Luôn sử dụng vòng lặp For cho mọi tác vụ.
D. Chỉ viết mã một lần duy nhất.
2. Khi làm việc với dữ liệu dạng bảng trong các phần mềm bảng tính, chức năng nào cho phép sắp xếp các hàng dữ liệu theo một tiêu chí nhất định (ví dụ: tăng dần theo điểm số)?
A. Lọc (Filter)
B. Định dạng (Format)
C. Sắp xếp (Sort)
D. Trộn ô (Merge Cells)
3. Đâu là đặc điểm chính của 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. Gần gũi với ngôn ngữ máy, khó hiểu cho con người.
B. Sử dụng từ ngữ gần gũi với ngôn ngữ tự nhiên, dễ đọc, dễ viết.
C. Yêu cầu người lập trình hiểu sâu về cấu trúc phần cứng.
D. Tốc độ thực thi chậm hơn đáng kể.
4. Khi bạn muốn tìm kiếm một giá trị cụ thể trong một danh sách dữ liệu đã được sắp xếp, phương pháp nào sau đây thường mang lại hiệu quả cao nhất?
A. Tìm kiếm tuần tự (Linear Search)
B. Tìm kiếm nhị phân (Binary Search)
C. Tìm kiếm ngẫu nhiên (Random Search)
D. Tìm kiếm theo mẫu (Pattern Search)
5. Trong một thuật toán, việc xác định các bước thực hiện để giải quyết một vấn đề cụ thể được gọi là gì?
A. Biên dịch (Compilation)
B. Gỡ lỗi (Debugging)
C. Thuật toán (Algorithm)
D. Lập trình (Programming)
6. Trong các phần mềm soạn thảo văn bản, phím tắt Ctrl + S có chức năng chính là gì?
A. Sao chép (Copy)
B. Dán (Paste)
C. Lưu (Save)
D. Cắt (Cut)
7. Trong các thuật toán sắp xếp, thuật toán nào thường có hiệu suất tốt nhất cho tập dữ liệu lớn và đã được sắp xếp một phần?
A. Sắp xếp nổi bọt (Bubble Sort)
B. Sắp xếp chọn (Selection Sort)
C. Sắp xếp trộn (Merge Sort) hoặc Sắp xếp nhanh (Quick Sort)
D. Sắp xếp chèn (Insertion Sort)
8. Trong lập trình, câu lệnh dùng để lặp lại một khối lệnh nhiều lần với số lần xác định trước được gọi là gì?
A. Vòng lặp While
B. Vòng lặp For
C. Câu lệnh If-Else
D. Câu lệnh Print
9. Khi một chương trình máy tính gặp lỗi và dừng hoạt động đột ngột, quá trình tìm và sửa lỗi đó được gọi là gì?
A. Tối ưu hóa (Optimization)
B. Gỡ lỗi (Debugging)
C. Biên dịch (Compilation)
D. Kiểm thử (Testing)
10. Ngôn ngữ lập trình nào thường được sử dụng để tạo ra các trang web tương tác và giao diện người dùng trên trình duyệt?
A. Python
B. Java
C. JavaScript
D. C++
11. Một trong những lợi ích quan trọng nhất của việc sử dụng hàm (function) trong lập trình là gì?
A. Tăng độ phức tạp của chương trình.
B. Làm cho chương trình chậm hơn.
C. Tái sử dụng mã, giúp chương trình dễ đọc, dễ bảo trì và giảm lặp code.
D. Bắt buộc mọi chương trình phải có ít nhất một hàm.
12. Khi bạn muốn sao chép một phần văn bản từ vị trí này sang vị trí khác, bạn thường sử dụng tổ hợp phím nào?
A. Ctrl + X (Cut) và Ctrl + V (Paste)
B. Ctrl + C (Copy) và Ctrl + V (Paste)
C. Ctrl + C (Copy) và Ctrl + X (Cut)
D. Ctrl + V (Paste) và Ctrl + S (Save)
13. Trong lập trình, một khối lệnh được thực thi chỉ khi một điều kiện nào đó là đúng được gọi là gì?
A. Vòng lặp (Loop)
B. Cấu trúc điều kiện (Conditional Statement)
C. Hàm (Function)
D. Biến (Variable)
14. Phát biểu nào sau đây mô tả đúng nhất về vai trò của một biến trong lập trình?
A. Là một câu lệnh thực thi hành động.
B. Là một tên gọi đại diện cho một giá trị có thể thay đổi trong quá trình chương trình chạy.
C. Là một khối lệnh lặp lại.
D. Là một điều kiện để kiểm tra.
15. Trong lập trình, việc chuyển đổi mã nguồn viết bằng ngôn ngữ bậc cao thành mã máy mà máy tính có thể hiểu trực tiếp được gọi là gì?
A. Thông dịch (Interpretation)
B. Biên dịch (Compilation)
C. Gỡ lỗi (Debugging)
D. Mã hóa (Encoding)
16. Khi bạn muốn thực hiện một hành động cụ thể nhiều lần mà không cần biết chính xác số lần lặp, bạn nên sử dụng loại vòng lặp nào?
A. Vòng lặp For
B. Vòng lặp While
C. Câu lệnh If
D. Câu lệnh Break
17. Nguyên tắc cơ bản nhất khi đặt tên cho biến trong lập trình là gì, đảm bảo tính dễ đọc và tránh lỗi?
A. Chỉ sử dụng ký tự số.
B. Tên biến phải bắt đầu bằng ký tự đặc biệt.
C. Tên biến phải có ý nghĩa, dễ hiểu và tuân thủ quy tắc đặt tên (thường bắt đầu bằng chữ, không chứa ký tự đặc biệt không cho phép).
D. Tên biến không được trùng với từ khóa của ngôn ngữ lập trình.
18. Trong lập trình, một hằng số (constant) khác với biến (variable) ở điểm nào?
A. Hằng số không thể được khai báo.
B. Giá trị của hằng số không thể thay đổi sau khi đã được gán.
C. Hằng số chỉ được sử dụng trong vòng lặp.
D. Hằng số luôn là số nguyên.
19. Trong ngôn ngữ lập trình, kiểu dữ liệu (data type) xác định điều gì về một giá trị?
A. Tên của biến.
B. Kích thước bộ nhớ mà giá trị chiếm dụng và các phép toán có thể thực hiện trên giá trị đó.
C. Vị trí của giá trị trong bộ nhớ.
D. Thứ tự thực thi của câu lệnh.
20. Nguyên tắc cơ bản của cấu trúc If-Else trong lập trình là gì?
A. Thực hiện một khối lệnh liên tục nếu điều kiện đúng.
B. Thực hiện một khối lệnh nếu điều kiện đúng, và một khối lệnh khác nếu điều kiện sai.
C. Lặp lại một khối lệnh cho đến khi điều kiện sai.
D. Thực hiện một khối lệnh một số lần cố định.
21. Trong lập trình, câu lệnh print() hoặc console.log() được sử dụng để làm gì?
A. Đọc dữ liệu từ bàn phím.
B. Thực hiện phép tính toán học.
C. Hiển thị thông tin ra màn hình hoặc cửa sổ console.
D. Tạo một vòng lặp vô hạn.
22. Khi sử dụng phần mềm bảng tính, địa chỉ của một ô cụ thể, ví dụ như ô chứa số 10 ở cột A và hàng 5, được biểu diễn như thế nào?
A. 5A
B. A5
C. A:5
D. Cột5HàngA
23. Khi bạn muốn tạo một danh sách các mục mà thứ tự của chúng quan trọng và có thể có các mục trùng lặp, cấu trúc dữ liệu nào là phù hợp nhất?
A. Tập hợp (Set)
B. Từ điển (Dictionary/Map)
C. Danh sách (List/Array)
D. Chuỗi (String)
24. Phát biểu nào sau đây mô tả đúng về mối quan hệ giữa thuật toán và chương trình máy tính?
A. Thuật toán là chương trình đã được biên dịch.
B. Chương trình máy tính là một biểu hiện cụ thể của thuật toán bằng một ngôn ngữ lập trình.
C. Thuật toán và chương trình là hai khái niệm hoàn toàn giống nhau.
D. Chương trình máy tính là một bản thiết kế trừu tượng của thuật toán.
25. Đâu là tên gọi của một chuỗi các lệnh được định nghĩa để thực hiện một tác vụ cụ thể và có thể được gọi lại nhiều lần?
A. Biến (Variable)
B. Hàm (Function) hoặc Thủ tục (Procedure)
C. Vòng lặp (Loop)
D. Biểu thức (Expression)