Đề 10 – Bài tập, đề thi trắc nghiệm online Cơ sở lập trình

0

Bạn đã sẵn sàng chưa? 45 phút làm bài bắt đầu!!!

Bạn đã hết giờ làm bài! Xem kết quả các câu hỏi đã làm nhé!!!


Cơ sở lập trình

Đề 10 - Bài tập, đề thi trắc nghiệm online Cơ sở lập trình

1. Trong lập trình hướng đối tượng (OOP), 'đối tượng′ (object) là gì?

A. Một khuôn mẫu để tạo ra các lớp.
B. Một bản thiết kế cho các đối tượng.
C. Một thể hiện cụ thể của một lớp, có trạng thái và hành vi.
D. Một phương thức đặc biệt được sử dụng để khởi tạo đối tượng.

2. Ngôn ngữ lập trình thông dịch (interpreted language) khác biệt với ngôn ngữ biên dịch (compiled language) chủ yếu ở điểm nào?

A. Ngôn ngữ thông dịch chạy nhanh hơn ngôn ngữ biên dịch.
B. Ngôn ngữ thông dịch cần được biên dịch trước khi chạy, còn ngôn ngữ biên dịch thì không.
C. Ngôn ngữ thông dịch thực thi mã nguồn từng dòng một, còn ngôn ngữ biên dịch biên dịch toàn bộ mã nguồn trước khi chạy.
D. Ngôn ngữ thông dịch dễ học hơn ngôn ngữ biên dịch.

3. Biên dịch (compilation) là quá trình chuyển đổi mã nguồn chương trình sang dạng nào?

A. Mã giả (pseudocode).
B. Mã máy (machine code).
C. Mã thông dịch (bytecode).
D. Mã HTML (HyperText Markup Language).

4. Tính 'đa hình′ (polymorphism) trong OOP có nghĩa là gì?

A. Một đối tượng có thể có nhiều thuộc tính.
B. Một lớp có thể có nhiều phương thức.
C. Các đối tượng thuộc các lớp khác nhau có thể phản ứng khác nhau với cùng một phương thức.
D. Một lớp có thể kế thừa từ nhiều lớp cha.

5. Mục đích chính của việc sử dụng chú thích (comment) trong mã nguồn là gì?

A. Tăng tốc độ biên dịch chương trình.
B. Giúp chương trình chạy nhanh hơn.
C. Giải thích mã nguồn, giúp người khác (và chính mình sau này) dễ hiểu mã hơn.
D. Báo cáo lỗi cho trình biên dịch.

6. JSON (JavaScript Object Notation) là định dạng dữ liệu phổ biến dùng để làm gì?

A. Thiết kế giao diện người dùng web.
B. Truyền tải dữ liệu giữa server và client trong ứng dụng web và API.
C. Biên dịch mã nguồn chương trình.
D. Quản lý phiên bản mã nguồn.

7. Độ phức tạp thời gian (time complexity) của thuật toán dùng để đánh giá điều gì?

A. Lượng bộ nhớ mà thuật toán sử dụng.
B. Thời gian thực thi của thuật toán phụ thuộc vào phần cứng.
C. Mức độ khó hiểu của mã nguồn thuật toán.
D. Sự tăng trưởng thời gian thực thi của thuật toán theo kích thước đầu vào.

8. Đệ quy (recursion) là gì trong lập trình?

A. Một loại vòng lặp vô hạn.
B. Một kỹ thuật lập trình trong đó một hàm tự gọi chính nó.
C. Một phương pháp để sắp xếp dữ liệu.
D. Một cách để tối ưu hóa bộ nhớ sử dụng.

9. HTTP request method nào thường được sử dụng để lấy dữ liệu từ server mà không gây ra thay đổi trạng thái trên server?

A. POST
B. PUT
C. DELETE
D. GET

10. Bộ nhớ 'heap′ và 'stack′ khác nhau chủ yếu ở điểm nào trong quản lý bộ nhớ chương trình?

A. Heap nhanh hơn Stack trong việc cấp phát và giải phóng bộ nhớ.
B. Stack được quản lý tự động bởi hệ thống, Heap được quản lý thủ công bởi lập trình viên.
C. Stack dùng cho dữ liệu động, Heap dùng cho dữ liệu tĩnh.
D. Stack có kích thước lớn hơn Heap.

11. Trong lập trình, biến (variable) được hiểu chính xác nhất là gì?

A. Một vùng nhớ tạm thời trong RAM để lưu trữ dữ liệu có thể thay đổi trong quá trình thực thi chương trình.
B. Một tên gọi cố định đại diện cho một giá trị không đổi trong chương trình.
C. Một loại dữ liệu đặc biệt dùng để lưu trữ các ký tự văn bản.
D. Một lệnh điều khiển luồng thực thi của chương trình.

12. Trong bảo mật phần mềm, SQL Injection là loại tấn công lợi dụng lỗ hổng nào?

A. Lỗi tràn bộ đệm (buffer overflow).
B. Lỗi xác thực yếu (weak authentication).
C. Lỗi trong việc xử lý truy vấn cơ sở dữ liệu SQL.
D. Lỗi trong việc mã hóa dữ liệu.

