1. Đâu là một ví dụ về trí tuệ nhân tạo (Artificial Intelligence - AI)?
A. Một phần mềm bảng tính.
B. Một công cụ soạn thảo văn bản.
C. Hệ thống nhận dạng giọng nói và đề xuất sản phẩm.
D. Một trình duyệt web.
2. Khái niệm mã độc (malware) bao gồm những loại hình nào?
A. Trình duyệt web và phần mềm văn phòng.
B. Virus, sâu máy tính, trojan, ransomware và spyware.
C. Hệ điều hành và trình biên dịch.
D. Phần mềm diệt virus và tường lửa.
3. Đâu là một ví dụ về dữ liệu lớn (Big Data)?
A. Một file văn bản 10KB.
B. Lưu lượng giao dịch tài chính toàn cầu mỗi giờ, dữ liệu mạng xã hội, và dữ liệu cảm biến từ các thiết bị IoT.
C. Một bức ảnh JPEG dung lượng 5MB.
D. Một tệp âm thanh MP3 dung lượng 3MB.
4. Cấu trúc dữ liệu nào cho phép thêm và xóa phần tử ở cả hai đầu một cách hiệu quả?
A. Hàng đợi (Queue)
B. Ngăn xếp (Stack)
C. Danh sách liên kết kép (Doubly Linked List)
D. Cây nhị phân tìm kiếm (Binary Search Tree)
5. Phương pháp phát triển phần mềm Agile nhấn mạnh vào yếu tố nào?
A. Tuân thủ nghiêm ngặt kế hoạch ban đầu và tài liệu hóa chi tiết.
B. Phản hồi linh hoạt với thay đổi, hợp tác chặt chẽ với khách hàng và phát triển lặp đi lặp lại.
C. Tập trung hoàn toàn vào việc hoàn thành toàn bộ sản phẩm trong một lần duy nhất.
D. Kiểm soát chặt chẽ mọi khía cạnh để tránh bất kỳ sự sai lệch nào.
6. Khi nói về hệ điều hành, tiến trình (process) là gì?
A. Một chương trình đang chạy.
B. Một đoạn mã nguồn chưa được biên dịch.
C. Một tập hợp các file dữ liệu.
D. Một thiết bị phần cứng.
7. Một tường lửa (firewall) hoạt động như thế nào để bảo vệ mạng?
A. Mã hóa tất cả dữ liệu truyền đi.
B. Giám sát và kiểm soát lưu lượng mạng dựa trên các quy tắc đã định sẵn, cho phép hoặc chặn các kết nối mạng.
C. Quét và xóa bỏ virus khỏi máy tính.
D. Tăng băng thông mạng.
8. Đâu là một ví dụ điển hình về việc sử dụng cấu trúc dữ liệu ngăn xếp (stack)?
A. Quản lý các tác vụ in ấn theo thứ tự đến trước được phục vụ trước.
B. Lưu trữ lịch sử các trang web đã truy cập để quay lại.
C. Thực hiện chức năng Undo (hoàn tác) trong trình soạn thảo văn bản.
D. Lưu trữ danh sách các khách hàng chờ đợi.
9. Khi phân tích độ phức tạp của thuật toán, ký hiệu O (Big O notation) dùng để mô tả điều gì?
A. Số lượng dòng code của thuật toán.
B. Thời gian thực thi hoặc không gian bộ nhớ mà thuật toán sử dụng khi kích thước đầu vào tăng lên (tốc độ tăng trưởng của tài nguyên).
C. Mức độ dễ đọc của mã nguồn.
D. Số lượng biến được sử dụng trong thuật toán.
10. Đâu là đặc điểm quan trọng nhất của một thuật toán?
A. Phải sử dụng ngôn ngữ lập trình dễ hiểu.
B. Phải có khả năng xử lý lượng dữ liệu lớn.
C. Phải rõ ràng, xác định, hữu hạn và có đầu vào/đầu ra.
D. Phải có khả năng tự học và cải thiện.
11. Trong các cấu trúc dữ liệu, mảng (array) được đặc trưng bởi điều gì?
A. Các phần tử có thể có kiểu dữ liệu khác nhau và không cần liên tiếp trong bộ nhớ.
B. Các phần tử có cùng kiểu dữ liệu, được lưu trữ liên tiếp trong bộ nhớ và có thể truy cập bằng chỉ số.
C. Các phần tử được lưu trữ dưới dạng cây phân cấp.
D. Các phần tử được liên kết với nhau bằng con trỏ.
12. Trong mô hình TCP/IP, giao thức nào chịu trách nhiệm phân chia dữ liệu thành các gói tin và đảm bảo việc truyền tải đáng tin cậy, có thứ tự?
A. IP (Internet Protocol)
B. UDP (User Datagram Protocol)
C. TCP (Transmission Control Protocol)
D. HTTP (Hypertext Transfer Protocol)
13. Trong lĩnh vực phát triển phần mềm, vòng đời phát triển phần mềm (Software Development Life Cycle - SDLC) là gì?
A. Thời gian một phần mềm tồn tại trên thị trường.
B. Một quy trình có cấu trúc, bao gồm các giai đoạn từ khi lên ý tưởng, thiết kế, xây dựng, kiểm thử, triển khai đến bảo trì phần mềm.
C. Tốc độ phát triển các tính năng mới cho phần mềm.
D. Chi phí để sản xuất một sản phẩm phần mềm.
14. Khái niệm đa hình (polymorphism) trong OOP cho phép:
A. Một lớp cha có thể có nhiều lớp con.
B. Các đối tượng thuộc các lớp khác nhau nhưng có cùng một giao diện (interface) hoặc cùng kế thừa từ một lớp cha có thể được xử lý một cách thống nhất thông qua các phương thức chung.
C. Mã nguồn của một chương trình được viết bằng nhiều ngôn ngữ khác nhau.
D. Một đối tượng có thể thay đổi kiểu dữ liệu của nó trong quá trình thực thi.
15. Giao thức nào chịu trách nhiệm truyền tải các trang web và tài nguyên trên World Wide Web?
A. FTP (File Transfer Protocol)
B. SMTP (Simple Mail Transfer Protocol)
C. HTTP (Hypertext Transfer Protocol)
D. DNS (Domain Name System)
16. Trong khoa học máy tính, an ninh mạng (cybersecurity) nhằm mục đích gì?
A. Tăng tốc độ truyền dữ liệu.
B. Bảo vệ hệ thống máy tính, mạng và dữ liệu khỏi truy cập trái phép, tấn công và thiệt hại.
C. Phát triển các ứng dụng mới.
D. Tối ưu hóa hiệu suất phần cứng.
17. Ngôn ngữ lập trình nào thường được sử dụng để giảng dạy và nghiên cứu các khái niệm khoa học máy tính cơ bản do tính dễ đọc và cú pháp gần gũi với ngôn ngữ tự nhiên?
A. C++
B. Java
C. Python
D. Assembly
18. Trong lĩnh vực mạng máy tính, giao thức (protocol) là gì?
A. Một thiết bị phần cứng dùng để kết nối mạng.
B. Một tập hợp các quy tắc và quy ước định dạng dữ liệu, cách thức trao đổi thông tin giữa các thiết bị hoặc chương trình trên mạng.
C. Một loại cáp mạng.
D. Một phần mềm diệt virus.
19. Khái niệm học máy (Machine Learning) trong AI đề cập đến việc:
A. Lập trình máy tính để thực hiện các tác vụ cụ thể một cách thủ công.
B. Cho phép hệ thống máy tính học hỏi từ dữ liệu mà không cần được lập trình tường minh cho mọi tình huống.
C. Phát triển các thuật toán mã hóa dữ liệu.
D. Xây dựng giao diện người dùng thân thiện.
20. Trong hệ điều hành, luồng (thread) có mối quan hệ như thế nào với tiến trình?
A. Luồng là một chương trình độc lập hoàn toàn với tiến trình.
B. Luồng là một đơn vị thực thi nhỏ hơn bên trong một tiến trình, chia sẻ tài nguyên của tiến trình đó.
C. Tiến trình là một đơn vị thực thi nhỏ hơn bên trong một luồng.
D. Luồng và tiến trình là hai khái niệm hoàn toàn giống nhau.
21. Trong lập trình hướng đối tượng (OOP), khái niệm tính đóng gói (encapsulation) đề cập đến điều gì?
A. Khả năng một đối tượng có thể có nhiều hình dạng.
B. Việc kết hợp dữ liệu (thuộc tính) và các phương thức (hành vi) xử lý dữ liệu đó vào trong một đơn vị duy nhất (lớp) và ẩn đi chi tiết triển khai.
C. Khả năng một lớp kế thừa các thuộc tính và phương thức từ lớp khác.
D. Khả năng một lớp có thể truy cập trực tiếp vào các thuộc tính riêng tư của lớp khác.
22. Trong lập trình, khái niệm thuật toán được định nghĩa là gì?
A. Một chuỗi các lệnh được máy tính thực thi.
B. Một tập hợp các bước hữu hạn, có thứ tự, rõ ràng để giải quyết một vấn đề hoặc thực hiện một công việc cụ thể.
C. Một cấu trúc dữ liệu được sử dụng để lưu trữ thông tin.
D. Một ngôn ngữ lập trình cao cấp.
23. Mục đích chính của lập trình song song (parallel programming) là gì?
A. Giảm số lượng lỗi trong chương trình.
B. Tăng tốc độ xử lý bằng cách thực hiện đồng thời nhiều phép tính trên các bộ xử lý hoặc lõi xử lý khác nhau.
C. Giảm dung lượng lưu trữ của chương trình.
D. Tăng tính bảo mật cho dữ liệu.
24. Mô hình OSI (Open Systems Interconnection) chia các chức năng của mạng thành bao nhiêu lớp?
A. 3 lớp
B. 5 lớp
C. 7 lớp
D. 10 lớp
25. Trong cơ sở dữ liệu, khóa chính (primary key) có vai trò gì?
A. Xác định mối quan hệ giữa hai bảng.
B. Một thuộc tính hoặc tập hợp các thuộc tính dùng để định danh duy nhất mỗi bản ghi (row) trong một bảng.
C. Lưu trữ các giá trị có thể rỗng.
D. Tạo chỉ mục để tăng tốc độ truy vấn.