Font size
WorksheetsCâu hỏi về hệ thống phân tán
Total questions: 111
Worksheet time: 56mins
Tính chất nào giúp người dùng không nhận thấy tính phân tán của hệ thống?
Tính hiệu quả
Tính trong suốt
Tính đồng bộ
Tính mở
Đặc điểm nào sau đây đúng với hệ thống phân tán?
Giảm khả năng chia sẻ tài nguyên
Phụ thuộc vào một điểm đơn
Khả năng mở rộng linh hoạt
Giảm tính sẵn sàng của hệ thống
Trong hệ thống phân tán, việc che giấu chi tiết cài đặt hệ thống với người dùng là?
Tính đóng
Tính trong suốt
Tính đồng nhất
Tính ảo hóa
Mục tiêu chính của hệ thống phân tán là gì?
Tăng độ trễ
Giảm tính linh hoạt
Cắt giảm tài nguyên
Tăng hiệu quả và khả năng chia sẻ tài nguyên
Khả năng hệ thống tiếp tục hoạt động khi một nút gặp lỗi gọi là gì?
Tính trong suốt
Tính mở
Độ chịu lỗi
Tính liên tục
Yếu tố nào là thách thức lớn nhất của hệ thống phân tán?
Đồng bộ hóa
Truy xuất dữ liệu
Tối ưu giao diện
Lưu trữ tập trung
Giao thức phổ biến dùng để trao đổi dữ liệu trong hệ thống phân tán là gì?
FTP
SNMP
SMTP
REST
Tính mở của hệ phân tán liên quan đến điều gì?
Khả năng tích hợp hệ thống mới dễ dàng
Giới hạn phần cứng
Độc quyền công nghệ
Tính không thể mở rộng
Một ví dụ điển hình của hệ thống tập trung là gì?
Hệ thống P2P
Máy chủ cơ sở dữ liệu trung tâm
Blockchain
Mạng CDN
Trong hệ thống phân tán, tính co giãn (elasticity) nghĩa là gì?
Giao diện dễ thay đổi
Hệ thống không thay đổi
Khả năng mở rộng hoặc thu hẹp tài nguyên linh hoạt
Mô hình định danh linh hoạt
Tại sao cần tính minh bạch về vị trí trong hệ phân tán?
Để dễ dàng bảo trì phần cứng
Giảm chi phí
Tăng hiệu suất người dùng
Để người dùng không cần biết nơi lưu trữ tài nguyên
Điều gì xảy ra khi một nút trong hệ thống phân tán bị lỗi?
Hệ thống cần phát hiện và phục hồi
Tất cả hệ thống sụp đổ
Không ảnh hưởng đến toàn hệ thống
Tự động r
Ưu điểm nào không phải của hệ thống phân tán?
Tính mở rộng
Đơn giản trong phát triển và kiểm thử
Khả năng phục hồi
Chia sẻ tài nguyên
Tính chất nào không liên quan đến hệ thống phân tán?
Tính mở
Tính trong suốt
Tính tập trung
Tính co giãn
Hệ thống phân tán có thể bao gồm?
Một máy chủ chính duy nhất
Các máy tính đơn lẻ không liên kết
Máy chủ trung tâm và các thiết bị ngoại vi
Các máy tính độc lập liên kết qua mạng
Ứng dụng điện toán đám mây thuộc loại hệ thống nào?
Tập trung
Phân tán
Cục bộ
Phi tập trung hoàn toàn
Một hệ thống dùng chung bộ nhớ và tài nguyên gọi là gì?
Hệ thống bảo mật
Hệ thống tập trung
Hệ thống hợp tác
Hệ thống riêng biệt
Khả năng phát hiện lỗi trong hệ thống phân tán phụ thuộc vào?
Các cơ chế giám sát
Cơ sở dữ liệu phân tán
Lập lịch
Phần mềm bên ngoài
Kỹ thuật nào giúp phát hiện lỗi nút trong hệ phân tán?
Token Ring
Heartbeat
VPN
Load Balancer
Tại sao việc xác định nguyên nhân lỗi trong hệ thống phân tán khó?
Quá nhiều người dùng
Do sự phức tạp của giao diện
Do thiếu log
Do thiếu thông tin toàn cục
Giao thức nào phổ biến trong RPC?
UDP
FTP
HTTP
TCP
Trong mô hình client-server, client đóng vai trò gì?
Gửi yêu cầu tới server
Quản lý kết nối mạng
Chia sẻ tài nguyên
Điều phối máy chủ
Một lợi ích của truyền thông không đồng bộ là gì?
Đảm bảo an toàn dữ liệu
Tăng tốc độ mạng
Không cần chờ phản hồi
Phụ thuộc vào server
Kỹ thuật serialize giúp gì trong RPC?
Tăng tốc độ truyền
Truyền dữ liệu giữa các tiến trình
Đồng bộ hóa thời gian
Bảo mật thông tin
Giao thức nào thường dùng trong REST?
HTTP
POP3
SSH
FTP
Middleware đóng vai trò gì trong truyền thông?
Quản lý phần cứng
Tăng tốc hệ thống
Chuyển đổi dữ liệu
Trung gian xử lý yêu cầu và phản hồi
Truyền thông trong hệ thống phân tán yêu cầu gì?
Nhiều CPU
Giao thức đáng tin cậy
Giao diện thân thiện
IP tĩnh
Cơ chế xác nhận lại dữ liệu truyền thường được gọi là gì?
Packet
Token
ACK
Ping
RPC khác gì so với gọi hàm thông thường?
Hàm được gọi ở máy khác
Không cần compile
Không có tham số
Chạy song song
Giao tiếp đồng bộ yêu cầu gì?
Client tự động retry
Client chờ phản hồi từ server
Server giữ kết nối mở vĩnh viễn
Giao thức không trạng thái
Ưu điểm chính của hệ thống message queue là gì?
Dễ bảo trì
Tăng tính bảo mật
Tự động hóa logic nghiệp vụ
Tăng khả năng xử lý song song
Trong mạng phân tán, multicast dùng để?
Gửi riêng tư
Truyền một lần đến một máy
Gửi tới nhiều nút cùng lúc
Mã hóa dữ liệu đầu vào
Truyền thông giữa hai nút phải đảm bảo điều gì?
Bảo mật phần cứng
Khả năng broadcast
Tính toàn vẹn và bảo mật dữ liệu
Địa chỉ IP công khai
Cơ chế nào giúp tránh xung đột truy cập tài nguyên?
Commit log
Lock
Delay
Message buffer
Giao thức TLS cung cấp điều gì?
Bảo mật cho truyền thông
Giảm độ trễ
Tăng băng thông
Giao diện đồ họa
Trong cơ chế publish-subscribe, subscriber nhận dữ liệu khi nào?
Khi server khởi động lại
Khi gọi hàm get()
Khi có thông tin mới được publish
Khi có lỗi xảy ra
Bottleneck trong hệ thống truyền thông là gì?
Dữ liệu bị lặp
Điểm nghẽn làm giảm hiệu suất hệ thống
Bottleneck trong hệ thống truyền thông là gì?
Dữ liệu bị lặp
Điểm nghẽn làm giảm hiệu suất hệ thống
Thiết bị lỗi vật lý
Dữ liệu truyền sai thứ tự
Thách thức chính của truyền thông phân tán là?
Chi phí phần mềm
Giới hạn RAM
Thiếu địa chỉ IP
Độ trễ không đồng đều
Một giải pháp để tăng hiệu suất truyền thông?
Sử dụng firewall
Thay toàn bộ phần mềm
Cache dữ liệu gần người dùng
Mã hóa toàn bộ thông tin
Cơ chế truyền broadcast có thể gây ra?
Nghẽn mạng nếu quá nhiều dữ liệu
Mất kết nối tạm thời
Không hỗ trợ đa luồng
Ghi đè dữ liệu
Trong hệ điều hành, "tiến trình" là gì?
Một đoạn mã đang được viết
Một chương trình đã bị lỗi
Một chương trình đang được thực thi
Một thư mục chứa tập lệnh
Luồng (thread) trong một tiến trình có đặc điểm nào?
Không thể chia sẻ tài nguyên với tiến trình mẹ
Hoạt động hoàn toàn tách biệt
Chia sẻ không gian địa chỉ với tiến trình chính
Cần một hệ điều hành riêng để chạy
Ưu điểm chính của sử dụng luồng thay vì tiến trình trong hệ phân tán là gì?
Dễ viết hơn
Tiết kiệm bộ nhớ và chuyển ngữ cảnh nhanh hơn
Luồng tự động tái cấu trúc hệ thống
Luồng an toàn hơn tiến trình
Khi một luồng bị treo vì I/O, điều gì xảy ra với các luồng khác trong cùng tiến trình?
Tất cả bị dừng
Các luồng khác vẫn hoạt động
Phải khởi động lại toàn bộ tiến trình
Hệ điều hành ngừng xử lý tiến trình
Bảng tiến trình (process table) lưu giữ gì?
Lịch sử truy cập file
Giá trị biến cục bộ
Trạng thái và thông tin điều khiển tiến trình
Dữ liệu mã nguồn
Luồng thuộc loại "lightweight" nghĩa là gì?
Không có bộ nhớ riêng
Không thể chạy đồng thời
Có chi phí tạo và quản lý thấp
Luôn được tạo bởi kernel
Trong hệ thống phân tán, một tiến trình có thể:
Chỉ hoạt động cục bộ
Chia sẻ tài nguyên giữa các máy chủ
Gửi dữ liệu mà không cần mạng
Gọi hàm cục bộ trên client
Một ứng dụng đa luồng thường dùng kỹ thuật nào để xử lý nhiều yêu cầu?
Gọi tuần tự các tác vụ
Tạo nhiều tiến trình con
Tạo nhiều luồng xử lý song song
Phân mảnh dữ liệu
Kernel-level thread có đặc điểm gì?
Không thể giám sát bởi hệ điều hành
Tự do truy cập bộ nhớ của hệ thống
Được quản lý trực tiếp bởi hệ điều hành
Không thể chạy trên đa nhân
User-level thread có hạn chế nào?
Không được hỗ trợ đa nhiệm
Không thể sử dụng tài nguyên hệ thống
Không được hệ điều hành nhận biết trực tiếp
Không thể đồng bộ
Khi một tiến trình bị chuyển ngữ cảnh, dữ liệu nào cần được lưu giữ?
Địa chỉ IP và MAC
Danh sách người dùng
Bộ thanh ghi và con trỏ ngăn xếp
Tập tin đang mở
Trong mô hình MapReduce, "Map" có nhiệm vụ gì?
Gộp dữ liệu theo nhóm
Gửi dữ liệu tới reducer
Ánh xạ dữ liệu thành cặp khóa-giá trị
Lưu dữ liệu tạm thời
Trong mô hình MapReduce, "Reduce" thực hiện gì?
Ánh xạ dữ liệu
Phân tán kết quả
Tổng hợp các kết quả theo khóa
Tạo biểu đồ thống kê
"Thread-per-request" là mô hình gì?
Một luồng xử lý nhiều yêu cầu
Một luồng xử lý một yêu cầu
Một tiến trình xử lý tất cả yêu cầu
Một máy chủ dành riêng cho mỗi luồng
Một lợi ích của lập trình song song với thread là gì?
Dễ sử dụng trong mọi ngôn ngữ
Giảm thời gian xử lý nhờ thực hiện đồng thời
Tăng độ trễ mạng
Loại bỏ nhu cầu chia sẻ tài nguyên
Tại sao cần đồng bộ hóa giữa các thread?
Để tăng độ trễ
Tránh deadlock
Đảm bảo tính nhất quán dữ liệu khi truy cập chung
Đ
Tại sao cần đồng bộ hóa giữa các thread?
Để tăng độ trễ
Tránh deadlock
Đảm bảo tính nhất quán dữ liệu khi truy cập chung
Để tự động quản lý bộ nhớ
Thread-safe có nghĩa là gì?
Chỉ chạy được trong sandbox
Không gây lỗi khi nhiều thread cùng truy cập
Được bảo vệ bằng tường lửa
Luôn chạy trong user mode
Luồng trong ngôn ngữ lập trình Java được tạo bằng gì?
fork()
spawn()
Thread class hoặc Runnable interface
stream()
Kỹ thuật nào sau đây giúp tránh điều kiện tranh chấp (race condition)?
Sleep
Mutex hoặc Semaphore
Thread pooling
Stack pointer
Trong môi trường nhiều CPU, thread được lập lịch như thế nào?
Theo thứ tự luồng tạo ra
Bằng cơ chế round-robin
Có thể được phân phối trên nhiều CPU
Chỉ chạy trên CPU chính
Xác thực (authentication) trong hệ phân tán là gì?
Mã hóa dữ liệu gửi đi
Định vị vị trí của người dùng
Xác minh danh tính của người dùng
Tạo kết nối mạng an toàn
Hệ thống xác thực hai yếu tố sử dụng những gì?
Một mật khẩu và một ảnh đại diện
Hai yếu tố bất kỳ trong số: biết - sở hữu - là
Chỉ mật khẩu
Chỉ thiết bị phần cứng
Mã OTP (One-Time Password) có đặc điểm gì?
Không thể sử dụng lại
Dùng cố định cho mỗi người
Không có tính bảo mật
Chạy độc lập không cần kết nối
Ví dụ nào sau đây là xác thực dựa trên sinh trắc học?
Câu hỏi bảo mật
Mã PIN
Vân tay
OTP
Thiết bị token vật lý dùng để làm gì?
Truy cập hệ thống cục bộ
Tạo mật khẩu dùng một lần
Thay thế hoàn toàn mật khẩu
Gửi thông điệp mã hóa
Trong xác thực dựa trên hành vi, hệ thống dựa vào:
Sở thích người dùng
Mức độ sử dụng phần mềm
Mẫu gõ phím, cách di chuột
Vị trí địa lý
Cơ chế định danh cần đảm bảo điều gì?
Đơn giản và không có mã hóa
Ghi nhớ mật khẩu dài
Phân biệt người dùng chính xác và không bị trùng
Dễ chia sẻ tài khoản
Tại sao xác thực liên tục lại quan trọng trong ứng dụng nhạy cảm?
Giúp người dùng đăng xuất nhanh hơn
Đảm bảo luôn có người dùng hợp lệ đang hoạt động
Giảm thời gian sử dụng hệ thống
Tự động reset mật khẩu
Khi sử dụng xác thực dựa trên thiết bị, điều gì được ưu tiên?
Mã hóa phần cứng
Thiết bị phải có kết nối internet
Nhận diện thiết bị cụ thể người dùng sở hữu
Cài phần mềm diệt virus
Trong hệ phân tán, session key được sử dụng khi nào?
Trước khi đăng nhập
Sau khi xác thực và thiết lập kết nối an toàn
Để tạo mã OTP
Khi khởi động máy
Ưu điểm của định danh phân tán là gì?
Không cần xác minh người dùng
Tập trung tất cả vào một máy chủ
Hệ thống vẫn hoạt động khi một node gặp sự cố
Dễ thay đổi giao diện
Công nghệ blockchain đóng vai trò gì trong định danh?
Mã hóa dữ liệu người dùng
Cung cấp hệ thống định danh minh bạch và không thay đổi
Thay thế máy chủ truyền thống
Tạo tài khoản người dùng
Đâu là phương pháp xác thực yếu nhất?
Xác thực đa yếu tố
Xác thực bằng token
Xác thực một yếu tố (mật khẩu)
Xác thực bằng sinh trắc học
Trong hệ thống định danh tập trung, nhược điểm chính là gì?
Khó mở rộng
Thiếu tính bảo mật
Dễ chia sẻ quyền truy cập
Quá nhiều người dùng
Tính năng chính của Kerberos là gì?
Phân tích hành vi truy cập
Xác thực người dùng và cấp phiếu truy cập
Mã hóa toàn bộ giao tiếp mạng
Thay thế hệ điều hành
"Challenge-response" là cơ chế xác thực nào?
Người dùng gửi mật khẩu, nhận lại token
Hệ thống gửi câu hỏi, người dùng phản hồi chính xác
Người dùng nhập hai mật khẩu
Chỉ dùng trên thiết bị di động
Ưu điểm của mô hình xác thực phân tán là gì?
Bảo trì đơn giản hơn
Dễ sử dụng mạng cục bộ
Không phụ thuộc vào máy chủ trung tâm
Không cần xác minh người dùng
"Public key" trong mật mã khóa công khai dùng để làm gì?
Giải mã tin nhắn
Mã hóa thông tin gửi đi
Xác thực máy chủ
Gửi mật khẩu
Khi triển khai xác thực trong hệ thống cloud, yếu tố nào cần được ưu tiên?
Giao diện đẹp
Ghi log chi tiết
Tính khả dụng và bảo mật cao
Tự động cập nhật driver
Một điểm yếu phổ biến của xác thực bằng mật khẩu là?
Dễ thực hiện
Tính bảo mật tuyệt đối
Người dùng thường đặt mật khẩu yếu
Không yêu cầu bảo trì
Đồng bộ hóa thời gian trong hệ thống phân tán là cần thiết để làm gì?
Tăng tốc độ truyền mạng
Đảm bảo các sự kiện xảy ra theo thứ tự hợp lý
Cải thiện giao diện người dùng
Giảm kích thước tệp
Vì sao không thể sử dụng đồng hồ phần cứng làm chuẩn tuyệt đối trong hệ phân tán?
Đồng hồ dễ hỏng
Đồng hồ có sai số và độ lệch khác nhau
Không đồng bộ với ổ cứng
Không tương thích với mạng LAN
Trong thuật toán Cristian, vai trò của máy chủ thời gian là gì?
Cung cấp địa chỉ IP
Gửi thời gian hiện tại cho các client
Gửi các bản vá hệ điều hành
Tự động restart tiến trình
Thuật toán Berkeley có điểm đặc biệt nào?
Đồng bộ theo thứ tự gửi
Lấy trung bình cộng thời gian từ các nút
Dùng đồng hồ GPS
Chạy trên một máy chủ cố định
NTP (Network Time Protocol) thường được dùng để?
Mã hóa dữ liệu thời gian thực
Tự động đặt giờ hệ điều hành
Đồng bộ hóa thời gian giữa các máy trong mạng
Lưu trữ log hoạt động
Sự không đồng bộ giữa các đồng hồ trong hệ thống gây hậu quả gì?
Chậm phần cứng
Lỗi thứ tự xử lý sự kiện
Mất địa chỉ IP
Tăng RAM sử dụng
Trong đồng hồ logic, thứ tự các sự kiện được xác định bằng gì?
Thời gian thực tế
Múi giờ hệ thống
Giá trị đếm logic
Tên tiến trình
Lamport clock được sử dụng để làm gì trong hệ phân tán?
Đặt thời gian hệ điều hành
Phát hiện lỗi phần cứng
Xác định mối quan hệ nhân quả giữa các sự kiện
Lưu lại log hệ thống
Trong hệ thống đồng bộ hóa tập trung, nhược điểm chính là?
Khó thực hiện trên mạng LAN
Thiếu khả năng mở rộng và dễ nghẽn tại nút điều phối
Phải đồng bộ mỗi phút
Không hoạt động trên internet
Mỗi máy trong hệ thống phân tán có đồng hồ riêng. Điều này gây ra?
Không ảnh hưởng đến hoạt động hệ thống
Tăng tính bảo mật
Cần đồng bộ hóa để đảm bảo tính chính xác
Bỏ qua sai số
Một hệ thống yêu cầu tính nhất quán mạnh về thời gian thường:
Dùng cron job để điều chỉnh thời gian
Không cần mạng internet
Đồng bộ hóa thường xuyên giữa các nút
Không cần sử dụng đồng hồ logic
Vector clock khác Lamport clock ở điểm nào?
Không cần gửi thông điệp
Dễ triển khai hơn
Giữ được nhiều thông tin thứ tự và quan hệ nhân quả chính xác hơn
Không dùng trong hệ thống phân tán
Khi hai tiến trình không có quan hệ nhân quả, chúng được gọi là:
Độc lập
Tương tranh
Đồng bộ
Lặp
Mục tiêu chính của đồng bộ hóa logic là gì?
Đồng bộ về thời gian thực
Phân quyền truy cập tài nguyên
Giữ đúng thứ tự thực hiện các sự kiện logic
Tăng tốc độ CPU
Lamport's "happens-before" relation được ký hiệu là gì?
≤
||
→
⊕
Trong Lamport Clock, khi nhận được một thông điệp, đồng hồ nên:
Giữ nguyên giá trị
Lấy trung bình giá trị với đồng hồ gửi
Cập nhật thành giá trị lớn hơn giữa đồng hồ hiện tại và thời gian trong tin nhắn, sau đó cộng thêm 1
Xóa lịch sử
Trong thuật toán đồng bộ hóa phân tán, thời gian trễ mạng ảnh hưởng thế nào?
Làm chậm hoạt động ổ cứng
Làm sai lệch giá trị đồng bộ nếu không bù trừ đúng
Không ảnh hưởng
Gây lỗi logic
Khi nào cần sử dụng đồng hồ logic thay vì đồng hồ vật lý?
Khi không có kết nối mạng
Khi thời gian thực không quan trọng nhưng thứ tự sự kiện phải đảm bảo
Khi không có bộ xử lý
Khi hệ điều hành yêu cầu
Giải thuật đồng bộ hóa logic nào theo dõi được quan hệ nhân quả đầy đủ?
Lamport clock
System timestamp
Vector clock
Round-robin clock
Một nút nhận tin nhắn từ nhiều nút khác nhau, làm sao đảm bảo thứ tự xử lý đúng?
Xử lý theo thứ tự nhận được
Dựa vào độ trễ mạng
Sử dụng logic clock hoặc vector clock để so sánh thời gian sự kiện
Bỏ qua thông điệp trễ
Bạn đang viết một chương trình Python để gửi thông điệp giữa các máy trong hệ thống phân tán. Trong hàm connect_to_server, tại sao nên đặt socket.settimeout(5) trước khi connect()?
Để đảm bảo mọi kết nối luôn thành công
Để giới hạn thời gian chờ kết nối, tránh treo ứng dụng
Để tăng băng thông truyền tải
Để sử dụng UDP thay vì TCP
Khi viết hàm receive_data(sock), tại sao nên gọi sock.recv(1024).decode() thay vì sock.recv(1024)?
Để nhận dữ liệu dạng mã hóa base64
Để chuyển dữ liệu từ bytes sang string
Để giảm độ trễ mạng
Để tăng tốc độ nhận
Trong ứng dụng chat client-server đơn giản, tại sao bạn nên sử dụng with socket.socket() as s: thay vì mở socket trực tiếp?
Tăng tốc độ tạo kết nối
Đảm bảo socket được đóng đúng cách sau khi sử dụng
Hạn chế quyền truy cập mạng
Buộc client phải đăng nhập
Hàm send_message(sock, msg) sử dụng sock.sendall(msg.encode()). Tại sao không dùng send()?
sendall() giúp gửi dữ liệu theo kiểu gói nén
send() chỉ hoạt động với dữ liệu nhỏ
sendall() đảm bảo toàn bộ dữ liệu được gửi đi
send() chỉ dùng được với UDP
Trong một hệ thống P2P phân tán, bạn viết hàm query_peer(peer_address). Biến peer_address nên mang ý nghĩa gì?
Địa chỉ IP của nút hiện tại
Địa chỉ IP và cổng của nút cần truy vấn
Tên đăng nhập người dùng
Đường dẫn đến cơ sở dữ liệu
Trong hàm update_file_list(files), biến files là một danh sách. Tại sao nên kiểm tra if not files: trước khi xử lý?
Để tránh lỗi khi danh sách rỗng
Để lọc các file đã mã hóa
Để yêu cầu xác thực lại
Để giảm tải CPU
Khi dùng Flask để triển khai REST API phân tán, tại sao cần dùng @app.route('/get_data')?
Để kết nối với cơ sở dữ liệu
Để chỉ định đường dẫn API mà client sẽ gọi đến
Để tăng tốc độ phản hồi
Để hạn chế truy cập từ IP lạ
Trong Flask, hàm xử lý API thường trả về jsonify(data). Lý do chính là?
Để giảm kích thước phản hồi
Để dữ liệu trả về ở dạng chuẩn JSON
Để mã hóa dữ liệu
Để gọi hàm Python từ client
Bạn triển khai một hàm authenticate(username, password). Điều gì nên xảy ra nếu username không tồn tại?
Hàm trả về lỗi 200 OK
Hàm trả về True
Hàm trả về False hoặc HTTP 401 Unauthorized
Hàm tiếp tục thực thi
