Việc làm

07/10 · Hà Nội · Tại văn phòng

Kỹ sư Giải pháp Cloud

Viettel · Cloud Engineer

Xem mô tả & ứng tuyển trên ITviecMô tả công việc, lương và ứng tuyển nằm ở ITviec.

10 câu hỏi có thể gặp khi phỏng vấn

Chọn theo kỹ năng và cấp của tin (Cloud (AWS, Azure, GCP), DevOps & CI/CD, Python). Gợi ý trả lời do Drama Công Ty biên soạn để bạn ôn nhanh, không phải đề của công ty.

  1. 01Multi-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?Cloud (AWS, Azure, GCP) · 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.

    Ôn thêm câu hỏi Cloud (AWS, Azure, GCP) →
  2. 02IaaS, PaaS và SaaS khác nhau thế nào? Cho ví dụ dịch vụ thuộc từng loại.Cloud (AWS, Azure, GCP) · 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.

    Ôn thêm câu hỏi Cloud (AWS, Azure, GCP) →
  3. 03Region 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ố?Cloud (AWS, Azure, GCP) · 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 để ý.

    Ôn thêm câu hỏi Cloud (AWS, Azure, GCP) →
  4. 04Container khác máy ảo (VM) ở điểm nào? Khi nào vẫn nên dùng VM?DevOps & CI/CD · Junior

    Gợi ý trả lời

    Container dùng chung kernel của máy chủ và cô lập bằng namespace + cgroup, nên khởi động nhanh và nhẹ; VM ảo hoá cả phần cứng và chạy một hệ điều hành riêng.

    • Container: nhẹ, đóng gói ứng dụng cùng thư viện, hợp microservice và CI/CD.
    • VM: cô lập mạnh hơn, chạy được kernel/OS khác (Windows trên host Linux), hợp workload cần ranh giới bảo mật rõ hoặc phần mềm cũ.
    • Thực tế hai thứ thường đi cùng nhau: node Kubernetes chính là các VM trên cloud.

    Hay sai: nói container "an toàn như VM". Container thoát ra host được nếu chạy --privileged hoặc kernel có lỗ hổng.

    Ôn thêm câu hỏi DevOps & CI/CD →
  5. 05Bạn viết Dockerfile thế nào để image nhỏ, build nhanh và an toàn?DevOps & CI/CD · Junior

    Gợi ý trả lời

    Ý chính: dùng multi-stage build, sắp xếp layer để tận dụng cache, và không chạy bằng root.

    FROM node:22-alpine AS build
    WORKDIR /app
    COPY package*.json ./
    RUN npm ci
    COPY . .
    RUN npm run build
    
    FROM node:22-alpine
    USER node
    COPY --from=build /app/dist /app
    
    • Copy file khai báo dependency trước, code sau, để đổi code không phải cài lại package.
    • Dùng .dockerignore loại node_modules, .git, file .env.
    • Không nhét secret vào image (kể cả ở layer đã xoá); dùng build secret hoặc biến môi trường lúc chạy.
    • Ghim phiên bản base image, quét lỗ hổng trong pipeline.
    Ôn thêm câu hỏi DevOps & CI/CD →
  6. 06Đoạn code def add(item, items=[]) có vấn đề gì?Python · Junior

    Gợi ý trả lời

    Giá trị mặc định được tạo một lần khi định nghĩa hàm, không phải mỗi lần gọi. Mọi lần gọi không truyền items sẽ dùng chung một list, nên dữ liệu bị cộng dồn qua các lần gọi.

    def add(item, items=None):
        if items is None:
            items = []
        items.append(item)
        return items
    
    • Áp dụng cho mọi giá trị mặc định mutable: [], {}, set().
    • Với dataclass, dùng field(default_factory=list).
    • Với Django model field, truyền hàm chứ không truyền object: default=list, không phải default=[].

    Hay sai: dùng if not items: thay cho if items is None:. Khi caller truyền vào list rỗng có chủ đích, hàm lại tạo list mới và caller không nhận được kết quả.

    Ôn thêm câu hỏi Python →
  7. 07Giải thích VPC, public subnet, private subnet, Internet Gateway và NAT Gateway.Cloud (AWS, Azure, GCP) · 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.

    Ôn thêm câu hỏi Cloud (AWS, Azure, GCP) →
  8. 08Object storage (S3, Blob Storage, Cloud Storage) khác block storage và file storage thế nào?Cloud (AWS, Azure, GCP) · 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.

    Ôn thêm câu hỏi Cloud (AWS, Azure, GCP) →
  9. 09IAM role khác IAM user thế nào? Vì sao không nên để access key trong code?Cloud (AWS, Azure, GCP)

    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": "*".

    Ôn thêm câu hỏi Cloud (AWS, Azure, GCP) →
  10. 10Điểm mạnh lớn nhất của bạn là gì?Câu hỏi hành vi & văn hoá

    Gợi ý trả lời

    Chọn một hai điểm mạnh liên quan tới vị trí, và chứng minh bằng ví dụ thật, không liệt kê tính từ.

    Cấu trúc: điểm mạnh, ví dụ ngắn, kết quả, liên hệ với công việc mới.

    Câu mẫu: "Điểm mạnh của em là chủ động tìm nguyên nhân gốc. Ở dự án trước, hệ thống thỉnh thoảng bị timeout mà không ai tái hiện được. Em tự đọc log, thêm theo dõi ở các điểm nghi ngờ và tìm ra một truy vấn bị khoá bảng vào giờ cao điểm. Sau khi sửa, lỗi đó không còn xuất hiện. Em nghĩ điều này hữu ích với vị trí bên mình vì hệ thống có lượng truy cập lớn."

    Hay sai: "Em chăm chỉ, ham học hỏi, chịu được áp lực" mà không có ví dụ. Ai cũng nói vậy nên không đọng lại gì.

    Ôn thêm câu hỏi Câu hỏi hành vi & văn hoá →

Bạn đã phỏng vấn ở Viettel?

Kể lại các vòng và câu hỏi đã gặp (ẩn danh) để người sau ôn đúng trọng tâm.

Chia sẻ kinh nghiệm phỏng vấn