Ôn phỏng vấn Cloud (AWS, Azure, GCP)

Ôn phỏng vấn

Câu hỏi phỏng vấn Cloud (AWS, Azure, GCP) thường gặp (kèm gợi ý trả lời)

Ôn phỏng vấn Cloud: mạng VPC, IAM, lưu trữ, high availability, serverless, chi phí trên AWS, Azure, GCP, kèm gợi ý trả lời. Gồm 12 câu do Drama Công Ty biên soạn: đọc ý chính rồi tự trả lời bằng ví dụ từ dự án của bạn.

  1. 01IaaS, PaaS và SaaS khác nhau thế nào? Cho ví dụ dịch vụ thuộc từng loại.Junior

    Gợi ý trả lời

    Khác nhau ở chỗ bạn tự quản lý tới tầng nào: IaaS bạn lo từ hệ điều hành trở lên, PaaS bạn chỉ lo code và dữ liệu, SaaS bạn chỉ dùng phần mềm.

    • IaaS: máy ảo EC2, Azure Virtual Machines, Compute Engine.
    • PaaS: Elastic Beanstalk, Azure App Service, Cloud Run, các DB quản lý sẵn như RDS, Cloud SQL.
    • SaaS: email, bộ văn phòng, CRM dùng qua trình duyệt.

    Người phỏng vấn muốn nghe: mô hình trách nhiệm chung (shared responsibility). Nhà cung cấp lo hạ tầng vật lý; cấu hình bảo mật, quyền truy cập và dữ liệu vẫn là việc của bạn ở mọi mô hình.

  2. 02Region và Availability Zone là gì? Thiết kế thế nào để ứng dụng không chết khi một AZ gặp sự cố?Junior

    Gợi ý trả lời

    Region là một vùng địa lý; mỗi region có nhiều Availability Zone, là các trung tâm dữ liệu tách biệt về điện, mạng, làm mát nhưng nối với nhau độ trễ thấp.

    Để chịu được mất một AZ:

    • Chạy ứng dụng ở ít nhất 2 AZ, đứng sau load balancer.
    • Dùng Auto Scaling group/managed instance group trải trên nhiều AZ.
    • Database bật chế độ Multi-AZ (bản standby ở AZ khác, failover tự động).
    • Ứng dụng stateless, session để ở Redis hoặc DB.

    Hay sai: đặt NAT Gateway hoặc một thành phần duy nhất ở một AZ, tạo điểm lỗi đơn mà không để ý.

  3. 03Giải thích VPC, public subnet, private subnet, Internet Gateway và NAT Gateway.Junior

    Gợi ý trả lời

    VPC là mạng riêng ảo của bạn trên cloud; subnet chia nhỏ dải IP; tính "public" hay "private" của subnet do route table quyết định.

    • Public subnet: route 0.0.0.0/0 tới Internet Gateway; đặt load balancer, bastion.
    • Private subnet: không có route trực tiếp ra Internet; đặt app server, database.
    • NAT Gateway: nằm ở public subnet, cho máy trong private subnet đi ra Internet (tải package, gọi API) nhưng không cho kết nối từ ngoài vào.
    • Security group lọc ở mức instance (stateful); Network ACL lọc ở mức subnet (stateless).

    Người phỏng vấn muốn nghe: database không bao giờ đặt ở public subnet, và truy cập quản trị nên đi qua bastion hoặc dịch vụ kiểu Session Manager.

  4. 04Object storage (S3, Blob Storage, Cloud Storage) khác block storage và file storage thế nào?Junior

    Gợi ý trả lời

    Object storage lưu file dạng đối tượng truy cập qua HTTP API, dung lượng gần như không giới hạn và rẻ; block storage là ổ đĩa gắn vào máy ảo; file storage là ổ mạng dùng chung qua NFS/SMB.

    • Object: ảnh, video, backup, data lake, static website. Không sửa một phần file được, phải ghi đè cả object.
    • Block (EBS, Managed Disk, Persistent Disk): ổ hệ điều hành, database tự quản; độ trễ thấp.
    • File (EFS, Azure Files, Filestore): nhiều máy cùng đọc ghi một thư mục.

    Hay sai: để bucket public để tiện chia sẻ. Nên giữ bucket private, chia sẻ bằng presigned URL hoặc CDN có kiểm soát.

  5. 05IAM role khác IAM user thế nào? Vì sao không nên để access key trong code?

    Gợi ý trả lời

    User đại diện cho một người hoặc ứng dụng với credential dài hạn; role là tập quyền được "đội" tạm thời và cấp credential ngắn hạn tự hết hạn.

    • Ứng dụng chạy trên cloud nên dùng role gắn vào máy ảo, container, function (instance profile, managed identity, service account).
    • CI/CD ngoài cloud dùng OIDC federation để lấy token ngắn hạn, không cần key cố định.
    • Áp dụng least privilege: chỉ cấp đúng action trên đúng resource.
    • Bật MFA cho người dùng, hạn chế dùng tài khoản root.

    Access key trong code dễ lộ qua Git, log, image; một khi lộ thì dùng được tới khi bị thu hồi.

    Người phỏng vấn muốn nghe: policy cụ thể, tránh "Action": "*".

  6. 06Khi nào bạn chọn serverless (Lambda, Azure Functions, Cloud Run) thay vì container hay VM?

    Gợi ý trả lời

    Serverless hợp với tải không đều, xử lý theo sự kiện, đội nhỏ không muốn vận hành server; trả tiền theo lượng dùng.

    Hợp:

    • Xử lý file khi upload, webhook, cron job, API lưu lượng thấp hoặc thất thường.

    Cân nhắc:

    • Cold start làm tăng độ trễ request đầu.
    • Giới hạn thời gian chạy, bộ nhớ, kích thước gói.
    • Tải cao và đều thì container/VM thường rẻ hơn.
    • Kết nối DB: nhiều instance mở nhiều connection, cần connection pooler hoặc proxy.
    • Khó debug và test cục bộ hơn.

    Người phỏng vấn muốn nghe: quyết định dựa trên đặc điểm tải và chi phí, không chọn vì "đang hot".

  7. 07Load balancer tầng 4 và tầng 7 khác nhau thế nào? Khi nào dùng loại nào?

    Gợi ý trả lời

    Load balancer tầng 4 phân phối theo IP/port (TCP/UDP), không đọc nội dung; tầng 7 hiểu HTTP nên định tuyến được theo path, host, header.

    • L7 (ALB, Application Gateway, HTTP(S) LB): định tuyến /api và /web tới các nhóm khác nhau, kết thúc TLS, gắn WAF, hợp web/API.
    • L4 (NLB, Azure Load Balancer): độ trễ thấp, thông lượng cao, giao thức không phải HTTP (game, MQTT, DB proxy), cần IP tĩnh.
    • Cả hai đều có health check để loại máy hỏng.

    Hay sai: health check trỏ vào trang nặng hoặc phụ thuộc DB, khiến LB loại hết máy khi DB chậm.

  8. 08Hoá đơn cloud tháng này tăng gấp đôi. Bạn tìm nguyên nhân và tối ưu chi phí thế nào?

    Gợi ý trả lời

    Bắt đầu từ dữ liệu chi phí, không đoán: xem Cost Explorer/Cost Management theo dịch vụ, region, tag và theo ngày để tìm điểm tăng.

    Thủ phạm hay gặp:

    • Tài nguyên quên tắt: máy dev, ổ đĩa, snapshot, IP tĩnh không gắn máy.
    • Data transfer: traffic ra Internet, qua NAT Gateway, giữa AZ/region.
    • Log và metric ghi quá nhiều, giữ quá lâu.
    • Auto scaling không co lại.

    Tối ưu: right-sizing, Savings Plans/Reserved cho tải nền ổn định, spot cho việc chịu ngắt quãng, lifecycle policy chuyển dữ liệu cũ sang lớp lưu trữ rẻ.

    Người phỏng vấn muốn nghe: gắn tag bắt buộc và đặt budget alert để phát hiện sớm.

  9. 09Thiết kế hạ tầng cho một web app cần chịu tải cao và sẵn sàng 99.9% trên cloud.Senior

    Gợi ý trả lời

    Trình bày theo luồng request và nói rõ điểm lỗi đơn được loại bỏ ở đâu.

    • Biên: DNS, CDN cho nội dung tĩnh, WAF.
    • Ứng dụng: load balancer L7 trước nhóm container/VM stateless trải nhiều AZ, auto scaling theo CPU hoặc số request.
    • Dữ liệu: DB quản lý sẵn Multi-AZ, read replica cho đọc nhiều, Redis làm cache và session.
    • Bất đồng bộ: queue cho việc nặng (gửi mail, xử lý ảnh).
    • Vận hành: IaC, backup tự động có thử khôi phục, giám sát và alert theo SLO.

    Người phỏng vấn muốn nghe: đánh đổi chi phí. 99.9% thường đủ với một region nhiều AZ; multi-region đắt và phức tạp hơn nhiều.

  10. 10RTO và RPO là gì? Trình bày các chiến lược disaster recovery trên cloud.Senior

    Gợi ý trả lời

    RPO là lượng dữ liệu tối đa chấp nhận mất (tính theo thời gian); RTO là thời gian tối đa để khôi phục dịch vụ. Hai con số này do nghiệp vụ quyết định và định giá chiến lược.

    Từ rẻ đến đắt:

    • Backup & restore: sao lưu sang region khác, dựng lại khi cần; RTO hàng giờ.
    • Pilot light: dữ liệu được replicate liên tục, chỉ phần lõi chạy sẵn.
    • Warm standby: bản thu nhỏ chạy sẵn ở region khác, scale lên khi failover.
    • Active-active: nhiều region cùng phục vụ; RTO/RPO gần 0, phức tạp nhất.

    Hay sai: có backup nhưng chưa bao giờ thử khôi phục. Kế hoạch DR phải được diễn tập định kỳ.

  11. 11Công ty có nhiều team, nhiều môi trường trên cloud. Bạn tổ chức account/subscription và quản trị thế nào?Senior

    Gợi ý trả lời

    Dùng mô hình landing zone: tách account (AWS), subscription (Azure) hoặc project (GCP) theo môi trường và team để cô lập quyền, chi phí và phạm vi sự cố.

    • Quản lý tập trung bằng AWS Organizations, Azure Management Groups, GCP Organization/Folder.
    • Áp guardrail ở cấp tổ chức: chặn region không dùng, bắt buộc mã hoá, cấm tắt log audit (SCP, Azure Policy, Organization Policy).
    • Đăng nhập tập trung qua SSO, cấp quyền theo nhóm.
    • Tài khoản riêng cho log audit và bảo mật, team ứng dụng không xoá được.
    • Mạng nối qua hub (Transit Gateway, hub-spoke VNet, Shared VPC).
    • Tag bắt buộc để phân bổ chi phí.

    Người phỏng vấn muốn nghe: cân bằng giữa tự chủ của team và kiểm soát tập trung.

  12. 12Multi-cloud có đáng không? Bạn tư vấn thế nào khi sếp muốn chạy song song AWS và Azure?Senior

    Gợi ý trả lời

    Multi-cloud có lý do chính đáng nhưng chi phí vận hành rất lớn; cần hỏi rõ mục tiêu trước khi đồng ý.

    Lý do hợp lý:

    • Yêu cầu pháp lý hoặc khách hàng chỉ định nhà cung cấp.
    • Dùng dịch vụ đặc thù tốt nhất của từng bên.
    • Công ty sáp nhập, mỗi bên đã dùng một cloud.

    Cái giá:

    • Đội phải giỏi hai nền tảng, IAM và mạng khác nhau.
    • Chi phí truyền dữ liệu giữa cloud.
    • Chỉ dùng mẫu số chung, mất lợi thế dịch vụ managed.

    Giảm phụ thuộc thường chỉ cần container, Terraform và tránh API độc quyền ở phần lõi.

    Người phỏng vấn muốn nghe: biết hỏi "để giải quyết vấn đề gì", không trả lời có/không ngay.

Gặp câu hỏi khác khi phỏng vấn? Kể lại ẩn danh để người sau ôn đúng trọng tâm, hoặc xem câu hỏi thật hay gặp ở nhiều công ty.