Thư Viện Câu Hỏi Phỏng Vấn

Tổng hợp các câu hỏi tuyển dụng thực tế theo nhiều cấp độ từ Entry đến Expert để bạn tự tin chinh phục nhà tuyển dụng.

01

Mạng phân phối nội dung (CDN) hoạt động trên nguyên lý nào? Giải thích sự khác biệt giữa cơ chế Push CDN và Pull CDN?

Middle

CDN hoạt động trên nguyên lý phân tán các máy chủ bộ nhớ đệm (Edge Servers) tại nhiều điểm địa lý khác nhau trên thế giới để lưu trữ bản sao dữ liệu tĩnh (ảnh, video, JS/CSS), giúp giảm độ trễ (latency) khi người dùng truy cập từ khoảng cách xa.

  • Push CDN: Lập trình viên chủ động tải (upload/push) nội dung mới lên máy chủ CDN mỗi khi có sự thay đổi. CDN là nơi lưu trữ gốc của các file này.
    • Ưu điểm: Tiết kiệm băng thông cho server gốc (Origin Server) vì CDN không cần hỏi lại server gốc để lấy file.
    • Nhược điểm: Phải tự quản lý luồng upload và cập nhật khi file thay đổi.
  • Pull CDN: Khi người dùng request một file, Edge Server của CDN sẽ kiểm tra xem đã có file đó trong cache chưa. Nếu chưa (Cache Miss), nó sẽ tự động gửi request về server gốc để kéo (pull) file đó về, lưu vào cache tại Edge Server và trả về cho người dùng.
    • Ưu điểm: Cực kỳ đơn giản khi tích hợp, CDN tự động đồng bộ hóa với server gốc.
    • Nhược điểm: Request đầu tiên của người dùng sẽ bị chậm (do cache miss phải pull từ origin).
02

Cơ chế vô hiệu hóa cache (Cache Invalidation) trong CDN hoạt động như thế nào? Phân biệt giữa Purge và Ban?

Senior

Khi dữ liệu tĩnh trên server gốc thay đổi trước khi thời gian hết hạn (TTL) của CDN kết thúc, ta cần vô hiệu hóa cache cũ tại các Edge Servers để người dùng nhận được file mới:

  • Purge (Xóa): CDN sẽ xóa bỏ hoàn toàn file cũ khỏi bộ nhớ đệm của Edge Server ngay lập tức. Lần request tiếp theo của người dùng sẽ là Cache Miss, CDN phải quay lại server gốc kéo file mới về. Thích hợp khi biết chính xác URL của file vừa thay đổi.
  • Ban (Cấm/Gắn thẻ): Thay vì xóa vật lý, CDN đánh dấu (invalidate) file cũ dựa trên các tiêu chí hoặc biểu thức chính quy (Regex) hoặc HTTP Tags (Cache-Tags). Khi người dùng request, CDN gửi một request gọn nhẹ (HEAD) kèm theo điều kiện (If-Modified-Since) về server gốc để kiểm tra xem file thực sự đổi chưa. Nếu có, CDN mới kéo file mới về; nếu chưa, nó tiếp tục dùng file cũ.
  • So sánh: Purge nhanh và triệt để hơn nhưng có thể tạo tải đột biến (thực hiện kéo lại file lớn) lên server gốc. Ban linh hoạt hơn, cho phép xóa hàng loạt file có chung tiền tố.

vừa nâng cấp PRO khóa 1 phút trước   Tìm hiểu khóa học