1. Công cụ quản lý phiên bản Git được sử dụng để làm gì?
A. Tự động sửa lỗi chính tả trong code.
B. Theo dõi và quản lý các thay đổi của code theo thời gian, giúp cộng tác làm việc nhóm dễ dàng hơn.
C. Tối ưu hóa hiệu năng của code.
D. Tạo tài liệu hướng dẫn sử dụng phần mềm.
2. Nguyên tắc DRY (Don"t Repeat Yourself) trong lập trình có nghĩa là gì?
A. Viết code càng ngắn gọn càng tốt.
B. Tránh lặp lại code bằng cách trừu tượng hóa và tái sử dụng code.
C. Không nên viết code vào ban đêm.
D. Chỉ sử dụng các thư viện đã được kiểm chứng.
3. Điểm khác biệt chính giữa NoSQL và SQL database là gì?
A. SQL database chỉ dùng cho dữ liệu số, NoSQL dùng cho dữ liệu phi cấu trúc.
B. SQL database sử dụng mô hình quan hệ, có cấu trúc cố định, còn NoSQL linh hoạt hơn, có thể lưu trữ nhiều loại dữ liệu khác nhau (ví dụ: document, key-value, graph).
C. SQL database miễn phí, NoSQL phải trả phí.
D. SQL database dễ mở rộng hơn NoSQL.
4. Trong mô hình OSI, tầng nào chịu trách nhiệm cho việc mã hóa và giải mã dữ liệu?
A. Tầng Mạng (Network Layer)
B. Tầng Giao vận (Transport Layer)
C. Tầng Trình bày (Presentation Layer)
D. Tầng Ứng dụng (Application Layer)
5. Sự khác biệt giữa kiểm thử White box và Black box là gì?
A. White box kiểm tra giao diện người dùng, Black box kiểm tra hiệu năng.
B. White box cần kiến thức về cấu trúc bên trong của phần mềm, Black box chỉ kiểm tra chức năng từ bên ngoài.
C. White box chỉ dùng cho phần mềm mã nguồn mở, Black box cho phần mềm thương mại.
D. White box là kiểm thử tự động, Black box là kiểm thử thủ công.
6. Cloud computing (điện toán đám mây) là gì?
A. Sử dụng các ứng dụng trên máy tính cá nhân.
B. Lưu trữ và truy cập dữ liệu và ứng dụng thông qua internet, thay vì trên máy tính cá nhân hoặc máy chủ cục bộ.
C. Kết nối các máy tính trong một mạng cục bộ.
D. Sử dụng các thiết bị di động để truy cập internet.
7. Trong bảo mật web, tấn công SQL Injection là gì?
A. Tấn công bằng cách chèn mã độc vào các bình luận trên website.
B. Tấn công bằng cách chèn mã SQL độc hại vào các truy vấn cơ sở dữ liệu để truy cập, sửa đổi hoặc xóa dữ liệu trái phép.
C. Tấn công bằng cách làm quá tải máy chủ web với lượng truy cập lớn.
D. Tấn công bằng cách đánh cắp cookie của người dùng.
8. Microservices là gì và lợi ích của kiến trúc này là gì?
A. Một loại máy chủ siêu nhỏ.
B. Một kiến trúc phần mềm chia ứng dụng thành các dịch vụ nhỏ, độc lập, có thể phát triển, triển khai và mở rộng riêng biệt, giúp tăng tính linh hoạt và khả năng chịu lỗi.
C. Một phương pháp quản lý cơ sở dữ liệu.
D. Một giao thức truyền thông mạng.
9. Trong lĩnh vực trí tuệ nhân tạo (AI), học máy (machine learning) là gì?
A. Lập trình máy tính để thực hiện các tác vụ cụ thể theo hướng dẫn.
B. Xây dựng hệ thống máy tính có khả năng tự học hỏi và cải thiện hiệu suất dựa trên dữ liệu.
C. Tạo ra các robot có khả năng tương tác với con người.
D. Phát triển các thuật toán tìm kiếm thông tin trên internet.
10. Containerization khác với Virtualization như thế nào?
A. Containerization chỉ chạy được trên Linux, Virtualization chạy được trên mọi hệ điều hành.
B. Containerization chia sẻ kernel của hệ điều hành host, còn Virtualization tạo ra một máy ảo đầy đủ với hệ điều hành riêng.
C. Containerization tốn nhiều tài nguyên hơn Virtualization.
D. Containerization dễ bị tấn công hơn Virtualization.
11. Điểm khác biệt chính giữa ngôn ngữ biên dịch (compiled) và ngôn ngữ thông dịch (interpreted) là gì?
A. Ngôn ngữ biên dịch chạy nhanh hơn ngôn ngữ thông dịch.
B. Ngôn ngữ biên dịch được biên dịch thành mã máy trước khi chạy, còn ngôn ngữ thông dịch được thông dịch từng dòng lệnh khi chạy.
C. Ngôn ngữ biên dịch dễ học hơn ngôn ngữ thông dịch.
D. Ngôn ngữ biên dịch chỉ chạy trên Windows, còn ngôn ngữ thông dịch chạy trên mọi hệ điều hành.
12. Blockchain là gì và ứng dụng tiềm năng của nó trong lĩnh vực tài chính là gì?
A. Một loại tiền điện tử mới;thay thế hoàn toàn các ngân hàng truyền thống.
B. Một cơ sở dữ liệu phân tán, an toàn và minh bạch;tạo điều kiện cho các giao dịch tài chính an toàn, nhanh chóng và không cần trung gian.
C. Một phần mềm kế toán;tự động hóa quy trình kế toán.
D. Một công cụ phân tích rủi ro;dự đoán biến động thị trường.
13. CDN (Content Delivery Network) là gì và nó giúp ích gì cho website?
A. Một loại phần mềm quản lý nội dung website.
B. Một mạng lưới các máy chủ phân tán trên toàn cầu, giúp phân phối nội dung website đến người dùng nhanh hơn dựa trên vị trí địa lý của họ.
C. Một công cụ phân tích lưu lượng truy cập website.
D. Một giao thức bảo mật website.
14. Trong lĩnh vực mạng máy tính, VPN (Virtual Private Network) được sử dụng để làm gì?
A. Tăng tốc độ internet.
B. Tạo một kết nối an toàn và riêng tư qua internet, che giấu địa chỉ IP và mã hóa dữ liệu.
C. Quản lý mạng Wi-Fi tại nhà.
D. Chặn quảng cáo trên internet.
15. Trong bảo mật thông tin, tấn công DDoS (Distributed Denial of Service) là gì?
A. Một cuộc tấn công nhằm đánh cắp dữ liệu từ cơ sở dữ liệu.
B. Một cuộc tấn công làm quá tải hệ thống bằng lượng lớn lưu lượng truy cập từ nhiều nguồn khác nhau, khiến hệ thống không thể phục vụ người dùng.
C. Một cuộc tấn công bằng cách chèn mã độc vào website.
D. Một cuộc tấn công nhằm phá hoại phần cứng của máy chủ.
16. Phương pháp "pair programming" (lập trình cặp đôi) là gì và lợi ích của nó là gì?
A. Hai lập trình viên cùng làm việc trên hai máy tính khác nhau.
B. Hai lập trình viên cùng làm việc trên một máy tính, một người viết code (driver), người kia xem xét và đưa ra ý kiến (navigator), giúp giảm lỗi và chia sẻ kiến thức.
C. Hai lập trình viên thay phiên nhau viết code mỗi ngày.
D. Một lập trình viên viết code, một người kiểm thử code.
17. Phương pháp Agile trong phát triển phần mềm tập trung vào điều gì?
A. Lập kế hoạch chi tiết và tuân thủ nghiêm ngặt kế hoạch đó.
B. Sự linh hoạt, khả năng thích ứng với thay đổi và sự hợp tác chặt chẽ giữa các thành viên trong nhóm và khách hàng.
C. Tối ưu hóa chi phí phát triển phần mềm.
D. Sử dụng các công nghệ mới nhất để phát triển phần mềm.
18. Internet of Things (IoT) là gì?
A. Mạng lưới toàn cầu kết nối các trang web.
B. Mạng lưới các thiết bị vật lý, phương tiện, đồ gia dụng và các vật dụng khác được nhúng với điện tử, phần mềm, cảm biến và kết nối mạng, cho phép chúng thu thập và trao đổi dữ liệu.
C. Một giao thức truyền thông không dây.
D. Một loại ngôn ngữ lập trình.
19. DevOps là gì và mục tiêu của nó là gì?
A. Một ngôn ngữ lập trình mới.
B. Một tập hợp các phương pháp và công cụ nhằm tự động hóa và cải thiện quy trình phát triển và triển khai phần mềm, rút ngắn thời gian đưa sản phẩm ra thị trường và nâng cao chất lượng.
C. Một phương pháp quản lý dự án.
D. Một công cụ kiểm thử bảo mật.
20. ORM (Object-Relational Mapping) là gì và nó giúp ích gì trong việc phát triển ứng dụng?
A. Một loại cơ sở dữ liệu mới.
B. Một kỹ thuật cho phép tương tác với cơ sở dữ liệu bằng cách sử dụng các đối tượng trong ngôn ngữ lập trình, giúp giảm thiểu việc viết các câu lệnh SQL phức tạp.
C. Một công cụ thiết kế giao diện người dùng.
D. Một phương pháp kiểm thử phần mềm.
21. Sự khác biệt giữa machine learning (học máy) và deep learning (học sâu) là gì?
A. Machine learning chỉ dùng cho dữ liệu số, deep learning dùng cho dữ liệu phi cấu trúc.
B. Deep learning là một nhánh của machine learning sử dụng mạng nơ-ron sâu (nhiều lớp) để học các biểu diễn phức tạp từ dữ liệu.
C. Machine learning cần nhiều dữ liệu hơn deep learning.
D. Machine learning dễ triển khai hơn deep learning.
22. Trong lập trình hướng đối tượng, tính đóng gói (encapsulation) có nghĩa là gì?
A. Khả năng một đối tượng kế thừa các thuộc tính và phương thức từ một đối tượng khác.
B. Che giấu thông tin và hành vi bên trong của một đối tượng và chỉ cho phép truy cập thông qua các phương thức công khai.
C. Khả năng một đối tượng có thể có nhiều hình thức khác nhau.
D. Cơ chế cho phép thực hiện các thao tác khác nhau tùy thuộc vào kiểu dữ liệu của đối tượng.
23. Trong lĩnh vực bảo mật, thuật ngữ "zero-day exploit" đề cập đến điều gì?
A. Một cuộc tấn công chỉ diễn ra vào ban đêm.
B. Một lỗ hổng bảo mật chưa được biết đến hoặc chưa có bản vá, khiến hệ thống dễ bị tấn công.
C. Một loại virus máy tính mới.
D. Một phương pháp mã hóa dữ liệu.
24. Công nghệ ảo hóa (virtualization) cho phép thực hiện điều gì?
A. Chạy nhiều hệ điều hành trên cùng một phần cứng vật lý.
B. Tăng tốc độ xử lý của máy tính.
C. Giảm thiểu lượng điện năng tiêu thụ của máy tính.
D. Kết nối nhiều máy tính thành một siêu máy tính.
25. Đâu là yếu tố quan trọng nhất để đảm bảo an toàn thông tin cho một hệ thống mạng?
A. Sử dụng phần mềm diệt virus trả phí.
B. Xây dựng và tuân thủ chính sách bảo mật toàn diện.
C. Thường xuyên thay đổi mật khẩu Wi-Fi.
D. Mua tường lửa (firewall) đắt tiền nhất.
26. Sự khác biệt chính giữa HTTP và HTTPS là gì?
A. HTTPS nhanh hơn HTTP.
B. HTTPS sử dụng cổng 80, còn HTTP sử dụng cổng 443.
C. HTTPS mã hóa dữ liệu truyền tải bằng SSL/TLS, còn HTTP thì không.
D. HTTP được sử dụng cho web tĩnh, còn HTTPS cho web động.
27. Tại sao nên sử dụng mã nguồn mở (open source) trong phát triển phần mềm?
A. Mã nguồn mở luôn miễn phí và không cần bản quyền.
B. Mã nguồn mở cho phép cộng đồng cùng đóng góp, sửa lỗi và cải tiến phần mềm, tăng tính minh bạch và bảo mật.
C. Mã nguồn mở luôn có hiệu năng tốt nhất.
D. Mã nguồn mở dễ sử dụng hơn mã nguồn đóng.
28. Thuật ngữ "Big Data" dùng để chỉ điều gì?
A. Dữ liệu được lưu trữ trên các ổ cứng dung lượng lớn.
B. Dữ liệu có kích thước, độ phức tạp và tốc độ tạo ra quá lớn, khiến các công cụ xử lý dữ liệu truyền thống không thể đáp ứng.
C. Dữ liệu được tạo ra bởi các công ty lớn.
D. Dữ liệu được sử dụng để phân tích xu hướng thị trường.
29. AI ethics (đạo đức AI) là gì và tại sao nó quan trọng?
A. Một bộ quy tắc lập trình AI.
B. Một lĩnh vực nghiên cứu về các vấn đề đạo đức và xã hội phát sinh từ việc phát triển và sử dụng AI, nhằm đảm bảo AI được sử dụng một cách có trách nhiệm, công bằng và không gây hại cho con người.
C. Một chứng chỉ cho các nhà phát triển AI.
D. Một loại thuật toán AI.
30. Docker là gì và nó được sử dụng để làm gì trong phát triển phần mềm?
A. Một ngôn ngữ lập trình mới.
B. Một nền tảng cho phép đóng gói ứng dụng và các phụ thuộc của nó vào trong một container, giúp triển khai ứng dụng dễ dàng và nhất quán trên nhiều môi trường khác nhau.
C. Một công cụ quản lý dự án.
D. Một công cụ kiểm thử hiệu năng.