1. Trong hệ điều hành, tiến trình (process) khác với luồng (thread) ở điểm nào cơ bản nhất?
A. Luồng chia sẻ tài nguyên của tiến trình, tiến trình có không gian bộ nhớ riêng.
B. Tiến trình có thể chạy song song, luồng thì không.
C. Luồng là một phần của chương trình, tiến trình là một phần của hệ điều hành.
D. Tiến trình có ít tài nguyên hơn luồng.
2. Trong cơ sở dữ liệu SQL, câu lệnh nào được sử dụng để thêm một cột mới vào một bảng đã tồn tại?
A. CREATE TABLE
B. INSERT INTO
C. ALTER TABLE
D. DROP TABLE
3. Ngôn ngữ lập trình nào thường được sử dụng cho các tác vụ phân tích dữ liệu, học máy và khoa học dữ liệu?
A. C#
B. Ruby
C. Python
D. PHP
4. Khi làm việc với thuật toán sắp xếp, thuật toán nào dưới đây thường có hiệu suất tốt nhất cho các tập dữ liệu lớn và đã được sắp xếp một phần?
A. Bubble Sort
B. Selection Sort
C. Insertion Sort
D. Quick Sort
5. Ngôn ngữ lập trình nào thường được sử dụng để phát triển giao diện người dùng và tương tác phía client trên các trang web?
A. Python
B. Java
C. JavaScript
D. C++
6. Khi thiết kế trang web sử dụng HTML, thẻ nào được sử dụng để tạo một danh sách không có thứ tự (unordered list)?
7. Khi làm việc với chuỗi trong Python, phương thức `.split()` có chức năng gì?
A. Nối các chuỗi lại với nhau.
B. Thay thế một phần của chuỗi.
C. Tách chuỗi thành danh sách các chuỗi con.
D. Chuyển chuỗi thành chữ hoa.
8. Trong lập trình Python, câu lệnh `if __name__ == __main__:` thường được sử dụng để làm gì?
A. Định nghĩa một hàm mới.
B. Nhập dữ liệu từ người dùng.
C. Kiểm tra xem tệp có đang được chạy trực tiếp hay không.
D. Thiết lập biến môi trường.
9. Trong ngữ cảnh lập trình Python, list comprehension là gì?
A. Một cách để tạo hàm ẩn danh.
B. Một cú pháp ngắn gọn để tạo danh sách từ một trình lặp.
C. Một cơ chế để xử lý lỗi ngoại lệ.
D. Một phương thức để định nghĩa lớp.
10. Trong Microsoft Excel, để tham chiếu đến ô C5 trên một trang tính khác có tên Sheet2, bạn sẽ viết như thế nào?
A. =C5!Sheet2
B. =Sheet2.C5
C. =Sheet2!C5
D. =C5:Sheet2
11. Trong các loại vòng lặp trong lập trình, vòng lặp for thường được sử dụng khi nào?
A. Khi muốn lặp cho đến khi một điều kiện cụ thể bị sai.
B. Khi muốn thực hiện một hành động một lần duy nhất.
C. Khi biết trước số lần lặp hoặc muốn lặp qua một tập hợp các phần tử.
D. Khi muốn lặp vô thời hạn.
12. Trong môi trường lập trình Python, cú pháp nào sau đây được sử dụng để khai báo một biến có tên diem và gán giá trị số nguyên là 85?
A. var diem = 85;
B. diem := 85
C. diem = 85
D. let diem = 85
13. Khái niệm IP address trong mạng máy tính dùng để làm gì?
A. Xác định tên miền của website.
B. Mã hóa dữ liệu truyền tải.
C. Định danh duy nhất cho mỗi thiết bị trên mạng.
D. Kiểm tra lỗi chính tả trong email.
14. Trong bảng tính Microsoft Excel, hàm nào được sử dụng để tính tổng của một dãy các số từ ô A1 đến A10?
A. =AVERAGE(A1:A10)
B. =COUNT(A1:A10)
C. =SUM(A1:A10)
D. =MAX(A1:A10)
15. Khi làm việc với chuỗi ký tự trong Python, phương thức nào được sử dụng để đếm số lần xuất hiện của một ký tự hoặc một chuỗi con cụ thể bên trong chuỗi đó?
A. .find()
B. .count()
C. .index()
D. .replace()
16. Trong lĩnh vực an toàn thông tin, tấn công Phishing là gì?
A. Tấn công làm quá tải máy chủ.
B. Cố gắng lừa đảo người dùng tiết lộ thông tin nhạy cảm.
C. Truy cập trái phép vào hệ thống máy tính.
D. Phân tích mã độc để tìm lỗ hổng.
17. Thuật toán nào sau đây thuộc loại chia để trị (Divide and Conquer)?
A. Bubble Sort
B. Linear Search
C. Merge Sort
D. Binary Counter
18. Trong HTML, thuộc tính href của thẻ a được sử dụng để làm gì?
A. Xác định kiểu chữ cho liên kết.
B. Chỉ định URL đích của liên kết.
C. Mở liên kết trong một cửa sổ mới.
D. Định dạng màu sắc cho văn bản liên kết.
19. Trong cơ sở dữ liệu quan hệ, thuộc tính nào của một bảng được sử dụng để xác định duy nhất mỗi bản ghi (record)?
A. Khóa ngoại (Foreign Key)
B. Khóa chính (Primary Key)
C. Khóa ứng viên (Candidate Key)
D. Khóa thay thế (Alternate Key)
20. Khi làm việc với cấu trúc dữ liệu danh sách liên kết (linked list), thao tác chèn một phần tử mới vào đầu danh sách liên kết thường có độ phức tạp thời gian là bao nhiêu?
A. O(n)
B. O(log n)
C. O(1)
D. O(n^2)
21. Cơ sở dữ liệu NoSQL (Not Only SQL) khác với cơ sở dữ liệu quan hệ (SQL) ở điểm nào?
A. NoSQL luôn có cấu trúc bảng cố định.
B. NoSQL thường sử dụng mô hình dữ liệu phi cấu trúc hoặc bán cấu trúc, linh hoạt hơn.
C. Cơ sở dữ liệu quan hệ không thể mở rộng theo chiều ngang.
D. NoSQL yêu cầu tất cả các trường phải được định nghĩa trước.
22. Mạng máy tính kiểu Client-Server có đặc điểm chính là gì?
A. Mọi máy tính đều có vai trò ngang nhau.
B. Có một hoặc nhiều máy chủ cung cấp dịch vụ và nhiều máy khách yêu cầu dịch vụ.
C. Dữ liệu được chia sẻ đồng đều giữa tất cả các máy.
D. Chỉ có máy tính cá nhân tham gia.
23. Trong lập trình hướng đối tượng (OOP), tính chất nào cho phép một lớp con kế thừa các thuộc tính và phương thức từ lớp cha?
A. Trừu tượng hóa (Abstraction)
B. Đóng gói (Encapsulation)
C. Đa hình (Polymorphism)
D. Kế thừa (Inheritance)
24. Cấu trúc dữ liệu nào phù hợp nhất để biểu diễn một cây nhị phân tìm kiếm (Binary Search Tree - BST)?
A. Mảng (Array)
B. Danh sách liên kết (Linked List)
C. Cây (Tree) sử dụng các nút (nodes) có con trỏ đến nút cha và nút con.
D. Ngăn xếp (Stack)
25. Phần mềm nào sau đây được thiết kế chủ yếu để quản lý và chỉnh sửa hình ảnh kỹ thuật số?
A. Microsoft Word
B. Google Chrome
C. Adobe Photoshop
D. VLC Media Player