1. Nếu bạn muốn định nghĩa một hàm trong Python có tên là tinh_tong nhận vào hai tham số a và b và trả về tổng của chúng, bạn sẽ viết như thế nào?
A. function tinh_tong(a, b): return a + b
B. def tinh_tong(a, b) -> a + b
C. def tinh_tong(a, b): return a + b
D. procedure tinh_tong(a, b) returns a + b
2. Trong ngôn ngữ lập trình Python, làm thế nào để khai báo một biến tên là tuoi và gán giá trị nguyên là 18?
A. var tuoi = 18;
B. int tuoi = 18;
C. tuoi = 18
D. declare tuoi as int = 18
3. Trong Python, làm thế nào để tạo một danh sách trống?
A. list()
B. new list
C. []
D. Both A and C
4. Khái niệm Variable Scope (Phạm vi biến) trong lập trình đề cập đến:
A. Kích thước của biến trong bộ nhớ.
B. Vùng trong chương trình mà tại đó biến có thể được truy cập và sử dụng.
C. Cách biến được khởi tạo.
D. Tên gọi của biến.
5. Trong Python, làm thế nào để thêm một phần tử vào cuối của một danh sách có tên là my_list?
A. my_list.insert(0, element)
B. my_list.append(element)
C. my_list.add(element)
D. my_list.push(element)
6. Đâu là một ví dụ về cấu trúc dữ liệu Queue (Hàng đợi)?
A. Nguyên tắc LIFO (Last-In, First-Out).
B. Nguyên tắc FIFO (First-In, First-Out).
C. Truy cập ngẫu nhiên.
D. Lưu trữ các cặp khóa-giá trị.
7. Nguyên tắc DRY (Dont Repeat Yourself) trong lập trình khuyến khích điều gì?
A. Viết mã càng nhiều càng tốt để đảm bảo tính đầy đủ.
B. Tránh lặp lại các đoạn mã hoặc logic tương tự nhau bằng cách sử dụng hàm, lớp hoặc các cấu trúc trừu tượng hóa khác.
C. Tập trung vào việc viết mã nguồn mở.
D. Luôn sử dụng các thư viện có sẵn thay vì tự viết mã.
8. Khái niệm Cloud Computing (Điện toán đám mây) chủ yếu đề cập đến việc gì?
A. Sử dụng máy tính cá nhân để lưu trữ dữ liệu.
B. Truy cập và sử dụng tài nguyên máy tính (như máy chủ, lưu trữ, phần mềm) thông qua mạng Internet.
C. Phát triển ứng dụng trên các thiết bị di động.
D. Xây dựng mạng máy tính nội bộ cho doanh nghiệp.
9. Trong Python, làm thế nào để kiểm tra xem một biến x có phải là một số nguyên hay không?
A. if x is int:
B. if type(x) == int:
C. if x.is_integer():
D. if x.isdigit():
10. Khái niệm Debugging (Gỡ lỗi) trong phát triển phần mềm đề cập đến quá trình nào?
A. Viết mã mới cho một chức năng.
B. Thiết kế kiến trúc của ứng dụng.
C. Tìm kiếm, xác định và sửa chữa các lỗi (bugs) trong mã nguồn.
D. Tối ưu hóa hiệu suất của chương trình.
11. Trong Python, làm thế nào để truy cập phần tử đầu tiên của một danh sách có tên là my_list?
A. my_list[1]
B. my_list[0]
C. my_list.first()
D. my_list.get(0)
12. Khái niệm API (Application Programming Interface) là gì?
A. Một phần cứng máy tính.
B. Một bộ quy tắc và định nghĩa cho phép các ứng dụng phần mềm khác nhau giao tiếp với nhau.
C. Một loại virus máy tính.
D. Một ngôn ngữ lập trình mới.
13. Đâu là một ví dụ về ngôn ngữ lập trình bậc cao?
A. Assembly Language
B. Machine Code
C. Python
D. All of the above
14. Trong lập trình Python, hàm nào được sử dụng để nhập dữ liệu từ bàn phím?
A. print()
B. scan()
C. input()
D. get()
15. Trong ngữ cảnh xử lý dữ liệu, Big Data thường được mô tả bởi ba đặc trưng chính là Volume, Velocity và Variety. Đặc trưng Variety ám chỉ điều gì?
A. Tốc độ thu thập và xử lý dữ liệu.
B. Sự đa dạng về loại hình dữ liệu (có cấu trúc, bán cấu trúc, phi cấu trúc).
C. Khối lượng dữ liệu khổng lồ.
D. Mức độ tin cậy và chính xác của dữ liệu.
16. Nếu bạn có một danh sách các số nguyên và muốn tính tổng của tất cả các phần tử trong danh sách đó, phương pháp nào sau đây là hiệu quả nhất trong Python?
A. Dùng vòng lặp for để cộng từng phần tử.
B. Sử dụng hàm sum().
C. Chuyển danh sách thành chuỗi rồi dùng phương thức join().
D. Sử dụng hàm reduce() từ module functools.
17. Khái niệm Machine Learning (Học máy) là gì?
A. Việc 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. Một lĩnh vực của trí tuệ nhân tạo cho phép hệ thống học hỏi từ dữ liệu và cải thiện hiệu suất theo thời gian mà không cần được lập trình rõ ràng cho từng tác vụ.
C. Thiết kế giao diện người dùng cho các ứng dụng.
D. Quản lý cơ sở dữ liệu.
18. Trong lập trình Python, cấu trúc dữ liệu nào cho phép lưu trữ một tập hợp các phần tử có thứ tự và có thể thay đổi kích thước, đồng thời cho phép truy cập các phần tử bằng chỉ số?
A. Tuple
B. Set
C. Dictionary
D. List
19. Trong lập trình hướng đối tượng, 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 khác nhau.
B. Khả năng 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.
C. Việc kết hợp dữ liệu (thuộc tính) và các phương thức xử lý dữ liệu đó vào trong một đơn vị duy nhất (lớp), đồng thời kiểm soát truy cập vào dữ liệu.
D. Khả năng che giấu chi tiết triển khai bên trong và chỉ cung cấp giao diện công khai.
20. Trong lập trình Python, toán tử nào được sử dụng để kiểm tra xem hai giá trị có bằng nhau không?
21. Trong Python, khi sử dụng câu lệnh if-elif-else, khối lệnh nào sẽ được thực thi nếu điều kiện trong if và elif đều sai?
A. Khối lệnh của if.
B. Khối lệnh của elif.
C. Khối lệnh của else.
D. Không có khối lệnh nào được thực thi.
22. Khái niệm Algorithm Efficiency (Hiệu quả thuật toán) thường được đánh giá dựa trên hai yếu tố chính là thời gian thực thi và bộ nhớ sử dụng. Yếu tố nào thường được ưu tiên hơn khi phân tích thuật toán?
A. Bộ nhớ sử dụng.
B. Thời gian thực thi.
C. Số lượng dòng mã.
D. Tính dễ đọc của mã.
23. Đâu là đặc điểm chính của cấu trúc dữ liệu Stack (Ngăn xếp)?
A. Truy cập phần tử theo nguyên tắc FIFO (First-In, First-Out).
B. Truy cập phần tử theo nguyên tắc LIFO (Last-In, First-Out).
C. Các phần tử có thể được thêm vào bất kỳ vị trí nào.
D. Các phần tử luôn được sắp xếp theo thứ tự tăng dần.
24. Trong Python, từ khóa nào được sử dụng để định nghĩa một lớp (class)?
A. function
B. object
C. class
D. module
25. Phát biểu nào sau đây mô tả đúng nhất về thuật toán trong khoa học máy tính?
A. Một chương trình máy tính phức tạp với nhiều dòng mã.
B. Một tập hợp các bước hữu hạn, rõ ràng để 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 được thiết kế để xử lý dữ liệu.
D. Một ngôn ngữ lập trình cao cấp được sử dụng để viết mã.