Network Interview Questions
Tổng hợp các câu hỏi Network thường gặp trong phỏng vấn Frontend Developer.
1. Tại sao trước đây người ta thường serve assets từ nhiều domain?
👉 Gợi ý:
- HTTP/1.1 giới hạn ~6 connections/domain
- Dùng multiple domains → tăng parallel downloads
- Hiện tại HTTP/2 → ít cần hơn
2. Hãy mô tả quá trình từ khi nhập URL đến khi trang web hiển thị?
👉 Gợi ý:
- DNS lookup
- TCP handshake (TLS nếu HTTPS)
- HTTP request
- Server xử lý
- Response trả về
- Browser parse HTML → DOM
- CSS → CSSOM
- Render tree → layout → paint
3. Long-Polling, WebSocket và Server-Sent Events khác nhau thế nào?
👉 Gợi ý:
- Long-polling
- Client request → server giữ connection → trả response khi có data
- Overhead cao
- WebSocket
- Full-duplex (2 chiều)
- Real-time (chat, game)
- SSE (Server-Sent Events)
- 1 chiều (server → client)
- Dễ implement hơn WebSocket
4. Expires, Date, Age, If-Modified-Since khác nhau thế nào?
👉 Gợi ý:
Date: thời điểm response tạoExpires: thời điểm cache hết hạnAge: response đã được cache bao lâuIf-Modified-Since: client hỏi server data có thay đổi không
5. Do Not Track là gì?
👉 Gợi ý:
- Header thể hiện user không muốn bị tracking
- Không phải browser nào cũng enforce
6. Cache-Control dùng để làm gì?
👉 Gợi ý:
Cache-Control: no-cache, no-store, max-age=3600
- Control caching behavior
no-store,no-cache,max-age
7. Transfer-Encoding là gì?
👉 Gợi ý:
- Cách encode data khi truyền
- Ví dụ:
chunked(stream từng phần)
8. ETag là gì?
👉 Gợi ý:
- Identifier của resource version
- Dùng với
If-None-Match
9. X-Frame-Options là gì?
👉 Gợi ý:
- Chống clickjacking
X-Frame-Options: DENY
10. HTTP methods là gì? Kể tên và giải thích?
👉 Gợi ý:
GET: lấy dataPOST: tạo mớiPUT: update toàn bộPATCH: update 1 phầnDELETE: xóaHEAD: giống GET nhưng không có bodyOPTIONS: check capabilities
11. Domain prefetching là gì?
👉 Gợi ý:
<link rel="dns-prefetch" href="//example.com" />
- Resolve DNS sớm → giảm latency
12. CDN là gì? Lợi ích?
👉 Gợi ý:
- Content Delivery Network
- Serve content từ server gần user
Benefits:
- Giảm latency
- Tăng tốc load
- Giảm tải server
👉 Bộ câu hỏi này thường dùng để đánh giá:
- Kiến thức network + performance
- Hiểu sâu browser & HTTP