13. Thao tác nào sau đây KHÔNG phải là một phép toán số học cơ bản trong lập trình?

A. Phép cộng (+)
B. Phép gán (=)
C. Phép nhân (*)
D. Phép chia (∕)

14. Kiểm thử đơn vị (unit testing) là gì?

A. Kiểm thử toàn bộ hệ thống phần mềm.
B. Kiểm thử từng module hoặc thành phần nhỏ nhất của chương trình một cách độc lập.
C. Kiểm thử giao diện người dùng của chương trình.
D. Kiểm thử hiệu suất của chương trình.

15. Khái niệm 'con trỏ' (pointer) trong lập trình (như C∕C++) dùng để làm gì?

A. Lưu trữ giá trị của biến.
B. Lưu trữ địa chỉ bộ nhớ của một biến khác.
C. Định nghĩa kiểu dữ liệu mới.
D. Thực hiện các phép toán số học phức tạp.

16. Mục đích của việc sử dụng API (Application Programming Interface) là gì?

A. Tạo ra giao diện người dùng đẹp mắt cho ứng dụng.
B. Cho phép các ứng dụng phần mềm khác nhau giao tiếp và trao đổi dữ liệu với nhau.
C. Tăng cường bảo mật cho hệ thống.
D. Tối ưu hóa hiệu suất của ứng dụng.

17. Kiểu dữ liệu nào sau đây thường được sử dụng để biểu diễn số nguyên trong hầu hết các ngôn ngữ lập trình?

A. Boolean
B. Float
C. Integer
D. String

18. Lỗi cú pháp (syntax error) trong lập trình xảy ra khi nào?

A. Chương trình chạy ra kết quả không mong muốn.
B. Chương trình cố gắng truy cập vào vùng nhớ không hợp lệ.
C. Chương trình vi phạm các quy tắc ngữ pháp của ngôn ngữ lập trình.
D. Chương trình thực hiện một phép toán không hợp lệ, ví dụ chia cho 0.

19. Vòng lặp 'for′ thường được sử dụng khi nào?

A. Khi số lần lặp không xác định trước.
B. Khi cần lặp lại một khối lệnh vô hạn lần.
C. Khi biết chính xác số lần lặp cần thực hiện.
D. Khi cần kiểm tra một điều kiện trước khi thực hiện vòng lặp.

20. Trong ngữ cảnh cơ sở dữ liệu, ACID là một tập hợp các thuộc tính đảm bảo tính tin cậy của giao dịch. Chữ 'C′ trong ACID đại diện cho thuộc tính nào?

A. Atomicity (Tính nguyên tử)
B. Consistency (Tính nhất quán)
C. Isolation (Tính độc lập)
D. Durability (Tính bền vững)

21. Khái niệm 'kế thừa′ (inheritance) trong OOP cho phép làm gì?

A. Ẩn thông tin chi tiết bên trong đối tượng.
B. Tạo ra các lớp con kế thừa thuộc tính và phương thức từ lớp cha.
C. Đóng gói dữ liệu và phương thức liên quan vào trong một đơn vị.
D. Đa hình hóa các đối tượng cùng lớp.

22. Nguyên tắc DRY (Don′t Repeat Yourself) trong lập trình khuyến khích điều gì?

A. Viết mã chi tiết và tường minh.
B. Tái sử dụng mã nguồn thay vì lặp lại mã tương tự.
C. Viết mã ngắn gọn và khó hiểu.
D. Liên tục kiểm thử và sửa lỗi mã nguồn.

23. Debug (gỡ lỗi) là quá trình làm gì trong lập trình?

A. Viết mã nguồn chương trình.
B. Biên dịch mã nguồn chương trình sang mã máy.
C. Tìm và sửa các lỗi trong chương trình.
D. Tối ưu hóa hiệu suất của chương trình đã viết.

24. Phiên bản hóa mã nguồn (version control) như Git được sử dụng để làm gì?

A. Tăng tốc độ biên dịch mã nguồn.
B. Tự động sửa lỗi cú pháp trong mã nguồn.
C. Quản lý các thay đổi của mã nguồn theo thời gian và cộng tác làm việc nhóm.
D. Tối ưu hóa hiệu suất của chương trình sau khi biên dịch.

25. Cấu trúc điều khiển 'if-else′ được sử dụng để làm gì trong lập trình?

A. Lặp lại một khối lệnh nhiều lần.
B. Thực hiện một khối lệnh dựa trên một điều kiện đúng hoặc sai.
C. Định nghĩa một tập hợp các biến có cùng kiểu dữ liệu.
D. Tổ chức mã nguồn thành các khối nhỏ hơn, dễ quản lý.

26. Thuật toán (algorithm) trong lập trình được hiểu là gì?

A. Một ngôn ngữ lập trình cụ thể.
B. Một công cụ để gỡ lỗi chương trình.
C. Một tập hợp các bước hữu hạn và rõ ràng để giải quyết một vấn đề cụ thể.
D. Một loại biến đặc biệt dùng để lưu trữ dữ liệu phức tạp.

