Tổng hợp 38 câu hỏi phỏng vấn Network kèm đáp án chi tiết, song ngữ Việt–Anh — sắp xếp từ cơ bản đến nâng cao. Ôn luyện miễn phí, tự động lưu tiến độ.
Mô hình OSI (Open Systems Interconnection) chia giao tiếp mạng thành 7 tầng từ dưới lên: Physical (truyền bit qua cáp/sóng), Data Link (đóng gói frame, MAC address, phát hiện lỗi), Network (định tuyến gói tin qua IP), Transport (kiểm soát luồng & lỗi, TCP/UDP),…
TCP/IP (hay DoD model) gộp OSI 7 tầng xuống còn 4 tầng: Network Access (= Physical + Data Link), Internet (= Network), Transport (giữ nguyên), Application (= Session + Presentation + Application). TCP/IP là mô hình thực tiễn được dùng trong toàn bộ Internet hiện…
TCP 3-way handshake (SYN→SYN-ACK→ACK) thiết lập kết nối bằng cách đồng bộ sequence numbers của cả hai phía. Ba bước gồm: (1) Client gửi SYN với sequence number ngẫu nhiên X, (2) Server trả SYN-ACK với ACK=X+1 và sequence number Y của server, (3) Client…
DNS (Domain Name System) dịch domain name (google.com) thành IP address. Quá trình resolve: (1) Browser kiểm tra local cache, (2) Hỏi OS resolver (kiểm tra /etc/hosts), (3) Hỏi Recursive Resolver của ISP, (4) Resolver hỏi Root Name Server (biết địa chỉ TLD servers), (5)…
HTTP là request-response: client luôn phải khởi tạo request trước, server không thể chủ động push data. WebSocket là full-duplex persistent connection: sau khi upgrade từ HTTP (101 Switching Protocols), cả client và server có thể gửi message bất kỳ lúc nào với latency rất…
REST dùng HTTP verbs (GET/POST/PUT/DELETE) + URL resources, stateless, dễ cache, phổ biến nhất — phù hợp CRUD APIs đơn giản, public APIs, mobile apps. GraphQL cho phép client chỉ định chính xác data cần lấy qua query language, giải quyết over-fetching/under-fetching của REST, có…
Load balancing phân phối request qua nhiều server — thuật toán phổ biến bao gồm Round Robin, Least Connections, và IP Hash, mỗi loại phù hợp với use case khác nhau. - Round Robin: phân phối request lần lượt qua các server — đơn giản…
Forward proxy đứng giữa client và internet: client cấu hình proxy, mọi request đi qua proxy — dùng để ẩn danh tính client, bypass geo-restriction, corporate filtering. Reverse proxy đứng trước server: client không biết server thật sự, mọi request qua reverse proxy trước —…
CDN (Content Delivery Network) là mạng lưới server phân tán toàn cầu (PoP - Points of Presence). Khi user request file, CDN router tìm server gần nhất về mặt địa lý/network. Lần đầu cache miss: CDN fetch từ origin server và cache lại. Các lần…
CORS (Cross-Origin Resource Sharing) là cơ chế browser ngăn JavaScript đọc response từ origin khác (khác domain/port/protocol) — Same-Origin Policy. Khi cần cross-origin, server phải trả về CORS headers. Simple requests (GET/POST với Content-Type text/plain hoặc form) không cần preflight. Preflight request là OPTIONS request…
Rate limiting giới hạn số request trong khoảng thời gian để bảo vệ server khỏi abuse, DDoS, và đảm bảo fair usage. Các thuật toán: - Fixed Window: đếm request trong window cố định (100 req/minute) — đơn giản nhưng có edge case tại boundary.…
API Key phù hợp machine-to-machine, JWT cho stateless user auth, OAuth2 cho third-party authorization — mỗi pattern có trade-off riêng về security và complexity. - API Key: chuỗi secret gửi trong header (X-API-Key) hoặc query param — đơn giản, phù hợp server-to-server, machine-to-machine; không có…
WebSocket là persistent connection — mỗi connected client chiếm một file descriptor và memory trên server. Với 10,000 concurrent connections, single server có thể chịu được; nhưng khi scale horizontal lên nhiều server, gặp vấn đề: client A kết nối server 1, client B kết…
Long Polling, SSE và WebSocket là 3 cách server push data đến client, khác nhau về directionality, overhead và độ phức tạp. Long Polling: client gửi request, server giữ connection open cho đến khi có data mới (hoặc timeout), rồi response; client lập tức gửi…
TCP dùng 4-way handshake (FIN/ACK/FIN/ACK) để đóng kết nối; sau đó initiator vào TIMEWAIT (2×MSL ≈ 60s) để đảm bảo ACK cuối được nhận. TCP close connection cần 4 bước vì mỗi direction đóng độc lập: (1) Client gửi FIN — muốn đóng kết nối;…
IPv4 (32-bit, ~4.3 tỷ địa chỉ) đã cạn từ 2011; IPv6 (128-bit) giải quyết triệt để nhưng transition chậm do backward incompatibility và NAT workaround vẫn hoạt động đủ tốt. IPv4: 32-bit address (~4.3 tỷ địa chỉ) — cạn kiệt từ 2011. NAT (Network Address…
TLS 1.3 (2018) cải tiến TLS 1.2: giảm từ 2-RTT xuống 1-RTT, bắt buộc forward secrecy (ECDHE), loại bỏ cipher cũ và mã hoá certificate — nhanh hơn và an toàn hơn đáng kể. TLS 1.2 (2008): handshake 2-RTT, hỗ trợ nhiều cipher suite cũ…
mTLS (Mutual TLS) yêu cầu cả client và server present certificate, đảm bảo both-way authentication — cần thiết trong zero-trust microservice environments. TLS thông thường: chỉ client verify server certificate (1-way TLS). mTLS (Mutual TLS): cả server VÀ client đều present certificate và verify lẫn…
HTTP status codes chia thành 5 nhóm: 1xx info, 2xx success, 3xx redirect, 4xx client error, 5xx server error — các code quan trọng nhất là 401/403, 301/302, 502/504. 1xx (Informational): 100 Continue, 101 Switching Protocols (WebSocket upgrade). 2xx (Success): 200 OK, 201 Created, 204…
CIDR (Classless Inter-Domain Routing) notation: 192.168.1.0/24 — 24 bit đầu là network prefix, 8 bit còn lại là host. /24 = 256 địa chỉ (2^8), 254 usable (trừ network address và broadcast). Phổ biến: /8 (class A, 16M hosts), /16 (class B, 65K hosts), /24…
L4 LB route dựa trên IP/port (nhanh hơn, protocol-agnostic); L7 LB đọc HTTP content để route thông minh hơn (URL path, headers, cookies) nhưng cần terminate connection. L4 Load Balancer (Transport layer): hoạt động ở tầng TCP/UDP — không đọc HTTP content, chỉ route dựa…
Latency (độ trễ per packet), Bandwidth (dung lượng tối đa), và Throughput (data thực sự truyền) là 3 metric khác nhau — tối ưu từng metric cần chiến lược riêng. Latency: thời gian một packet đi từ A đến B (RTT = round-trip time). Bao…
HTTP Keep-Alive và Connection Pool đều tránh overhead tạo kết nối mới cho mỗi request — quan trọng cho performance của cả HTTP calls và database queries. HTTP Keep-Alive (persistent connection): HTTP/1.0 default là close connection sau mỗi request (mỗi request = TCP handshake +…
Connection timeout (thiết lập TCP), Read timeout (nhận response) và Write timeout (gửi request) là 3 loại timeout khác nhau — phải set cả 3 để tránh thread/connection leak. Connection timeout: thời gian tối đa để thiết lập TCP connection (3-way handshake). Thường 3-10 giây.…
ARP (Address Resolution Protocol) ánh xạ IP address (tầng 3) sang MAC address (tầng 2) trong cùng một LAN. Khi máy A muốn gửi gói tới một IP đích cùng subnet nhưng chưa biết MAC của nó, A broadcast một ARP request ("Ai đang giữ…
DHCP (Dynamic Host Configuration Protocol) tự động cấp IP và cấu hình mạng (subnet mask, gateway, DNS) cho client, tránh phải đặt IP tĩnh thủ công. Quy trình 4 bước DORA: - Discover: client mới broadcast để tìm DHCP server. - Offer: server đề nghị…
NAT (Network Address Translation) dịch địa chỉ IP private bên trong LAN thành một IP public khi ra Internet, và dịch ngược lại khi phản hồi về. Router giữ một bảng NAT map cặp (private IP:port ↔ public IP:port). Vấn đề nó giải: IPv4 chỉ…
Public IP là địa chỉ định tuyến được trên Internet toàn cầu, duy nhất, do ISP/RIR cấp. Private IP chỉ dùng nội bộ trong LAN, không định tuyến ra Internet, và có thể trùng nhau giữa các mạng khác nhau. Ba dải private (RFC 1918):…
MAC address là định danh vật lý 48-bit gắn cứng vào card mạng (NIC), hoạt động ở tầng 2 (Data Link) và chỉ có ý nghĩa trong phạm vi một LAN. IP address là định danh logic ở tầng 3 (Network), có thể thay đổi…
- Hub (tầng 1 — Physical): thiết bị đơn giản, nhận bit ở một cổng rồi lặp lại ra tất cả cổng khác. Mọi thiết bị chung một collision domain, băng thông bị chia sẻ — gần như tuyệt chủng ngày nay. - Switch (tầng…
ICMP (Internet Control Message Protocol) là giao thức tầng 3 dùng để báo lỗi và chẩn đoán mạng (không mang dữ liệu ứng dụng), ví dụ "Destination Unreachable" hay "Time Exceeded". - ping gửi ICMP Echo Request tới đích và chờ Echo Reply, đo round-trip…
Encapsulation là quá trình mỗi tầng (từ trên xuống, ở phía gửi) bọc dữ liệu của tầng trên bằng header (và đôi khi trailer) của mình. Theo mô hình TCP/IP 5 tầng: - Application: data - Transport: thêm TCP header → segment, hoặc UDP header…
- Mã hoá đối xứng: dùng chung một khoá bí mật cho cả mã hoá lẫn giải mã (AES, ChaCha20). Rất nhanh, phù hợp mã hoá lượng lớn dữ liệu — nhưng hai bên cần một cách an toàn để cùng có khoá. - Mã…
VPN (Virtual Private Network) tạo một "đường hầm" mã hoá qua mạng công cộng (Internet) để thiết bị truy cập tài nguyên như đang ở trong mạng nội bộ, đồng thời giấu lưu lượng khỏi bên trung gian. Tunneling là kỹ thuật nền: gói tin…
Cổng (port) là số 16-bit (0–65535) giúp tầng Transport phân biệt nhiều dịch vụ chạy trên cùng một IP. IANA chia ba khoảng: well-known (0–1023, dịch vụ hệ thống), registered (1024–49151), và dynamic/ephemeral (49152–65535, dùng cho client tạm thời). Vài cổng well-known thường gặp: -…