wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Ôn tập PMMNM 1

Total questions: 119

Worksheet time: 59mins

Name
Class
Date
1.
Theo UNESCO (12/05/2021), định nghĩa nào mô tả đúng về Phần mềm nguồn mở (PMNM)?
a)
PMNM là phần mềm mà mã nguồn được giữ kín…
b)
PMNM là phần mềm miễn phí, không cần giấy phép
c)
PMNM gồm các phần mềm có mã nguồn công khai, sửa đổi được, chia sẻ tự do…
d)
PMNM chỉ dùng cho cá nhân, không phân phối lại
2.
Một trong những lợi ích chính của PMNM là gì?
a)
PMNM có giá thành cao hơn phần mềm độc quyền
b)
PMNM do nhóm nhỏ phát triển, kiểm soát chặt
c)
PMNM do cộng đồng phát triển, dễ tìm lỗi, dễ tiếp cận
d)
PMNM hạn chế khả năng sửa đổi
3.
Đâu không phải là một trong bốn quyền tự do cơ bản của Phần mềm tự do (PMTD)?
a)
Quyền tự do sử dụng phần mềm vì bất kỳ mục đích gì
b)
Quyền tự do phân phối phần mềm
c)
Quyền tự do sửa đổi phần mềm
d)
Quyền tự do bán phần mềm với giá tùy ý mà không cần giấy phép
4.
Tại Việt Nam, phần mềm tự do và phần mềm nguồn mở được gọi chung là gì?
a)
Phần mềm độc quyền
b)
Phần mềm thương mại
c)
Phần mềm tự do nguồn mở (FOSS)
d)
Phần mềm đóng gói
5.
Giấy phép sử dụng phần mềm (License) có vai trò gì?
a)
Bắt buộc người dùng trả tiền để sử dụng
b)
Cấm người dùng khai thác phần mềm
c)
Là hợp đồng cho phép người dùng khai thác, quy định quyền hạn
d)
Chỉ áp dụng cho phần mềm nguồn mở
6.
Điểm khác biệt giữa giấy phép PMTDNM và PM độc quyền (EULA)?
a)
Cả hai đều có nội dung cấm đoán
b)
Giấy phép PMTDNM thường trao quyền, còn PM độc quyền thường cấm đoán
c)
Giấy phép PMTDNM hạn chế số máy cài đặt
d)
Giấy phép PMNĐ cho phép sửa đổi mã nguồn
7.
Trong giấy phép PMNM, loại nào được gọi là "dễ dãi" (Permissive)?
a)
Strong copyleft license
b)
Weak copyleft license
c)
Permissive/non-copyleft license
d)
Giấy phép FSF
8.
Ai là người tạo ra Nhân Linux và vào năm nào?
a)
Richard Stallman, 1983
b)
Bill Gates, 1985
c)
Linus Torvald, 1991
d)
Steve Jobs, 1976
9.
Nhân Linux được phát hành dưới giấy phép nào?
a)
Giấy phép độc quyền
b)
Giấy phép GPL
c)
Giấy phép Creative Commons
d)
Giấy phép MIT
10.
Dự án GNU bắt đầu bởi Richard Stallman năm 1983 với mục đích gì?
a)
Tạo hệ điều hành độc quyền mới
b)
Phát triển ngôn ngữ lập trình mới
c)
Tạo hệ điều hành tựa Unix
d)
Phát triển bộ phần mềm văn phòng
11.
Ubuntu là một bản phân phối Linux phát hành bởi công ty nào?
a)
Red Hat
b)
Novell
c)
Canonical
d)
IBM
12.
Trong Ubuntu 20.04.5 LTS, “LTS” có nghĩa gì?
a)
Limited Technical Support
b)
Long Term Stability
c)
Long Term Support (3–5 năm)
d)
Latest Technology Standard
13.
Tên gọi tương đương của LibreOffice Writer trong bộ MS Office là gì?
a)
MS Excel
b)
MS PowerPoint
c)
MS Word
d)
MS Access
14.
Trong hệ thống tập tin Linux, thư mục gốc được ký hiệu là gì?
a)
~
b)
.
c)
..
d)
/
15.
Đâu là thư mục chứa các lệnh cơ bản cho mọi người dùng trong Linux?
a)
/root
b)
/etc
c)
/bin
d)
/usr
16.
Giá trị số thập phân để biểu diễn quyền ghi (write) trên Linux là gì?
a)
4
b)
2
c)
1
17.
Nếu tập tin có quyền 755, điều đó có nghĩa gì?
a)
Tất cả nhóm có toàn quyền
b)
Chủ sở hữu có quyền đọc & ghi, nhóm khác không có
c)
Chủ sở hữu có toàn quyền, nhóm khác chỉ đọc & thực thi mà không có quyền ghi
d)
Chủ sở hữu đọc, ghi, thực thi; nhóm có quyền đọc; nhóm khác chỉ đọc
18.
Lệnh nào dùng để đổi thư mục hiện hành trong Linux?
a)
ls
b)
pwd
c)
cd
d)
mkdir
19.
Lệnh ls để liệt kê tất cả tập tin kể cả file ẩn dùng tùy chọn nào?
a)
-l
b)
-r
c)
-d
d)
-a
20.
Lệnh rm -d cache dùng để làm gì?
a)
Xóa tập tin cache
b)
Xóa thư mục cache và toàn bộ nội dung
c)
Đổi tên thư mục cache
d)
Xóa thư mục cache rỗng trong thư mục hiện hành
21.
Để thêm quyền ghi cho nhóm sở hữu của tập tin exam.txt, lệnh chmod nào đúng?
a)
chmod u+w exam.txt
b)
chmod o+w exam.txt
c)
chmod g+w exam.txt
d)
chmod a+w exam.txt
22.
Lệnh nào dùng để cài đặt phần mềm wget bằng apt-get?
a)
sudo apt-get remove wget
b)
sudo apt-cache search wget
c)
sudo apt-get upgrade wget
d)
sudo apt-get install wget
23.
Shell là gì trong Linux/Unix?
a)
Trình biên dịch mã nguồn
b)
Hệ thống quản lý tập tin
c)
Chương trình thông dịch lệnh
d)
Ứng dụng đồ họa
24.
Loại Shell phổ biến nhất trên Linux là gì?
a)
Sh (Bourne Shell)
b)
Csh (C Shell)
c)
Ksh (Korn Shell)
d)
Bash (Bourne Again Shell)
25.
Shell Script được định nghĩa như thế nào?
a)
Chương trình biên dịch C trên Linux
b)
Tập tin cấu hình hệ thống
c)
Tập hợp lệnh trong file, chạy tuần tự
d)
Công cụ quản lý người dùng
26.
Để cấp quyền thực thi cho script.sh, lệnh nào đúng?
a)
run script.sh
b)
execute script.sh
c)
chmod +x script.sh
d)
sudo script.sh
27.
Trong Shell Script, biến $# có ý nghĩa gì?
a)
Tên của Shell Script
b)
Danh sách tất cả tham số
c)
Số lượng tham số (không tính $0)
d)
Giá trị tham số cuối cùng
28.
Để nhập giá trị từ bàn phím và lưu vào biến, dùng lệnh nào?
a)
print
b)
echo
c)
get
d)
read
29.
Lệnh echo -e "Line 1 \nLine2" hiển thị kết quả thế nào?
a)
Line 1 \nLine2
b)
Line 1Line2
c)
Line 1 Line2
d)
Line 1
30.
Cú pháp pipeline đúng để chuyển output command1 thành input command2?
a)
command1 & command2
b)
command1 < command2
c)
command1 | command2
d)
command1 > command2
31.
Trong Shell Script, toán tử số học nào dùng để lấy dư?
a)
+
b)
-
c)
*
d)
%
32.
Toán tử so sánh chuỗi nào kiểm tra str1 khác str2?
a)
=
b)
!=
c)
-z
d)
=-_xleta.N
33.
Lệnh let trong Shell dùng để làm gì?
a)
Thực hiện phép toán số thực
b)
Xử lý văn bản, tính toán phức tạp
c)
Thực hiện phép toán số nguyên
d)
Hiển thị giá trị ra màn hình
34.
Lệnh nào dùng để tính toán số thực, hỗ trợ làm tròn, lũy thừa?
a)
let
b)
awk
c)
bc
d)
expr
35.
Cấu trúc if-elif-else trong Shell Script dùng khi nào?
a)
Kiểm tra điều kiện đơn giản
b)
Thực hiện khối lệnh khác nếu sai
c)
Khi có nhiều điều kiện cần kiểm tra
d)
Khi có nhiều lựa chọn, mỗi lựa chọn có khối lệnh riêng
36.
Lệnh nào dùng để thoát khỏi vòng lặp trong Shell Script?
a)
continue
b)
exit
c)
return
d)
break
37.
Trong Shell Script, để khai báo biến cục bộ trong hàm dùng từ khóa nào?
a)
global
b)
static
c)
var
d)
local
38.
Theo Eric S. Raymond, “Mô hình Nhà thờ” đại diện cho phương thức phát triển nào?
a)
Phát triển mở, cộng đồng đóng góp trực tiếp
b)
Phát triển truyền thống, tập trung, kiểm soát chặt
c)
Quy trình kiểm thử, sửa lỗi phân tán
d)
Cộng đồng quyết định hướng đi dự án
39.
Ví dụ điển hình cho Mô hình Nhà thờ là gì?
a)
Linux kernel
b)
Python
c)
Mozilla Firefox
d)
GCC thời kỳ đầu
40.
Đặc điểm nổi bật của “Mô hình Chợ” (Bazaar Model) là gì?
a)
Phát triển nhóm nhỏ, đóng kín
b)
Chỉ công bố mã nguồn khi ổn định
c)
Phát triển mở từ đầu, cộng đồng đóng góp trực tiếp
d)
Kiểm soát chất lượng chặt, dễ quản lý phiên bản
41.
Dự án phần mềm nào là ví dụ điển hình cho Mô hình Chợ?
a)
GCC thời kỳ đầu
b)
Mozilla Firefox
c)
Apache HTTP Server
d)
Linux kernel
42.
Đặc điểm mô hình phát triển hướng cộng đồng là gì?
a)
Người bảo trì kiểm soát hoàn toàn dự án
b)
Cộng đồng quyết định hướng, bảo trì chỉ điều phối
c)
Chỉ một nhóm nhỏ lập trình viên tham gia
d)
Mã nguồn phát hành sau khi hoàn thiện
43.
PEP (Python Enhancement Proposal) là gì?
a)
Loại giấy phép phần mềm nguồn mở
b)
Trình biên dịch Python
c)
Tài liệu thiết kế mô tả tính năng mới hoặc thay đổi trong Python
d)
Hệ thống quản lý phiên bản cho dự án Python
44.
Lệnh gcc nào biên dịch hello.c và tạo file thực thi hello?
a)
gcc hello.c (a.out)
b)
gcc -c hello.c (hello.o)
c)
gcc -o hello hello.c
d)
gcc -Wall hello.c
45.
Thư mục chuẩn lưu trữ header file khi lập trình C trên Linux?
a)
/lib
b)
/usr/lib
c)
/usr/include
d)
/bin
46.
Khi biên dịch C dùng thư viện toán học math.h, gcc cần tùy chọn nào?
a)
-c
b)
-o
c)
-Wall
d)
-lm
47.
Quy tắc đặt tên thư viện tĩnh (static library) trong Linux?
a)
libIndicat.so
b)
Indicat.a
c)
libIndicat.a
d)
Indicat.so
48.
Tiện ích make dùng để làm gì?
a)
Cài đặt gói phần mềm
b)
Quản lý user & group
c)
Giúp lập trình viên tránh gõ lại lệnh biên dịch, tiết kiệm thời gian
d)
Soạn thảo văn bản
49.
Makefile có mấy thành phần chính?
a)
2
b)
3 (mục tiêu, phụ thuộc, luật)
c)
4
d)
5
50.
Hệ thống quản lý phiên bản (VCS) là gì?
a)
Công cụ kiểm soát chất lượng phần mềm
b)
Trình biên dịch mã nguồn
c)
Công cụ theo dõi, quản lý lịch sử thay đổi mã nguồn
d)
Một hệ điều hành
51.
Lợi ích chính của VCS là gì?
a)
Giúp giảm chi phí mua phần mềm
b)
Chỉ hỗ trợ làm việc cá nhân
c)
Hạn chế theo dõi thay đổi mã nguồn
d)
Theo dõi thay đổi, phục hồi phiên bản cũ, hỗ trợ làm việc nhóm
52.
Subversion (SVN) thuộc loại VCS nào?
a)
VCS phân tán (DVCS)
b)
VCS tập trung (CVCS)
c)
VCS cục bộ
d)
VCS đám mây
53.
Nhược điểm chính của Subversion (SVN) là gì?
a)
Khó cài đặt và sử dụng
b)
Không hỗ trợ phân nhánh và sáp nhập
c)
Phụ thuộc vào máy chủ trung tâm, khi lỗi toàn hệ thống gián đoạn
d)
Tốc độ xử lý chậm
54.
Ai phát triển Git và vào năm nào?
a)
Richard Stallman, 1983
b)
Linus Torvalds, 2005
c)
Eric S. Raymond, 1997
d)
Guido van Rossum, 1991
55.
Ưu điểm nổi bật của Git so với SVN là gì?
a)
Dễ cài đặt hơn
b)
Có thể làm việc offline, không cần máy chủ
c)
Phụ thuộc vào máy chủ trung tâm
d)
Phân nhánh và sáp nhập phức tạp hơn
56.
Trong Git, lệnh nào dùng để đẩy thay đổi từ local lên server?
a)
Clone
b)
Commit
c)
Pull
d)
Push
57.
So với SVN, Git phổ biến thế nào?
a)
Ít phổ biến hơn trong dự án nhỏ và vừa
b)
Phổ biến hơn trong mã nguồn mở và dự án lớn
c)
Chỉ phổ biến trong doanh nghiệp vừa và nhỏ
d)
Có mức phổ biến tương đương
58.
Lệnh git add hello.txt có tác dụng gì?
a)
Xóa file hello.txt
b)
Commit file vào repository
c)
Thêm file vào staging để chuẩn bị commit
d)
Xem trạng thái file
59.
Lệnh nào xem lịch sử commit trong Git?
a)
git status
b)
git log
c)
git diff
d)
git branch
60.
Để tạo nhánh mới tên new-feature trong Git, lệnh nào đúng?
a)
git checkout new-feature
b)
git merge new-feature
c)
git branch new-feature
d)
git branch -d new-feature
61.
Mục đích của file .gitignore trong Git là gì?
a)
Đổi tên file
b)
Nén file
c)
Loại bỏ file không cần theo dõi trong Git
d)
Sao chép file
62.
Khi muốn lưu trữ thay đổi tạm thời mà không cần commit trong Git, dùng lệnh nào?
a)
git reset
b)
git rebase
c)
git commit --amend
d)
git stash
63.
Lệnh git log --oneline --graph --all dùng để làm gì?
a)
Tìm kiếm chuỗi trong file
b)
Xem nội dung file tại commit cụ thể
c)
Xem lịch sử commit dưới dạng biểu đồ phân nhánh
d)
Xem các nhánh từ xa
64.
Tập tin nào được gọi là mã nguồn phần mềm?
a)
Cong.exe sau biên dịch
b)
Cong.pdf tài liệu hướng dẫn
c)
Cong.c chứa mã lập trình
d)
Cong.zip đã nén
65.
Theo bản thảo UNESCO 2021, giấy phép mở của PMNM trao quyền gì?
a)
Chỉ sử dụng và chia sẻ
b)
Chỉ sử dụng và sửa đổi cho mục đích cá nhân
c)
Chỉ sử dụng, không tạo tác phẩm phái sinh
d)
Sử dụng, sửa đổi, mở rộng, chia sẻ, nghiên cứu, tạo tác phẩm phái sinh
66.
Lợi ích nào không phải lợi ích của PMNM?
a)
Dễ tìm lỗi nhờ cộng đồng rộng
b)
Mỗi thành viên tập trung cải tiến
c)
Giúp nhiều người có điều kiện tiếp cận hơn
d)
Đảm bảo bảo mật tuyệt đối, không lỗ hổng
67.
Khi nào phần mềm được gọi là “Phần mềm tự do”?
a)
Khi được cung cấp miễn phí
b)
Người dùng có quyền phân phối nhưng không sửa đổi
c)
Người dùng có 4 quyền tự do: dùng, phân phối, sửa đổi, phân phối bản sửa đổi
d)
Khi phần mềm thuộc tổ chức phi lợi nhuận
68.
Giấy phép PM độc quyền (EULA) thường có nội dung gì?
a)
Trao quyền tự do sử dụng và sửa đổi
b)
Thường cấm đoán, hạn chế số máy cài đặt hoặc người dùng
c)
Cho phép tạo tác phẩm phái sinh không cần phép
d)
Khuyến khích chia sẻ rộng rãi
69.
Trong giấy phép PMNM, “Copyleft licenses” mô tả loại nào?
a)
Dễ dãi (Permissive)
b)
Khó tính (Copyleft)
c)
Có thỏa thuận nhượng lại bản quyền (CAL)
d)
Không giới hạn quyền người dùng
70.
Có bao nhiêu loại giấy phép PMNM được đề cập?
a)
2 loại: dễ dãi và khó tính
b)
Hơn 70 loại khác nhau
c)
Chỉ có GPL
d)
Không giới hạn số lượng
71.
Dự án GNU do Richard Stallman khởi xướng năm 1983 với mục tiêu gì?
a)
Phát triển bộ phần mềm văn phòng độc quyền
b)
Tạo trình biên dịch mới cho ngôn ngữ C
c)
Tạo hệ điều hành tựa Unix
d)
Phát triển giao diện đồ họa mới
72.
Giấy phép GPL được định nghĩa và sử dụng trong dự án nào?
a)
Nhân Linux
b)
Dự án GNU
c)
Dự án Ubuntu
d)
Dự án Debian
73.
Trong Ubuntu, LTS nghĩa là gì?
a)
Hỗ trợ kỹ thuật giới hạn
b)
Hỗ trợ dài hạn 3–5 năm
c)
Phiên bản dành riêng cho máy chủ
d)
Phiên bản ổn định cao nhưng ít cập nhật
74.
LibreOffice Impress tương đương với ứng dụng nào trong MS Office?
a)
MS Word
b)
MS Excel
c)
MS PowerPoint
d)
MS Access
75.
Điểm khác biệt chính của hệ thống tập tin Linux so với Windows?
a)
Linux dùng ổ đĩa phân chia dữ liệu
b)
Linux chỉ có một cây thư mục gốc "/"
c)
Linux không phân biệt hoa thường trong tên file
d)
Linux không có thư mục home
76.
Thư mục /etc trong Linux chứa gì?
a)
Các lệnh cơ bản
b)
Thông tin khởi động
c)
Các tập tin cấu hình hệ thống
d)
Các tập tin thiết bị phần cứng
77.
Quyền “thực thi” (execute) trong Linux có giá trị thập phân bao nhiêu?
a)
4
b)
1
c)
2
78.
Nếu file có quyền 764, điều đó có nghĩa gì?
a)
Tất cả nhóm có toàn quyền
b)
Chủ sở hữu có quyền đọc, ghi, thực thi; nhóm có quyền đọc, thực thi; nhóm khác có quyền đọc
c)
Chủ sở hữu toàn quyền (7), nhóm có quyền đọc & ghi (6), nhóm khác chỉ đọc (4)
d)
Chủ sở hữu chỉ có quyền đọc; nhóm có quyền đọc, ghi; nhóm khác thực thi
79.
Lệnh chmod g=r exam.txt có tác dụng gì?
a)
Thêm quyền đọc cho chủ sở hữu
b)
Gán quyền ghi cho nhóm sở hữu
c)
Gán quyền chỉ đọc cho nhóm sở hữu, bỏ quyền cũ
d)
Thêm quyền thực thi cho tất cả
80.
Lệnh nào hiển thị tùy chọn trợ giúp tóm tắt của lệnh Linux?
a)
man <lệnh>
b)
<lệnh> --help
c)
<lệnh> -info
d)
help <lệnh>
81.
Lệnh cd nào để chuyển về thư mục home của người dùng?
a)
cd ..
b)
cd ...
c)
cd /home/
d)
cd ~
82.
Lệnh rm --rd cache dùng để làm gì?
a)
Xóa tập tin cache
b)
Xóa thư mục cache rỗng trong thư mục hiện hành
c)
Xóa thư mục cache và toàn bộ nội dung (đệ quy)
d)
Đổi tên thư mục cache
83.
Lệnh nào chuyển nội dung file passwd sang test.txt, ghi nối vào cuối nếu có sẵn?
a)
cat /etc/passwd > ./test.txt
b)
cat /etc/passwd | ./test.txt
c)
cat /etc/passwd < ./test.txt
d)
cat /etc/passwd >> ./test.txt
84.
Lệnh tar -cfzv exam.tar.gz /home/exam có tác dụng gì?
a)
Giải nén file exam.tar.gz
b)
Nén thư mục /home/exam thành exam.tar
c)
Liệt kê nội dung exam.tar.gz
d)
Nén thư mục /home/exam thành exam.tar.gz và hiển thị tiến trình
85.
Khi tạo user mới bằng useradd không chỉ định nhóm chính, điều gì xảy ra?
a)
Gán vào nhóm users mặc định
b)
Tạo nhóm cùng tên với user và gán vào
c)
User không có nhóm chính
d)
Báo lỗi, yêu cầu chỉ định nhóm
86.
Lệnh usermod -U vhdang có tác dụng gì?
a)
Thay đổi UID
b)
Khóa tài khoản
c)
Đổi tên đăng nhập
d)
Mở khóa tài khoản bị khóa
87.
Lệnh nào dùng để xóa một nhóm người dùng?
a)
userdel <tên nhóm>
b)
groupmod <tên nhóm>
c)
groupdel <tên nhóm>
d)
gpasswd -d <tên nhóm>
88.
Lệnh sudo apt-get update dùng để làm gì?
a)
Cài đặt phần mềm
b)
Xóa phần mềm
c)
Cập nhật danh sách gói phần mềm trong repo
d)
Nâng cấp gói lên bản mới nhất
89.
Chương trình thông dịch lệnh trong Linux/Unix gọi là gì?
a)
Trình biên dịch
b)
Hệ điều hành
c)
Shell
d)
Kernel
90.
Đâu không phải là loại Shell thông dụng?
a)
Bash
b)
Sh
c)
Csh
d)
Python Shell
91.
Trong Shell Script, để hiển thị tên của Shell Script (chương trình đang chạy), biến nào được dùng?
a)
$#
b)
$*
c)
$@
92.
Điểm khác biệt giữa biến hệ thống và biến tự tạo trong Shell Script?
a)
Biến hệ thống do lập trình viên tạo, chữ thường; biến tự tạo do hệ thống tạo, chữ hoa
b)
Biến hệ thống do hệ thống tạo, chữ hoa; biến tự tạo do lập trình viên tạo, chữ thường
c)
Cả hai đều do lập trình viên tạo, chữ thường
d)
Biến hệ thống lưu số, biến tự tạo lưu chuỗi
93.
Trong Shell Script, tùy chọn -n của lệnh echo có tác dụng gì?
a)
Thông dịch ký tự đặc biệt như \n
b)
Xuống hàng sau khi hiển thị
c)
Không xuống hàng sau khi hiển thị
d)
Hiển thị ra file thay vì màn hình
94.
Cú pháp chuyển hướng nhập từ file input_file cho command là gì?
a)
command > input_file
b)
command >> input_file
c)
command < input_file
d)
command | input_file
95.
Lệnh ls -l | grep ^d | wc -l dùng để làm gì?
a)
Liệt kê tất cả tập tin ẩn
b)
Đếm số thư mục (không tính thư mục ẩn) trong thư mục hiện hành
c)
Đếm tổng số tập tin và thư mục
d)
Hiển thị nội dung file grep
96.
Trong Shell Script, toán tử số học nào kiểm tra “Lớn hơn hoặc bằng”?
a)
-gt
b)
-lt
c)
-eq
d)
-ge
97.
Toán tử tập tin nào kiểm tra một file có tồn tại?
a)
-f
b)
-d
c)
-e
d)
-s
98.
Lệnh let count++ trong Shell Script có tác dụng gì?
a)
count = count + 2
b)
Tăng count lên 1
c)
Giảm count đi 1
d)
Khai báo biến mới count
99.
Sự khác biệt chính giữa let và bc là gì?
a)
let hỗ trợ số thực, bc chỉ số nguyên
b)
let xử lý văn bản, bc tính toán số học
c)
let hỗ trợ làm tròn, lũy thừa; bc thì không
d)
let tính toán số nguyên, bc tính toán số thực, phức tạp hơn
100.
Trong cấu trúc case của Shell Script, ký tự ;; có ý nghĩa gì?
a)
Kết thúc case
b)
Bắt đầu lựa chọn mới
c)
Kết thúc khối lệnh 1 lựa chọn, chuyển sang lựa chọn khác
d)
Tạo biến mới trong khối lệnh
101.
Vòng lặp until trong Shell Script hoạt động như thế nào?
a)
Lặp khi điều kiện còn đúng
b)
Lặp khi điều kiện sai
c)
Lặp qua tập hợp giá trị cụ thể
d)
Lặp vô hạn đến khi bị ngắt
102.
Để khai báo biến cục bộ trong hàm Shell Script, từ khóa nào được dùng?
a)
global
b)
var
c)
local
d)
static
103.
Giá trị trả về của hàm trong Shell Script (biến $?) có ý nghĩa gì?
a)
1 nếu thành công, 0 nếu thất bại
b)
Là kết quả tính toán của hàm
c)
0 nếu thành công, khác 0 nếu lỗi
d)
Không có ý nghĩa cụ thể
104.
Theo Eric S. Raymond, “Mô hình Nhà thờ” có đặc điểm gì về công bố mã nguồn?
a)
Phát hành sớm và thường xuyên
b)
Cộng đồng đóng góp trực tiếp ngay từ đầu
c)
Mã nguồn chỉ phát hành sau khi hoàn thiện
d)
Quy trình kiểm thử, sửa lỗi phân tán
105.
Ưu điểm chính của Mô hình Nhà thờ là gì?
a)
Phản hồi nhanh từ cộng đồng
b)
Tốc độ phát triển nhanh
c)
Kiểm soát chất lượng chặt chẽ, dễ quản lý phiên bản
d)
Yêu cầu cộng đồng tham gia tích cực
106.
Ví dụ điển hình cho Mô hình Chợ (Bazaar Model) là gì?
a)
GCC thời kỳ đầu
b)
Microsoft Office
c)
Linux kernel
d)
Windows OS
107.
Điểm nổi bật của Mô hình cộng tác phân tán là gì?
a)
Tập trung vào máy chủ trung tâm
b)
Sử dụng VCS phân tán (như Git), tối ưu hiệu suất, dễ mở rộng
c)
Cộng đồng quyết định hướng đi dự án qua bình chọn
d)
Chỉ nhóm nhỏ lập trình viên tham gia
108.
Mô hình phát triển nào có đặc điểm cộng đồng quyết định hướng đi, bảo trì điều phối nhưng không kiểm soát hoàn toàn?
a)
Mô hình Nhà thờ
b)
Mô hình Chợ
c)
Mô hình cộng tác phân tán
d)
Mô hình phát triển hướng cộng đồng
109.
Mục đích chính của PEP (Python Enhancement Proposal) là gì?
a)
Tạo giấy phép phần mềm mới
b)
Biên dịch mã nguồn Python
c)
Tài liệu mô tả tính năng mới/thay đổi trong Python, minh bạch quá trình quyết định
d)
Quản lý phiên bản dự án Python
110.
Lệnh gcc nào tạo file .o mà không liên kết khi biên dịch C?
a)
-o
b)
-Wall
c)
-lm
d)
-c
111.
Tập tin mã đối tượng (.o) giúp ích gì trong phát triển phần mềm?
a)
Là tập tin thực thi cuối cùng
b)
Giúp chỉnh sửa 1 file mà không biên dịch lại file khác
c)
Chứa định nghĩa hằng, khai báo hàm
d)
Cung cấp giao diện người dùng đồ họa
112.
Để tham chiếu header file ở thư mục bất kỳ khi biên dịch, gcc dùng tùy chọn nào?
a)
-L
b)
-l
c)
-I
d)
-o
113.
Quy tắc đặt tên thư viện chia sẻ (shared library) trong Linux là gì?
a)
Indicat.a
b)
libIndicat.so
c)
libIndicat.a
d)
Indicat.so
114.
Để biên dịch chương trình C với libm.a, cú pháp ngắn gọn gcc nào đúng?
a)
gcc -o myprog myprog.c /usr/lib/libm.a
b)
gcc -o myprog myprog.c -lm
c)
gcc -o myprog -L/usr/lib myprog.c
d)
gcc -c myprog.c -lm
115.
Tiện ích make giúp tiết kiệm thời gian bằng cách nào?
a)
Luôn biên dịch lại toàn bộ file
b)
Chỉ dịch lại file nguồn bị sửa đổi
c)
Tự động tìm lỗi cú pháp
d)
Kiểm tra phiên bản compiler
116.
Trong Makefile, “Những sự phụ thuộc” (dependencies) có vai trò gì?
a)
Chỉ ra tên file thực thi cuối cùng
b)
Chỉ ra file hoặc mục tiêu phụ thuộc
c)
Định nghĩa biến và hằng
d)
Xác định tùy chọn biên dịch
117.
Macro $(CC) trong Makefile thường dùng để làm gì?
a)
Liệt kê file phụ thuộc sửa đổi gần đây
b)
Xác định trình biên dịch sẽ dùng (vd: gcc)
c)
Chỉ ra tên mục tiêu hiện hành
d)
Đặt tên cho file kết quả biên dịch
118.
Lợi ích chính của hệ thống VCS là gì?
a)
Giảm chi phí phát triển
b)
Tăng tốc độ biên dịch
c)
Theo dõi thay đổi, phục hồi, hỗ trợ làm việc nhóm
d)
Đảm bảo bảo mật tuyệt đối
119.
Subversion (SVN) thuộc loại VCS nào?
a)
VCS tập trung (CVCS)
b)
VCS phân tán (DVCS)
c)
VCS cục bộ
d)
VCS đám mây