28 câu hỏi kèm đáp án và follow-up
Trả lời theo cấu trúc: semantics → packet/state path → failure → evidence → trade-off.
28 câu hỏi
Mental model, L2/L3
1. Điều gì xảy ra khi gọi https://api.example.com?
Đáp án: DNS resolve; route/neighbor; TCP connect; TLS với SNI/certificate/ALPN; HTTP request qua proxy/LB tới app; response theo return path. Mỗi bước có cache, queue và timeout riêng.
Follow-up: Vẽ điểm NAT/TLS termination và evidence tại mỗi hop.
2. OSI model hữu ích và gây hiểu nhầm khi nào?
Đáp án: Hữu ích để phân lớp giả thuyết; gây hiểu nhầm nếu coi layer là hộp vật lý tuyệt đối vì tunnel, proxy, offload và firewall cắt ngang.
Follow-up: QUIC đặt transport/application semantics ở đâu?
3. Host quyết định gửi trực tiếp hay qua gateway thế nào?
Đáp án: Tra FIB bằng longest-prefix match, policy rules/metric; next hop cùng link cần ARP/NDP. ip route get cho quyết định hiệu lực.
Follow-up: Hai default route khác metric xử lý ra sao?
4. ARP khác DNS thế nào?
Đáp án: DNS ánh tên application sang IP qua hệ phân cấp; ARP ánh next-hop IPv4 sang MAC trong local link. ARP không tìm MAC của remote server qua Internet.
Follow-up: IPv6 thay ARP bằng cơ chế nào?
5. Vì sao asymmetric routing gây lỗi?
Đáp án: IP cho phép hai chiều khác path, nhưng stateful firewall/NAT/rp_filter có thể chỉ biết một chiều; capture một đầu cũng tạo kết luận thiếu.
Follow-up: Thu evidence nào để chứng minh?
6. MTU và PMTUD ảnh hưởng request ra sao?
Đáp án: Packet vượt path MTU cần fragmentation hoặc ICMP Packet Too Big; chặn ICMP có thể tạo black hole chỉ với payload lớn.
Follow-up: MSS clamping chữa triệu chứng ở đâu?
TCP, UDP và capacity
7. TCP đảm bảo gì và không đảm bảo gì?
Đáp án: Reliable, ordered byte stream giữa endpoints khi connection còn sống; không giữ message boundary, không bảo đảm deadline, exactly-once hay application commit.
Follow-up: Response mất sau DB commit thì retry thế nào?
8. Ba bước handshake để làm gì?
Đáp án: Xác nhận reachability hai chiều và đồng bộ initial sequence numbers/options. SYN retransmit chỉ ra handshake chưa hoàn tất, không nói chính xác hop nào drop.
Follow-up: SYN cookies đánh đổi gì?
9. TIME_WAIT có phải lỗi không?
Đáp án: Không; active closer giữ state để hấp thụ segment cũ và retransmit final ACK. Quá nhiều có thể báo connection churn/port pressure.
Follow-up: Pooling và HTTP/2 thay đổi ra sao?
10. SYN backlog khác accept queue?
Đáp án: SYN backlog chứa handshake chưa xong; accept queue chứa established sockets chờ application accept. Counter/capture khác nhau nên phải phân biệt.
Follow-up: Tăng backlog có sửa app bị treo không?
11. Flow control khác congestion control?
Đáp án: Receive window bảo vệ receiver; congestion window bảo vệ network. Effective send window bị giới hạn bởi cả hai.
Follow-up: Zero window và packet loss nhìn khác thế nào?
12. Khi nào chọn UDP?
Đáp án: Khi cần datagram/latency và application chấp nhận loss hoặc tự xây reliability, như DNS/media/QUIC substrate. Phải tự thiết kế timeout, ordering, dedupe.
Follow-up: UDP fragmentation nguy hiểm gì?
13. Connect timeout khác request timeout?
Đáp án: Connect bao TCP establishment; TLS handshake, response headers, read idle và overall deadline là budget khác. Gộp chúng làm mất attribution.
Follow-up: Deadline nên truyền qua service chain thế nào?
NAT, firewall, DNS
14. SNAT và DNAT khác nhau?
Đáp án: SNAT đổi source, thường cho egress; DNAT đổi destination, thường publish service. Conntrack giữ mapping để dịch return traffic.
Follow-up: Hairpin NAT là gì?
15. NAT gateway cạn port biểu hiện thế nào?
Đáp án: New outbound connections timeout/fail trong khi established connections có thể còn tốt; phụ thuộc destination tuple và churn. Đo conntrack/SNAT allocation.
Follow-up: Mitigation ngắn hạn và dài hạn?
16. DROP khác REJECT?
Đáp án: DROP im lặng làm caller chờ timeout; REJECT trả ICMP/RST sớm. Chọn theo threat model và khả năng vận hành, không mặc định drop luôn an toàn hơn.
Follow-up: Tại sao reject giúp internal debugging?
17. DNS recursive và authoritative khác nhau?
Đáp án: Recursive resolver đi tìm/cached answer cho client; authoritative server công bố dữ liệu zone mà nó có thẩm quyền.
Follow-up: Delegation lỗi được thấy ở bước nào?
18. TTL 60 giây có nghĩa sau 60 giây mọi client đổi IP?
Đáp án: Không. Cache được tạo ở thời điểm khác nhau, client có policy riêng và connection cũ vẫn sống. TTL chỉ quy định freshness của DNS RRset cache.
Follow-up: Lập kế hoạch DNS cutover thế nào?
19. NXDOMAIN khác NODATA và SERVFAIL?
Đáp án: NXDOMAIN: tên không tồn tại; NODATA: tên có nhưng không có type hỏi; SERVFAIL: resolver không hoàn thành xử lý/validation. Chúng có retry/cache semantics khác.
Follow-up: Negative caching dựa vào record nào?
20. Vì sao dig đúng nhưng application resolve sai?
Đáp án: Có thể khác resolver, search domain, nsswitch, hosts file, namespace, cache JVM hoặc query A/AAAA. Phải chạy trong cùng context.
Follow-up: Java DNS cache ảnh hưởng rollout thế nào?
TLS, Linux và production
21. SNI và ALPN làm gì?
Đáp án: SNI báo hostname để server chọn certificate/virtual host; ALPN thương lượng application protocol như HTTP/2. Cả hai nằm trong handshake (SNI được mã hóa khi dùng ECH).
Follow-up: Kết nối bằng IP có thể fail TLS vì sao?
22. Certificate hợp lệ cần kiểm tra gì?
Đáp án: Chain tới trust anchor, signature, thời gian, hostname/SAN, key usage/constraints và policy revocation nếu áp dụng.
Follow-up: Chain thiếu intermediate biểu hiện thế nào?
23. TLS termination ở LB tạo rủi ro gì?
Đáp án: Hop LB→app có thể plaintext hoặc verify identity sai; forwarded headers có thể bị spoof; observability phải tách handshake/client và upstream.
Follow-up: Khi nào cần re-encryption hoặc mTLS?
24. Network namespace cô lập gì?
Đáp án: Network devices, routes, rules, firewall, sockets, port namespace và related state. Process vẫn có thể chia sẻ filesystem/cgroup nếu không cô lập riêng.
Follow-up: Veth và bridge kết nối container ra sao?
25. 0.0.0.0:8080 và 127.0.0.1:8080 khác nhau?
Đáp án: Wildcard bind nhận trên mọi local IPv4 address phù hợp policy; loopback bind chỉ reachable trong cùng network namespace qua loopback.
Follow-up: Container publish port thay đổi điều gì?
26. Capture thấy bad TCP checksum có chắc packet hỏng?
Đáp án: Không. TX checksum offload có thể khiến capture trước NIC thấy checksum chưa tính; kiểm tra capture phía nhận hoặc offload metadata.
Follow-up: GRO/TSO ảnh hưởng packet size thế nào?
27. “Ping được nhưng HTTPS không được” nói lên gì?
Đáp án: Chỉ chứng minh ICMP echo path ở thời điểm đó. TCP/443, route theo address family, firewall, TLS/SNI hoặc application vẫn có thể lỗi.
Follow-up: Trình tự test ít xâm lấn?
28. Quy trình xử lý intermittent network latency?
Đáp án: Chốt scope/timeline/tuple; so known-good; vẽ path; correlate DNS/connect/TLS/app timing, socket queues, retransmit/drop và dependency; test prediction; mitigate reversible; verify SLO.
Follow-up: Làm sao tránh retry storm khi incident?