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), AI / Machine Learning). 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.
01Production đ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
Ôn thêm câu hỏi DevOps & CI/CD →Ưu tiên khôi phục dịch vụ trước, tìm nguyên nhân gốc sau.
- 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.
- Nếu nghi deploy: rollback ngay (
kubectl rollout undo, hoặc revert trong GitOps) thay vì sửa nóng. - Thông báo kênh sự cố, chỉ định người điều phối, ghi lại mốc thời gian.
- Sau khi ổn định: so sánh log, trace, diff cấu hình giữa hai phiên bản.
- 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.
02SLI, 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
Ôn thêm câu hỏi DevOps & CI/CD →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.
03GitOps là gì? Bạn tổ chức repo và quy trình deploy cho nhiều môi trường, nhiều service ra sao?DevOps & CI/CD · Senior
Gợi ý trả lời
Ôn thêm câu hỏi DevOps & CI/CD →GitOps coi Git là nguồn sự thật cho trạng thái hệ thống; một agent trong cluster (Argo CD, Flux) liên tục kéo và đồng bộ, thay vì CI đẩy thẳng bằng
kubectl.- Tách repo code ứng dụng và repo cấu hình deploy; CI build image rồi mở PR cập nhật tag.
- Cấu hình dùng chung bằng Helm chart hoặc Kustomize, overlay riêng cho dev/staging/prod.
- Lên prod qua PR có review; rollback bằng
git revert. - Bật phát hiện drift và tự sửa lệch cấu hình.
- CI không cần giữ credential admin của cluster.
Người phỏng vấn muốn nghe: cân nhắc được đánh đổi, ví dụ secret vẫn cần giải pháp riêng và số lượng PR cập nhật tag có thể nhiều.
04Cô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?Cloud (AWS, Azure, GCP) · Senior
Gợi ý trả lời
Ôn thêm câu hỏi Cloud (AWS, Azure, GCP) →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.
05Multi-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
Ôn thêm câu hỏi Cloud (AWS, Azure, GCP) →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.
06Xây dựng AI agent có gọi tool (API, database) cần lưu ý gì về độ tin cậy và an toàn?AI / Machine Learning · Senior
Gợi ý trả lời
Ôn thêm câu hỏi AI / Machine Learning →Agent cho LLM tự quyết định gọi tool theo nhiều bước, nên lỗi và rủi ro tăng theo số bước; cần giới hạn quyền và kiểm soát chặt.
- Tool rõ ràng: mô tả và schema tham số chặt, kiểm tra đầu vào bằng code trước khi thực thi.
- Quyền tối thiểu: tool chỉ đọc khi có thể; thao tác ghi, xoá, chuyển tiền cần người xác nhận.
- Prompt injection: nội dung lấy từ web, email, tài liệu là dữ liệu không tin cậy; không để nó điều khiển tool nhạy cảm.
- Giới hạn số bước, timeout, ngân sách token; xử lý lỗi tool và cho phép thử lại có kiểm soát.
- Log và tracing toàn bộ chuỗi hành động để audit.
- Đánh giá theo tỷ lệ hoàn thành tác vụ trên bộ kịch bản.
Người phỏng vấn muốn nghe: workflow cố định thường đủ; chỉ dùng agent tự do khi thật cần.
07Container 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
Ôn thêm câu hỏi DevOps & CI/CD →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
--privilegedhoặc kernel có lỗ hổng.08Bạn viết Dockerfile thế nào để image nhỏ, build nhanh và an toàn?DevOps & CI/CD · Junior
Gợi ý trả lời
Ôn thêm câu hỏi DevOps & CI/CD →Ý 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
.dockerignoreloạinode_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.
09CI, Continuous Delivery và Continuous Deployment khác nhau thế nào? Một pipeline cơ bản gồm những bước gì?DevOps & CI/CD · Junior
Gợi ý trả lời
Ôn thêm câu hỏi DevOps & CI/CD →CI là tự động build và test mỗi lần merge code; Continuous Delivery là luôn có bản sẵn sàng deploy nhưng lên production cần bấm duyệt; Continuous Deployment thì tự lên production nếu mọi bước đều qua.
Pipeline cơ bản:
- Checkout, cài dependency (có cache).
- Lint, unit test, quét bảo mật (SAST, dependency, secret).
- Build artifact/image, gắn tag theo commit SHA, đẩy lên registry.
- Deploy lên staging, chạy smoke/integration test.
- Deploy production (thủ công hoặc tự động), có cách rollback.
Người phỏng vấn muốn nghe: build một lần, dùng cùng một artifact cho mọi môi trường; chỉ cấu hình là khác nhau.
10Vì sao bạn muốn rời công ty hiện tại?Câu hỏi hành vi & văn hoá
Gợi ý trả lời
Ôn thêm câu hỏi Câu hỏi hành vi & văn hoá →Trả lời thật nhưng hướng về phía trước: nói điều bạn đang tìm kiếm, không kể xấu nơi cũ.
Lý do chấp nhận được: muốn thử thách mới, muốn làm sản phẩm, dự án kết thúc, công ty tái cấu trúc, thu nhập chưa tương xứng (nói khéo).
Câu mẫu: "Em đã làm 2 năm ở dự án outsourcing, học được nhiều về quy trình và làm việc với khách nước ngoài. Giờ em muốn gắn bó lâu dài với một sản phẩm để thấy được tác động của những gì mình làm, và vị trí bên mình đúng hướng đó."
Hay sai: chê sếp, chê đồng nghiệp, kể chuyện drama. Người phỏng vấn sẽ nghĩ bạn cũng sẽ nói về công ty họ như vậy. Nếu nhảy việc nhiều, chuẩn bị lời giải thích cho từng lần.
Bạn đã phỏng vấn ở OL Vietnam?
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