27. Cấu trúc dữ liệu (data structure) nào sau đây hoạt động theo nguyên tắc LIFO (Last In, First Out - Vào sau, ra trước)?

A. Hàng đợi (Queue)
B. Ngăn xếp (Stack)
C. Danh sách liên kết (Linked List)
D. Cây (Tree)

28. SOLID là một tập hợp các nguyên tắc thiết kế hướng đối tượng. Chữ 'S′ trong SOLID đại diện cho nguyên tắc nào?

A. Single Responsibility Principle (Nguyên tắc đơn nhiệm)
B. Open∕Closed Principle (Nguyên tắc đóng mở)
C. Liskov Substitution Principle (Nguyên tắc thay thế Liskov)
D. Interface Segregation Principle (Nguyên tắc phân tách giao diện)

29. Hàm (function) trong lập trình có vai trò chính là gì?

A. Tối ưu hóa hiệu suất chương trình bằng cách giảm thiểu việc sử dụng bộ nhớ.
B. Chia chương trình thành các khối mã nhỏ hơn, có tính tái sử dụng và dễ quản lý.
C. Kiểm soát quyền truy cập vào dữ liệu và các biến trong chương trình.
D. Tự động phát hiện và sửa lỗi trong quá trình biên dịch chương trình.

30. Tham số (parameter) của hàm là gì?

A. Giá trị trả về của hàm sau khi thực thi.
B. Biến cục bộ được khai báo bên trong hàm.
C. Giá trị được truyền vào hàm khi gọi hàm.
D. Tên của hàm được sử dụng để gọi hàm từ nơi khác trong chương trình.

1 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

1. Trong lập trình hướng đối tượng (OOP), `đối tượng′ (object) là gì?

2 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

2. Ngôn ngữ lập trình thông dịch (interpreted language) khác biệt với ngôn ngữ biên dịch (compiled language) chủ yếu ở điểm nào?

3 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

3. Biên dịch (compilation) là quá trình chuyển đổi mã nguồn chương trình sang dạng nào?

4 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

4. Tính `đa hình′ (polymorphism) trong OOP có nghĩa là gì?

5 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

5. Mục đích chính của việc sử dụng chú thích (comment) trong mã nguồn là gì?

6 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

6. JSON (JavaScript Object Notation) là định dạng dữ liệu phổ biến dùng để làm gì?

7 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

7. Độ phức tạp thời gian (time complexity) của thuật toán dùng để đánh giá điều gì?

8 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

8. Đệ quy (recursion) là gì trong lập trình?

9 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

9. HTTP request method nào thường được sử dụng để lấy dữ liệu từ server mà không gây ra thay đổi trạng thái trên server?

10 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

10. Bộ nhớ `heap′ và `stack′ khác nhau chủ yếu ở điểm nào trong quản lý bộ nhớ chương trình?

11 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

11. Trong lập trình, biến (variable) được hiểu chính xác nhất là gì?

12 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

12. Trong bảo mật phần mềm, SQL Injection là loại tấn công lợi dụng lỗ hổng nào?

13 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

13. Thao tác nào sau đây KHÔNG phải là một phép toán số học cơ bản trong lập trình?

14 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

14. Kiểm thử đơn vị (unit testing) là gì?

15 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

15. Khái niệm `con trỏ` (pointer) trong lập trình (như C∕C++) dùng để làm gì?

16 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

16. Mục đích của việc sử dụng API (Application Programming Interface) là gì?

17 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

17. Kiểu dữ liệu nào sau đây thường được sử dụng để biểu diễn số nguyên trong hầu hết các ngôn ngữ lập trình?

18 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

18. Lỗi cú pháp (syntax error) trong lập trình xảy ra khi nào?

19 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

19. Vòng lặp `for′ thường được sử dụng khi nào?

20 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

20. Trong ngữ cảnh cơ sở dữ liệu, ACID là một tập hợp các thuộc tính đảm bảo tính tin cậy của giao dịch. Chữ `C′ trong ACID đại diện cho thuộc tính nào?

21 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

21. Khái niệm `kế thừa′ (inheritance) trong OOP cho phép làm gì?

22 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

22. Nguyên tắc DRY (Don′t Repeat Yourself) trong lập trình khuyến khích điều gì?

23 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

23. Debug (gỡ lỗi) là quá trình làm gì trong lập trình?

24 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

24. Phiên bản hóa mã nguồn (version control) như Git được sử dụng để làm gì?

25 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

25. Cấu trúc điều khiển `if-else′ được sử dụng để làm gì trong lập trình?

26 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

26. Thuật toán (algorithm) trong lập trình được hiểu là gì?

27 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

27. Cấu trúc dữ liệu (data structure) nào sau đây hoạt động theo nguyên tắc LIFO (Last In, First Out - Vào sau, ra trước)?

28 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

28. SOLID là một tập hợp các nguyên tắc thiết kế hướng đối tượng. Chữ `S′ trong SOLID đại diện cho nguyên tắc nào?

29 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

29. Hàm (function) trong lập trình có vai trò chính là gì?

30 / 30

Category: Cơ sở lập trình

Tags: Bộ đề 10

30. Tham số (parameter) của hàm là gì?