1. Trong các loại phần mềm ứng dụng, phần mềm nào được thiết kế chủ yếu để tạo và chỉnh sửa văn bản?
A. Phần mềm trình chiếu (Presentation Software).
B. Phần mềm cơ sở dữ liệu (Database Software).
C. Phần mềm xử lý văn bản (Word Processing Software).
D. Phần mềm bảng tính (Spreadsheet Software).
2. Trong ngôn ngữ SQL, câu lệnh nào được sử dụng để lấy dữ liệu từ một hoặc nhiều bảng?
A. INSERT
B. UPDATE
C. DELETE
D. SELECT
3. Khi truy cập một trang web sử dụng giao thức HTTPS, điều gì xảy ra để đảm bảo tính bảo mật cho dữ liệu truyền tải?
A. Dữ liệu được truyền tải dưới dạng văn bản thuần túy, không mã hóa.
B. Dữ liệu được mã hóa bằng các thuật toán mật mã trước khi truyền tải và giải mã tại máy nhận.
C. Trình duyệt sẽ yêu cầu người dùng nhập lại mật khẩu mỗi khi truy cập.
D. Trang web sẽ lưu trữ tất cả thông tin cá nhân của người dùng trên máy chủ của họ.
4. Khi sử dụng dịch vụ lưu trữ đám mây (cloud storage) như Google Drive hoặc Dropbox, lợi ích chính là gì?
A. Tăng cường bảo mật vật lý cho thiết bị lưu trữ.
B. Cho phép truy cập và chia sẻ tệp từ nhiều thiết bị khác nhau, đồng thời cung cấp khả năng sao lưu dữ liệu.
C. Giảm thiểu nhu cầu sử dụng kết nối Internet.
D. Tăng tốc độ xử lý của máy tính.
5. Khi làm việc với bảng tính điện tử như Microsoft Excel hoặc Google Sheets, công thức nào sau đây sẽ trả về giá trị lớn nhất trong phạm vi từ ô A1 đến A10?
A. =SUM(A1:A10)
B. =AVERAGE(A1:A10)
C. =MAX(A1:A10)
D. =COUNT(A1:A10)
6. Nguyên tắc "phân cấp" (hierarchy) trong cấu trúc dữ liệu cây (tree data structure) có ý nghĩa gì?
A. Mỗi nút trong cây có thể có nhiều nút cha.
B. Các phần tử được sắp xếp theo một thứ tự tuyến tính.
C. Có một nút gốc duy nhất, và mỗi nút khác (trừ nút gốc) có đúng một nút cha.
D. Tất cả các nút lá (leaf nodes) phải ở cùng một cấp độ.
7. Khi nói về "hệ điều hành", thành phần nào chịu trách nhiệm quản lý việc cấp phát và thu hồi bộ nhớ cho các tiến trình?
A. Trình biên dịch (Compiler).
B. Trình điều khiển thiết bị (Device Driver).
C. Trình quản lý bộ nhớ (Memory Manager).
D. Trình biên dịch hợp ngữ (Assembler).
8. Khái niệm "mã độc" (malware) bao gồm những loại phần mềm nào?
A. Chỉ virus máy tính.
B. Bao gồm virus, sâu máy tính (worms), trojan, ransomware, spyware, v.v.
C. Chỉ các chương trình diệt virus.
D. Các phần mềm soạn thảo văn bản và bảng tính.
9. Trong lập trình hướng đối tượng (Object-Oriented Programming - OOP), "tính đóng gói" (encapsulation) đề cập đến điều gì?
A. Khả năng một đối tượng có thể kế thừa thuộc tính và phương thức từ một đối tượng khác.
B. Việc kết hợp dữ liệu (thuộc tính) và các phương thức (hành vi) làm việc với dữ liệu đó vào trong một đơn vị duy nhất gọi là đối tượng.
C. Khả năng định nghĩa một giao diện chung cho nhiều đối tượng khác nhau.
D. Khả năng che giấu 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 công khai để tương tác.
10. Trong các định dạng tệp hình ảnh, định dạng nào thường được sử dụng cho ảnh chụp màn hình hoặc đồ họa có đường nét sắc nét, hỗ trợ độ trong suốt và dung lượng tệp nhỏ hơn JPEG cho các ảnh đơn giản?
A. JPEG (.jpg, .jpeg)
B. GIF (.gif)
C. PNG (.png)
D. BMP (.bmp)
11. Trong các ngôn ngữ lập trình, "kiểu dữ liệu" (data type) dùng để làm gì?
A. Quyết định tốc độ xử lý của chương trình.
B. Xác định loại giá trị mà một biến có thể lưu trữ và các phép toán có thể thực hiện trên giá trị đó.
C. Tạo ra giao diện đồ họa cho ứng dụng.
D. Định nghĩa cấu trúc của mạng máy tính.
12. Trong quá trình phát triển phần mềm, "gỡ lỗi" (debugging) là gì?
A. Viết mã nguồn mới cho ứng dụng.
B. Xác định, phân tích và sửa lỗi (bug) trong mã nguồn của chương trình.
C. Thiết kế giao diện người dùng.
D. Tối ưu hóa hiệu suất của thuật toán.
13. Khi thiết kế một trang web, thẻ HTML nào được sử dụng phổ biến nhất để tạo một đoạn văn bản?
A. thẻ "h1"
B. thẻ "a"
C. thẻ "p"
D. thẻ "img"
14. Trong lập trình, "hàm" (function) hoặc "phương thức" (method) được sử dụng để:
A. Khai báo các biến toàn cục.
B. Nhóm các câu lệnh thực hiện một nhiệm vụ cụ thể, có thể tái sử dụng.
C. Quản lý bộ nhớ của chương trình.
D. Xác định cấu trúc của dữ liệu.
15. Khi làm việc với dữ liệu dạng bảng, "khóa ngoại" (foreign key) trong một bảng thường tham chiếu đến trường nào của bảng khác?
A. Một khóa ngoại khác của bảng khác.
B. Một khóa chính của bảng khác.
C. Một cột có kiểu dữ liệu văn bản.
D. Một khóa chính của chính bảng đó.
16. Khái niệm "vòng lặp" (loop) trong lập trình được sử dụng để làm gì?
A. Để khai báo một biến mới.
B. Để thực thi một khối mã nhiều lần dựa trên một điều kiện nhất định.
C. Để trả về một giá trị từ một hàm.
D. Để hiển thị thông báo lỗi cho người dùng.
17. Trong mạng máy tính, địa chỉ IP (Internet Protocol Address) có vai trò gì?
A. Xác định tốc độ kết nối mạng.
B. Định danh duy nhất cho một thiết bị trên mạng để cho phép giao tiếp và định tuyến dữ liệu.
C. Cung cấp không gian lưu trữ cho các tệp tin trên mạng.
D. Mã hóa dữ liệu trước khi truyền đi.
18. Khái niệm "thuật toán" (algorithm) trong khoa học máy tính được hiểu là gì?
A. Một chương trình máy tính viết bằng ngôn ngữ lập trình cụ thể.
B. Một chuỗi các bước hữu hạn, rõ ràng và xác định để giải quyết một vấn đề hoặc thực hiện một nhiệm vụ.
C. Một thiết bị phần cứng dùng để thực hiện các phép tính.
D. Một giao diện đồ họa người dùng (GUI) cho phép tương tác với máy tính.
19. Khi làm việc với cơ sở dữ liệu quan hệ, "khóa chính" (primary key) có chức năng gì?
A. Liên kết hai bảng khác nhau trong cơ sở dữ liệu.
B. Đảm bảo mỗi bản ghi (row) trong bảng là duy nhất và không trùng lặp.
C. Lưu trữ các giá trị văn bản dài.
D. Chỉ định loại dữ liệu cho một cột.
20. Khi nói về mạng xã hội và quyền riêng tư, việc "chia sẻ quá nhiều thông tin cá nhân" có thể dẫn đến nguy cơ gì?
A. Tăng cường khả năng kết nối với bạn bè mới.
B. Giảm khả năng bị tấn công mạng.
C. Nguy cơ bị đánh cắp danh tính, lừa đảo hoặc theo dõi trái phép.
D. Cải thiện hiệu suất tìm kiếm trên Internet.
21. Trong lĩnh vực an toàn thông tin, "tường lửa" (firewall) hoạt động như thế nào?
A. Mã hóa toàn bộ dữ liệu trên máy tính.
B. Phân tích và ngăn chặn truy cập trái phép vào hoặc ra khỏi mạng dựa trên các quy tắc đã định.
C. Tự động sao lưu dữ liệu quan trọng của người dùng.
D. Phát hiện và loại bỏ virus máy tính.
22. Trong lập trình, khái niệm "biến" (variable) được định nghĩa như thế nào trong ngữ cảnh của ngôn ngữ lập trình phổ biến như Python hoặc Java?
A. Một vùng nhớ được cấp phát để lưu trữ một giá trị cụ thể, có thể thay đổi trong quá trình thực thi chương trình, và được đặt tên để dễ dàng truy cập.
B. Một lệnh điều khiển luồng thực thi của chương trình, ví dụ như "if" hay "for".
C. Một hàm hoặc phương thức được định nghĩa sẵn trong thư viện chuẩn của ngôn ngữ lập trình.
D. Một giá trị cố định, không thể thay đổi trong suốt quá trình chạy của chương trình.
23. Nguyên tắc cơ bản của thuật toán sắp xếp nổi bọt (Bubble Sort) là gì?
A. Chia danh sách thành hai nửa, sắp xếp từng nửa rồi trộn lại.
B. So sánh và đổi chỗ các cặp phần tử liền kề nếu chúng sai thứ tự, lặp lại quá trình này cho đến khi danh sách được sắp xếp.
C. Tìm phần tử nhỏ nhất trong phần chưa sắp xếp và đặt nó vào vị trí đầu tiên của phần chưa sắp xếp.
D. Chọn một phần tử làm "chốt", chia danh sách thành các phần tử nhỏ hơn và lớn hơn chốt, sau đó sắp xếp đệ quy hai phần đó.
24. Mục đích chính của việc sử dụng hệ quản trị cơ sở dữ liệu (DBMS) là gì?
A. Tạo và chỉnh sửa các tệp văn bản.
B. Quản lý và truy vấn dữ liệu có cấu trúc một cách hiệu quả và an toàn.
C. Thiết kế giao diện người dùng cho các ứng dụng.
D. Thực hiện các phép tính toán phức tạp trên số liệu.
25. Trong hệ điều hành, "file system" (hệ thống tệp) đóng vai trò gì?
A. Quản lý việc kết nối mạng Internet cho máy tính.
B. Kiểm soát việc sử dụng bộ nhớ RAM của các ứng dụng đang chạy.
C. Tổ chức, lưu trữ, truy xuất và quản lý dữ liệu trên các thiết bị lưu trữ như ổ cứng.
D. Xử lý các tác vụ tính toán phức tạp cho các ứng dụng đồ họa.