Việc làm

5 ngày trước · Hà Nội · Tại văn phòng

Senior DevOps Engineer (CI/CD - Cloud)

Công ty Cổ phần Chứng khoán Xuân Thiện · DevOps 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 (DevOps & CI/CD, Cloud (AWS, Azure, GCP), Bảo mật (Security)). 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. 01Liveness, readiness và startup probe khác nhau thế nào? Cấu hình sai thì hậu quả gì?DevOps & CI/CD

    Gợi ý trả lời

    Readiness quyết định Pod có nhận traffic không; liveness quyết định có restart container không; startup probe tạm hoãn hai probe kia cho tới khi app khởi động xong.

    • Readiness fail: Pod bị gỡ khỏi endpoint của Service, không bị restart.
    • Liveness fail: kubelet restart container.
    • Startup probe hợp với app khởi động chậm (JVM, nạp model).

    Lỗi hay gặp:

    • Liveness kiểm tra cả DB bên ngoài: DB chậm là toàn bộ Pod bị restart dây chuyền.
    • Không có readiness: rolling update đẩy traffic vào Pod chưa sẵn sàng, gây lỗi 5xx.

    Người phỏng vấn muốn nghe: liveness chỉ nên kiểm tra chính process còn sống, phần phụ thuộc để cho readiness.

    Ôn thêm câu hỏi DevOps & CI/CD →
  2. 02Terraform state là gì? Làm việc nhóm với Terraform bạn quản lý state thế nào?DevOps & CI/CD

    Gợi ý trả lời

    State là file Terraform ghi lại ánh xạ giữa code và tài nguyên thật; Terraform dựa vào nó để tính plan. Mất hoặc lệch state là nguy cơ tạo trùng hoặc xoá nhầm tài nguyên.

    • Lưu state ở remote backend (S3, GCS, Azure Blob, Terraform Cloud), bật versioning và mã hoá.
    • Bật locking để hai người không apply cùng lúc.
    • Tách state theo môi trường/thành phần để giảm phạm vi ảnh hưởng.
    • Không commit state lên Git: trong đó có thể chứa secret.
    • Chạy plan trong CI cho mỗi PR, apply qua pipeline có duyệt.

    Hay sai: sửa tay trên console rồi quên, tạo drift; nên định kỳ chạy plan để phát hiện.

    Ôn thêm câu hỏi DevOps & CI/CD →
  3. 03Bạn quản lý secret (mật khẩu DB, API key) trong pipeline và Kubernetes thế nào?DevOps & CI/CD

    Gợi ý trả lời

    Nguyên tắc: secret không nằm trong Git, không in ra log, được cấp theo quyền tối thiểu và xoay vòng được.

    • Dùng secret manager (Vault, AWS Secrets Manager, Azure Key Vault, GCP Secret Manager) làm nguồn gốc.
    • Đồng bộ vào cluster bằng External Secrets Operator hoặc CSI driver; nếu phải để trong Git thì mã hoá (Sealed Secrets, SOPS).
    • Kubernetes Secret mặc định chỉ base64: bật mã hoá etcd và giới hạn RBAC đọc Secret.
    • CI dùng biến được che (masked), ưu tiên OIDC để lấy credential ngắn hạn thay vì key dài hạn.
    • Bật quét secret khi push code.

    Người phỏng vấn muốn nghe: biết base64 không phải mã hoá, và có kế hoạch xoay key khi bị lộ.

    Ôn thêm câu hỏi DevOps & CI/CD →
  4. 04Load balancer tầng 4 và tầng 7 khác nhau thế nào? Khi nào dùng loại nào?Cloud (AWS, Azure, GCP)

    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.

    Ôn thêm câu hỏi Cloud (AWS, Azure, GCP) →
  5. 05Hoá đơ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?Cloud (AWS, Azure, GCP)

    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.

    Ôn thêm câu hỏi Cloud (AWS, Azure, GCP) →
  6. 06Bạn đưa bảo mật vào quy trình phát triển phần mềm (DevSecOps) thế nào?Bảo mật (Security)

    Gợi ý trả lời

    Ý chính là "shift left": phát hiện lỗi sớm, tự động trong pipeline, nhưng không làm chậm team quá mức.

    • Thiết kế: threat modeling cho tính năng nhạy cảm (thanh toán, đăng nhập).
    • Code: SAST, quét secret ở pre-commit và CI.
    • Phụ thuộc: SCA quét thư viện có lỗ hổng, cập nhật tự động; tạo SBOM.
    • Build: quét image container, ký artifact.
    • Chạy thử: DAST trên staging.
    • Hạ tầng: quét IaC tìm cấu hình sai.

    Chặn build chỉ với lỗi mức cao có thể khai thác; lỗi khác đưa vào backlog có hạn xử lý.

    Hay sai: bật mọi công cụ với ngưỡng gắt, dev ngập báo động giả và tìm cách tắt.

    Ôn thêm câu hỏi Bảo mật (Security) →
  7. 07So sánh rolling update, blue-green và canary. Bạn chọn chiến lược nào cho hệ thống thanh toán?DevOps & CI/CD · Senior

    Gợi ý trả lời

    Cả ba đều giảm rủi ro khi deploy nhưng khác ở chi phí và tốc độ phát hiện lỗi.

    • Rolling: thay dần từng Pod, rẻ, mặc định của Deployment; hai phiên bản chạy song song một lúc.
    • Blue-green: dựng nguyên bộ mới, chuyển traffic một lần, rollback tức thì; tốn gấp đôi tài nguyên.
    • Canary: đưa một phần nhỏ traffic sang bản mới, theo dõi metric rồi tăng dần; cần công cụ (service mesh, Argo Rollouts) và metric tốt.

    Với thanh toán, canary kèm tự động rollback theo tỷ lệ lỗi và độ trễ là lựa chọn hợp lý.

    Hay sai: quên migration DB. Schema phải tương thích cả bản cũ lẫn mới (expand rồi mới contract).

    Ôn thêm câu hỏi DevOps & CI/CD →
  8. 08Production đang lỗi 5xx tăng vọt sau một lần deploy. Bạn xử lý thế nào?DevOps & CI/CD · Senior

    Gợi ý trả lời

    Ưu tiên khôi phục dịch vụ trước, tìm nguyên nhân gốc sau.

    1. Xác nhận phạm vi qua dashboard: endpoint nào, từ lúc nào, có trùng thời điểm deploy không.
    2. Nếu nghi deploy: rollback ngay (kubectl rollout undo, hoặc revert trong GitOps) thay vì sửa nóng.
    3. Thông báo kênh sự cố, chỉ định người điều phối, ghi lại mốc thời gian.
    4. Sau khi ổn định: so sánh log, trace, diff cấu hình giữa hai phiên bản.
    5. Viết postmortem không đổ lỗi, có hành động phòng ngừa (thêm test, canary, alert).

    Người phỏng vấn muốn nghe: bình tĩnh, có thứ tự, biết giảm thiệt hại trước, và rút kinh nghiệm thành thay đổi quy trình.

    Ôn thêm câu hỏi DevOps & CI/CD →
  9. 09SLI, SLO và error budget là gì? Bạn đặt alert dựa trên chúng thế nào?DevOps & CI/CD · Senior

    Gợi ý trả lời

    SLI là chỉ số đo trải nghiệm người dùng (tỷ lệ request thành công, độ trễ p99); SLO là mục tiêu cho SLI đó trong một khoảng thời gian; error budget là phần được phép hỏng còn lại.

    • Ví dụ: SLO 99.9% request thành công trong 30 ngày, nghĩa là budget 0.1% request lỗi.
    • Alert theo burn rate: budget đang bị tiêu nhanh bất thường (đo trên cửa sổ ngắn và dài) thì báo, thay vì báo mỗi khi CPU cao.
    • Hết budget: ưu tiên việc ổn định, chậm lại tính năng mới.

    Hay sai: đặt alert trên nguyên nhân (CPU, RAM) thay vì triệu chứng người dùng thấy, dẫn đến báo động giả và mệt mỏi vì alert.

    Ôn thêm câu hỏi DevOps & CI/CD →
  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 ở Công ty Cổ phần Chứng khoán Xuân Thiện?

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