NEW
Font size
WorksheetsKiến thức về kiến trúc phần mềm
Total questions: 31
Worksheet time: 16mins
Mục tiêu cốt lõi của kiến trúc SOA là gì?
Xây dựng hệ thống chạy trên một tiến trình duy nhất.
Kết nối các hệ thống không cùng ngôn ngữ thành một thực thể thống nhất.
Tập trung vào cách viết mã nguồn thay vì tích hợp.
Triển khai tất cả thành phần vào một unit duy nhất.
Trong kiến trúc Monolithic, hiện tượng các thành phần đan xen hỗn độn được gọi là gì?
Loose Coupling
N-Tier Architecture
Big Ball of Mud
Service Registry
Đặc điểm nào KHÔNG thuộc về kiến trúc N-Tier?
Phân rã hệ thống thành các tầng.
Dễ dàng cô lập lỗi giữa các tầng.
Các dịch vụ hoàn toàn không phụ thuộc vào nền tảng của nhau.
Đối mặt với vấn đề Single Point of Failure.
Thành phần nào là 'Trục tích hợp dịch vụ doanh nghiệp' trong SOA?
Service Provider
Service Consumer
ESB (Enterprise Service Bus)
WSDL
Nguyên tắc 'Statelessness' trong SOA có ý nghĩa gì?
Dịch vụ không cần giữ trạng thái khách hàng giữa các lần gọi.
Dịch vụ phải luôn kết nối với Client.
Dịch vụ tự quản lý CSDL riêng.
Dịch vụ không được phép thay đổi nội bộ.
Socket là gì theo góc độ người lập trình?
Là một địa chỉ IP duy nhất.
Là giao diện lập trình (API) kết nối ứng dụng với lớp mạng.
Là một phần cứng trên card mạng.
Là một giao thức giống HTTP.
Số hiệu cổng (Port) là một số bao nhiêu bit?
8 bit
16 bit
32 bit
64 bit
Số hiệu cổng (Port) là một số bao nhiêu bit?
8 bit
16 bit
32 bit
64 bit
Cổng dịch vụ Web (HTTP) mặc định là?
Cổng 21, TCP
Cổng 25, UDP
Cổng 80, TCP
Cổng 23, TCP
Điểm khác biệt cơ bản giữa TCP và UDP là gì?
TCP nhanh hơn UDP.
UDP bảo đảm thứ tự gói tin.
TCP có cơ chế bắt tay và kiểm tra lỗi dữ liệu.
UDP yêu cầu xác nhận ACK.
Lớp nào dùng để tạo Server lắng nghe kết nối TCP trong Java?
java.net.Socket
java.net.ServerSocket
java.net.DatagramSocket
java.net.InetAddress
Phương thức nào của ServerSocket dùng để chấp nhận kết nối?
connect()
listen()
accept()
receive()
Tại sao Server TCP thường sử dụng đa luồng (Multi-thread)?
Để tăng tốc độ truyền dữ liệu.
Để Server có thể phục vụ đồng thời nhiều Client cùng lúc.
Để thay thế cho giao thức UDP.
Để tiết kiệm bộ nhớ RAM.
Trong lập trình UDP, gói tin được đóng gói vào lớp nào?
java.net.Socket
java.net.DatagramPacket
java.net.ServerSocket
java.io.OutputStream
Kích thước tối đa dữ liệu trong một gói tin DatagramPacket là?
1.024 byte
65.535 byte
Không giới hạn
8.192 byte
UDP phù hợp nhất cho loại ứng dụng nào?
Chuyển tiền ngân hàng.
Truyền file (FTP).
Livestream video hoặc Voice over IP (VoIP).
Gửi Email (SMTP).
Nguyên tắc 'Loose Coupling' trong SOA nhằm mục đích gì?
Làm cho các dịch vụ phụ thuộc chặt chẽ.
Giảm thiểu sự phụ thuộc để linh hoạt và dễ bảo trì hơn.
Bắt buộc dùng chung một cơ sở dữ liệu.
Tăng tốc độ gọi hàm nội bộ.
Để lấy dữ liệu từ một TCP Socket trong Java, ta sử dụng:
socket.getOutput()
socket.getInputStream()
socket.receive()
socket.read()
Trong SOA, Service Registry dùng để làm gì?
Thực hiện logic nghiệp vụ.
Lưu trữ dữ liệu vĩnh viễn.
Nơi đăng ký và tra cứu thông tin về các dịch vụ.
Đóng gói mã nguồn.
Hàm setSoTimeout(int timeout) trong lớp Socket có tác dụng gì?
Giới hạn thời gian sống gói tin.
Xác định thời gian chờ tối đa khi đọc dữ liệu.
Tự động đóng socket.
Tăng tốc độ phản hồi.
Kiến trúc SOA thường sử dụng định dạng dữ liệu nào?
Binary (Nhị phân)
XML hoặc JSON
SQL Scripts
.exe files
Phân loại Socket 'AF-INET' dùng để làm gì?
Giao tiếp trong cùng một máy tính.
Giao tiếp giữa các máy tính khác nhau qua mạng.
Chỉ dành cho mạng LAN.
Giao tiếp với driver.
Trong mô hình Client-Server TCP, bên nào phải mở cổng trước?
Client
Server
Cả hai cùng lúc
Router trung gian
Dải cổng Well-known ports (Cổng hệ thống) là?
0 - 1023
1024 - 49151
49152 - 65535
0 - 65535
Phương thức flush() của OutputStream có tác dụng gì?
Xóa dữ liệu bộ đệm.
Đẩy ngay lập tức dữ liệu tồn đọng trong bộ đệm ra mạng.
Đóng luồng dữ liệu.
Kiểm tra lỗi truyền tin.
Ưu điểm lớn nhất của 'Wrapping' các hệ thống cũ trong SOA là?
Làm hệ thống cũ chạy nhanh hơn.
Tái sử dụng chức năng cũ mà không cần viết lại toàn bộ.
Loại bỏ lỗi trong mã nguồn cũ.
Làm hệ thống không cần database.
Khi gọi receive(packet) trong UDP, nếu chưa có dữ liệu gửi đến?
Bỏ qua và chạy lệnh kế tiếp.
Chương trình bị treo (block) cho đến khi nhận được gói tin.
Ném ra ngoại lệ NullPointer.
Trả về gói tin trống.
Thành phần nào mô tả chi tiết các hàm và tham số của Web Service?
WSDL (Web Services Description Language)
UDDI
HTTP
JSON
Tính 'Autonomy' (Tự trị) trong SOA có nghĩa là gì?
Tự động cập nhật mã nguồn.
Dịch vụ tự kiểm soát hoàn toàn logic và môi trường của mình.
Tự tìm kiếm khách hàng.
Không cần con người quản trị.
Để lấy địa chỉ IP của máy từ xa đang kết nối tới Socket?
getPort()
getInetAddress()
getLocalAddress()
getProtocol()
Tại sao kiến trúc Monolithic (khối) lại khó mở rộng (scale)?
Vì nó quá đơn giản.
Phải nhân bản toàn bộ ứng dụng gây lãng phí tài nguyên.
Không hỗ trợ kết nối mạng.
Sử dụng quá nhiều database.
