1. Ngôn ngữ lập trình nào sau đây thường được sử dụng để phát triển các ứng dụng web front-end?
A. Python
B. Java
C. JavaScript
D. C++
2. Ngôn ngữ lập trình C# thường được sử dụng phổ biến trong lĩnh vực nào?
A. Phát triển ứng dụng di động trên iOS.
B. Phát triển trò chơi điện tử với Unity và ứng dụng Windows.
C. Phân tích dữ liệu khoa học.
D. Thiết kế đồ họa 3D.
3. Công việc của một "QA Tester" (Kiểm thử viên chất lượng) trong một dự án phần mềm là gì?
A. Viết mã nguồn cho các tính năng mới.
B. Thiết kế giao diện người dùng.
C. Tìm kiếm và báo cáo lỗi trong phần mềm.
D. Quản lý dự án và phân công công việc.
4. Ai là người chịu trách nhiệm thiết kế cấu trúc và luồng hoạt động tổng thể của một phần mềm?
A. Nhà phát triển Front-end.
B. Kiểm thử viên.
C. Kiến trúc sư phần mềm (Software Architect).
D. Nhà quản lý dữ liệu.
5. Ai là người chịu trách nhiệm chính trong việc định hướng và quản lý toàn bộ quá trình phát triển sản phẩm phần mềm?
A. Lập trình viên Front-end.
B. Người dùng cuối.
C. Quản lý dự án (Project Manager).
D. Nhà thiết kế UI.
6. Trong nhóm nghề thiết kế và lập trình, hoạt động nào sau đây không phải là một nhiệm vụ chính?
A. Lập trình để tạo ra các chức năng của phần mềm.
B. Thiết kế giao diện người dùng (UI/UX) cho sản phẩm.
C. Thi công xây dựng các công trình dân dụng.
D. Kiểm thử và sửa lỗi phần mềm.
7. Một nhà thiết kế đồ họa (Graphic Designer) làm việc trong lĩnh vực công nghệ thông tin thường tạo ra những sản phẩm gì?
A. Mạch điện tử cho máy tính.
B. Biểu tượng (icons), banner quảng cáo số, hình ảnh minh họa cho ứng dụng.
C. Thuật toán tìm kiếm.
D. Cơ sở dữ liệu.
8. Một nhà phân tích dữ liệu (Data Analyst) trong lĩnh vực công nghệ thông tin có vai trò gì?
A. Viết các chương trình máy tính.
B. Thiết kế bố cục trang web.
C. Thu thập, làm sạch, phân tích dữ liệu và đưa ra các báo cáo, hiểu biết.
D. Quản lý hệ thống mạng.
9. Yếu tố nào sau đây KHÔNG phải là kỹ năng cần thiết cho một nhà thiết kế giao diện người dùng (UI Designer)?
A. Khả năng sáng tạo và thẩm mỹ.
B. Hiểu biết về hành vi người dùng.
C. Kỹ năng sửa chữa phần cứng máy tính.
D. Kiến thức về các nguyên tắc thiết kế.
10. Nguyên tắc "DRY" (Don"t Repeat Yourself) trong lập trình khuyến khích điều gì?
A. Viết lại mã nguồn nhiều lần để dễ hiểu.
B. Tránh việc lặp lại mã nguồn không cần thiết bằng cách sử dụng các hàm, lớp hoặc module.
C. Sử dụng nhiều biến cho cùng một giá trị.
D. Tạo ra các đoạn mã dài và phức tạp.
11. Trong thiết kế web, thuật ngữ "responsive design" có nghĩa là gì?
A. Thiết kế web chỉ dành cho máy tính để bàn.
B. Thiết kế web có khả năng tự điều chỉnh bố cục để hiển thị tốt trên nhiều kích thước màn hình khác nhau (máy tính, tablet, điện thoại).
C. Thiết kế web tập trung vào hoạt ảnh phức tạp.
D. Thiết kế web chỉ sử dụng một ngôn ngữ lập trình duy nhất.
12. Ngôn ngữ lập trình SQL (Structured Query Language) chủ yếu được sử dụng cho mục đích gì?
A. Thiết kế giao diện người dùng.
B. Quản lý và truy vấn dữ liệu trong các hệ quản trị cơ sở dữ liệu quan hệ.
C. Lập trình các ứng dụng di động.
D. Phát triển các trò chơi 3D phức tạp.
13. Ngôn ngữ lập trình Python được đánh giá cao về điều gì trong việc học tập và ứng dụng ban đầu?
A. Tốc độ xử lý nhanh nhất trong mọi trường hợp.
B. Cú pháp đơn giản, dễ đọc, dễ học.
C. Chỉ có thể dùng để phát triển game.
D. Yêu cầu kiến thức toán học chuyên sâu.
14. Trong lĩnh vực thiết kế và lập trình, thuật ngữ "API" (Application Programming Interface) thường được hiểu là gì?
A. Một loại máy tính mới.
B. Một bộ các 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 phương pháp mã hóa dữ liệu.
D. Một công cụ để vẽ biểu đồ.
15. Một nhà phát triển phần mềm (Software Developer) có trách nhiệm chính là gì?
A. Thiết kế kiến trúc của tòa nhà.
B. Viết, kiểm thử và duy trì mã nguồn phần mềm.
C. Quản lý chiến dịch marketing online.
D. Sản xuất nội dung trên mạng xã hội.
16. Ngôn ngữ lập trình Java thường được biết đến với khả năng nào?
A. Chỉ dùng để phát triển ứng dụng di động Android.
B. Khả năng chạy trên nhiều nền tảng khác nhau ("Write Once, Run Anywhere").
C. Tối ưu cho việc xử lý đồ họa 3D thời gian thực.
D. Cú pháp rất ngắn gọn và ít ký tự.
17. Khái niệm "Agile Methodology" trong phát triển phần mềm nhấn mạnh vào điều gì?
A. Tuân thủ quy trình cứng nhắc và tài liệu hóa chi tiết từ đầu.
B. Sự hợp tác chặt chẽ, phản hồi nhanh chóng và khả năng thích ứng với sự thay đổi.
C. Tập trung vào việc hoàn thành toàn bộ dự án trong một lần giao hàng lớn.
D. Giảm thiểu sự tương tác giữa các thành viên trong nhóm.
18. Trong quá trình phát triển phần mềm, giai đoạn nào tập trung vào việc xác định rõ ràng các yêu cầu chức năng và phi chức năng của sản phẩm?
A. Giai đoạn triển khai (Deployment).
B. Giai đoạn bảo trì (Maintenance).
C. Giai đoạn thu thập và phân tích yêu cầu (Requirements Gathering and Analysis).
D. Giai đoạn kiểm thử (Testing).
19. Khái niệm "UI/UX" trong thiết kế phần mềm liên quan đến điều gì?
A. Tốc độ xử lý của vi xử lý.
B. Giao diện người dùng và trải nghiệm người dùng.
C. Bảo mật hệ thống mạng.
D. Chi phí sản xuất phần cứng.
20. Nhà phát triển game (Game Developer) thường cần có kiến thức sâu về những lĩnh vực nào kết hợp?
A. Kỹ thuật xây dựng, vật lý học.
B. Lập trình, thiết kế đồ họa, âm thanh và đôi khi là thiết kế trò chơi (game design).
C. Luật pháp, kinh tế.
D. Y tế, sinh học.
21. Người làm nghề lập trình thường sử dụng các công cụ nào để viết và thực thi mã nguồn?
A. Máy ảnh kỹ thuật số và phần mềm chỉnh sửa ảnh.
B. Máy gia công CNC và phần mềm CAD.
C. Môi trường phát triển tích hợp (IDE) và trình biên dịch/thông dịch.
D. Máy quét 3D và phần mềm mô phỏng.
22. Công cụ nào sau đây là một ví dụ về hệ thống quản lý phiên bản (Version Control System) phổ biến?
A. Microsoft Word
B. Adobe Photoshop
C. Git
D. Visual Studio Code
23. Theo sách giáo khoa Tin học 10, sách Cánh Diều, nhóm nghề nào sau đây có vai trò quan trọng trong việc tạo ra các sản phẩm phần mềm, ứng dụng và trò chơi điện tử?
A. Nhóm nghề thiết kế đồ họa và kỹ thuật viên sửa chữa máy tính.
B. Nhóm nghề thiết kế và lập trình.
C. Nhóm nghề quản trị mạng và an ninh mạng.
D. Nhóm nghề phân tích dữ liệu và trí tuệ nhân tạo.
24. Trong một dự án phát triển ứng dụng di động, ai là người tập trung vào việc viết mã cho các chức năng phía máy chủ và cơ sở dữ liệu?
A. Lập trình viên Front-end.
B. Nhà thiết kế UX.
C. Lập trình viên Back-end.
D. Tester.
25. Một "Product Owner" (Chủ sản phẩm) trong các phương pháp phát triển Agile có vai trò gì?
A. Viết mã nguồn cho các tính năng được ưu tiên.
B. Định nghĩa và ưu tiên các yêu cầu của sản phẩm, làm cầu nối giữa khách hàng và đội phát triển.
C. Quản lý hạ tầng máy chủ.
D. Thiết kế cơ sở dữ liệu.