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 (Tester / QA, 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.
01Bạn test một REST API như thế nào? Thường kiểm tra những gì?Tester / QA
Gợi ý trả lời
Ôn thêm câu hỏi Tester / QA →Test API là kiểm tra hợp đồng giữa client và server, không cần UI.
- Status code đúng từng trường hợp: 200/201, 400 khi dữ liệu sai, 401/403 khi thiếu quyền, 404, 409, 500.
- Response body: đúng schema, kiểu dữ liệu, trường bắt buộc, giá trị khớp DB.
- Validation: thiếu trường, sai kiểu, giá trị biên, chuỗi rất dài, ký tự đặc biệt.
- Phân quyền: user A có đọc/sửa được dữ liệu của user B không.
- Idempotency & trạng thái: gọi lại POST/PUT nhiều lần, thứ tự gọi API sai.
- Hiệu năng cơ bản: thời gian phản hồi, phân trang.
Công cụ hay dùng: Postman (collection, environment, script kiểm tra), sau đó đưa vào CI bằng Newman hoặc framework code như REST Assured, Playwright API.
Người phỏng vấn muốn nghe: bạn có test case phân quyền và lỗi, không chỉ gọi thử thấy 200 là xong.
02Khi nào nên automation, khi nào nên giữ manual?Tester / QA
Gợi ý trả lời
Ôn thêm câu hỏi Tester / QA →Automation đáng tiền khi chạy lặp lại nhiều và ổn định; manual hợp với thứ thay đổi liên tục hoặc cần cảm nhận người dùng.
Nên automation:
- Bộ regression và smoke chạy mỗi build/release.
- Test API, tính toán nghiệp vụ nhiều bộ dữ liệu (data-driven).
- Luồng chính ít thay đổi giao diện.
Nên giữ manual:
- Tính năng mới, UI còn thay đổi theo sprint.
- Exploratory, usability, kiểm tra trực quan.
- Case chỉ chạy một hai lần, hoặc chi phí dựng môi trường quá lớn.
Nên nhắc chi phí bảo trì: script hỏng vì locator thay đổi cũng tốn thời gian. Ưu tiên tầng API/unit trước UI theo mô hình test pyramid.
Hay sai: nói "automation hết cho nhanh". Người phỏng vấn muốn thấy bạn biết tính ROI.
03Dự án sắp release nhưng không đủ thời gian chạy hết regression. Bạn làm gì?Tester / QA · Senior
Gợi ý trả lời
Ôn thêm câu hỏi Tester / QA →Chuyển sang test theo rủi ro (risk-based testing) và minh bạch với team về phần chưa test.
- Xác định thay đổi trong bản release và vùng code bị ảnh hưởng (hỏi dev, xem danh sách commit/ticket).
- Ưu tiên: luồng tạo ra tiền hoặc dữ liệu quan trọng (thanh toán, đăng nhập, đặt hàng), chỗ hay có bug trong quá khứ, tính năng mới.
- Chạy bộ automation sẵn có, người tập trung vào phần automation chưa phủ.
- Báo cáo rõ: đã test gì, chưa test gì, rủi ro còn lại, đề xuất (release có điều kiện, feature flag, theo dõi sau release).
- Quyết định release là của PO/PM dựa trên thông tin bạn đưa.
Người phỏng vấn muốn nghe: bạn không âm thầm bỏ qua test, cũng không cố chặn release; bạn cung cấp thông tin để team quyết định. Về lâu dài, đề xuất tăng automation cho regression.
04Bạ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
Ôn thêm câu hỏi Bảo mật (Security) →Ý 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.
05Phát hiện một máy chủ có dấu hiệu bị xâm nhập. Bạn ứng phó theo các bước nào?Bảo mật (Security) · Senior
Gợi ý trả lời
Ôn thêm câu hỏi Bảo mật (Security) →Theo vòng đời ứng phó sự cố: chuẩn bị, phát hiện và phân tích, ngăn chặn, loại bỏ, khôi phục, rút kinh nghiệm.
- Xác nhận và báo cáo theo quy trình, lập nhóm xử lý, ghi mốc thời gian.
- Ngăn chặn: cô lập máy khỏi mạng nhưng không tắt nguồn vội, để giữ bằng chứng trong RAM.
- Thu thập bằng chứng: snapshot đĩa, bộ nhớ, log; giữ chuỗi bảo quản.
- Xác định phạm vi: tài khoản, máy khác, dữ liệu bị ảnh hưởng.
- Loại bỏ và khôi phục: dựng lại từ image sạch, đổi toàn bộ credential liên quan, vá lỗ hổng gốc.
- Sau sự cố: báo cáo, bổ sung rule phát hiện; thông báo theo nghĩa vụ pháp lý nếu lộ dữ liệu cá nhân.
Hay sai: chỉ xoá mã độc rồi dùng tiếp máy đó.
06Bạn chọn framework automation (Selenium, Playwright, Cypress…) dựa trên tiêu chí nào?Tester / QA · Senior
Gợi ý trả lời
Ôn thêm câu hỏi Tester / QA →Không có framework tốt nhất, chỉ có cái hợp với sản phẩm và team.
- Loại ứng dụng: web, mobile (Appium hoặc framework native), desktop, API.
- Ngôn ngữ của team: nên trùng với dev để họ cùng review và viết test.
- Trình duyệt cần hỗ trợ, có cần nhiều tab/domain, iframe, file upload.
- Tốc độ và độ ổn định: auto-wait, chạy song song, retry, trace khi lỗi.
- Tích hợp CI/CD, báo cáo, chạy trên container.
- Cộng đồng, tài liệu, khả năng tuyển người.
Ví dụ: "Dự án web mới, team dùng TypeScript, em chọn Playwright vì auto-wait giảm test chập chờn, chạy song song sẵn, có trace viewer để debug. Selenium vẫn hợp với dự án Java có sẵn nhiều script."
Hay sai: chọn vì "đang hot" mà không có lý do gắn với dự án.
07Test automation của bạn hay bị flaky (lúc pass lúc fail). Bạn xử lý thế nào?Tester / QA · Senior
Gợi ý trả lời
Ôn thêm câu hỏi Tester / QA →Flaky test làm team mất niềm tin vào automation, nên cần xử lý có hệ thống chứ không chỉ bấm chạy lại.
Nguyên nhân thường gặp:
- Chờ bằng sleep cứng thay vì chờ điều kiện (element hiển thị, API trả về).
- Locator dễ vỡ (XPath dài, phụ thuộc thứ tự); nên dùng data-testid hoặc role.
- Dữ liệu test dùng chung, test phụ thuộc thứ tự chạy.
- Môi trường test không ổn định, dịch vụ bên thứ ba.
Cách làm:
- Theo dõi tỷ lệ fail từng test, cách ly test flaky khỏi pipeline chặn release cho tới khi sửa.
- Mỗi test tự tạo và dọn dữ liệu của mình; mock dịch vụ ngoài khi phù hợp.
- Lưu screenshot, video, trace khi fail để tìm nguyên nhân.
Hay sai: cấu hình retry thật nhiều để che lỗi.
08Nếu được giao xây dựng quy trình QA cho một team chưa có tester, bạn bắt đầu từ đâu?Tester / QA · Senior
Gợi ý trả lời
Ôn thêm câu hỏi Tester / QA →Bắt đầu từ hiểu hiện trạng và rủi ro, rồi cải thiện từng bước thay vì áp nguyên một quy trình nặng.
- Tuần đầu: tìm hiểu sản phẩm, luồng nghiệp vụ chính, lịch sử bug sau release, cách team đang làm việc.
- Nền tảng: thống nhất quy trình bug (template, severity, vòng đời ticket), Definition of Done có bước test, môi trường test tách khỏi production.
- Shift-left: tham gia refinement để làm rõ acceptance criteria trước khi code.
- Phủ test: bộ smoke cho luồng quan trọng, sau đó automation dần (ưu tiên API), đưa vào CI.
- Đo lường: số bug lọt ra production, thời gian xử lý bug, độ phủ regression, để chứng minh hiệu quả.
Người phỏng vấn muốn nghe: bạn biết ưu tiên, làm việc với dev chứ không đứng ngoài "bắt lỗi", và đo được kết quả.
09Tell me about a technical decision you made and why.Phỏng vấn tiếng Anh
Gợi ý trả lời
Ôn thêm câu hỏi Phỏng vấn tiếng Anh →"In my last project, we needed to send notifications to users after each order. Instead of calling the notification service directly, I proposed using a message queue. The main reason was reliability: if the notification service was down, messages would wait in the queue instead of being lost. It also made the order API faster. The trade-off was more infrastructure to maintain, but the team agreed it was worth it."
Mẹo: nói theo thứ tự vấn đề, các lựa chọn, lý do chọn, đánh đổi. Các cụm hữu ích: "The main reason was…", "The trade-off was…", "We considered… but…". Người Việt hay quên nói phần đánh đổi, trong khi đó là điểm người phỏng vấn chờ nghe.
10Bạn phản ứng thế nào khi nhận góp ý tiêu cực về công việc của mình?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á →Cho thấy bạn tách góp ý khỏi cảm xúc cá nhân và biến nó thành hành động.
- Lắng nghe hết, hỏi lại để hiểu ví dụ cụ thể và kỳ vọng.
- Cảm ơn, kể cả khi chưa đồng ý hoàn toàn; nếu có góc nhìn khác, trao đổi bằng thông tin, không phòng thủ.
- Lên kế hoạch cải thiện và chủ động xin phản hồi lại sau một thời gian.
Câu mẫu: "Có lần lead góp ý code review của em quá dài, khó review. Lúc đầu em hơi chột dạ, nhưng em hỏi anh muốn chia thế nào cho dễ. Từ đó em tách pull request nhỏ theo từng thay đổi, thời gian review của team giảm hẳn và em cũng ít bị yêu cầu sửa lại hơn."
Hay sai: nói "em luôn vui vẻ đón nhận mọi góp ý" mà không có ví dụ.
Bạn đã phỏng vấn ở RANGSTRUP IT 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