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). 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 sẽ viết test case như thế nào cho màn hình đăng nhập (email + mật khẩu)?Tester / QA · Junior
Gợi ý trả lời
Ôn thêm câu hỏi Tester / QA →Chia theo nhóm để không sót, rồi áp dụng kỹ thuật thiết kế test.
- Chức năng: đúng email/mật khẩu; sai mật khẩu; email chưa đăng ký; để trống từng trường.
- Phân vùng tương đương & giá trị biên: độ dài mật khẩu ở min-1, min, max, max+1; email sai định dạng.
- Bảo mật: khoá tài khoản sau N lần sai, mật khẩu bị che, thông báo lỗi không tiết lộ email có tồn tại hay không, thử ký tự đặc biệt/SQL injection cơ bản.
- UI/UX: nhấn Enter để submit, tab order, hiện/ẩn mật khẩu, thông báo lỗi rõ ràng.
- Khác: "Ghi nhớ đăng nhập", session hết hạn, nhiều trình duyệt/thiết bị.
Hay sai: chỉ liệt kê case happy path, hoặc liệt kê lan man không có nhóm. Nên nói thêm mỗi test case gồm: tiền điều kiện, các bước, dữ liệu, kết quả mong đợi.
02Một bug report tốt cần có những gì? Severity và Priority khác nhau ra sao?Tester / QA · Junior
Gợi ý trả lời
Ôn thêm câu hỏi Tester / QA →Bug report tốt giúp dev tái hiện được ngay mà không cần hỏi lại.
- Tiêu đề ngắn, nói rõ chỗ lỗi và hiện tượng.
- Môi trường: build/version, trình duyệt hoặc thiết bị, tài khoản test.
- Các bước tái hiện, kết quả thực tế, kết quả mong đợi.
- Bằng chứng: ảnh, video, log, request/response.
- Severity, Priority, tần suất (luôn xảy ra hay thỉnh thoảng).
Severity là mức ảnh hưởng kỹ thuật (crash, mất dữ liệu là Critical). Priority là mức gấp cần sửa theo góc nhìn business. Ví dụ: logo sai màu ở trang chủ có severity thấp nhưng priority cao trước buổi demo khách hàng; app crash ở một màn hình gần như không ai dùng có severity cao nhưng priority có thể thấp hơn.
Hay sai: tự đặt Priority thay cho PO/PM mà không trao đổi.
03Smoke test, sanity test và regression test khác nhau thế nào?Tester / QA · Junior
Gợi ý trả lời
Ôn thêm câu hỏi Tester / QA →Ba loại này khác nhau ở mục đích và phạm vi.
- Smoke test: chạy nhanh các luồng chính ngay khi có build mới để quyết định build có đủ ổn để test tiếp không. Rộng nhưng nông.
- Sanity test: sau khi sửa một bug hay thay đổi nhỏ, kiểm tra nhanh đúng chỗ đó và vùng liên quan. Hẹp nhưng sâu.
- Regression test: kiểm tra lại các chức năng đã chạy đúng để chắc thay đổi mới không làm hỏng chúng. Phạm vi lớn nhất, hợp để automation.
Ví dụ trả lời: "Ở dự án trước, mỗi build lên môi trường test em chạy bộ smoke khoảng 20 case trong 15 phút. Fix bug thì sanity phần liên quan. Trước release cả team chạy regression, phần lặp lại đã được automation."
Người phỏng vấn muốn nghe: ví dụ thực tế từ dự án của bạn, không chỉ định nghĩa.
04Requirement còn mơ hồ hoặc chưa có tài liệu, bạn test như thế nào?Tester / QA
Gợi ý trả lời
Ôn thêm câu hỏi Tester / QA →Đừng đợi tài liệu hoàn hảo; chủ động làm rõ và ghi lại giả định.
- Đặt câu hỏi cụ thể cho BA/PO ngay từ lúc refinement, ưu tiên những chỗ ảnh hưởng tới acceptance criteria.
- Tham khảo nguồn khác: bản thiết kế UI, hệ thống cũ, sản phẩm tương tự, hỏi dev về logic đã code.
- Viết test scenario ở mức cao trước, ghi rõ giả định, gửi lại cho BA/PO xác nhận.
- Kết hợp exploratory testing theo session có mục tiêu và ghi chú.
- Chỗ chưa rõ thì log thành câu hỏi/ticket thay vì tự quyết là bug hay không.
Người phỏng vấn muốn nghe: bạn chủ động và minh bạch. Ví dụ: "Em gửi danh sách 8 câu hỏi kèm giả định, PO trả lời 6, 2 câu còn lại em đánh dấu là rủi ro trong test report."
05Dev nói bug bạn log 'không phải bug' hoặc 'không tái hiện được'. Bạn xử lý ra sao?Tester / QA
Gợi ý trả lời
Ôn thêm câu hỏi Tester / QA →Giữ bình tĩnh, dựa vào bằng chứng và requirement, không tranh cãi cảm tính.
- Kiểm tra lại: đúng build, đúng môi trường, đúng dữ liệu chưa? Có thể do cache hoặc tài khoản test khác nhau.
- Bổ sung video, log, request/response; nếu được thì ngồi tái hiện cùng dev.
- Nếu tranh luận là "đúng thiết kế hay không", dẫn chiếu acceptance criteria. Requirement không nói rõ thì kéo BA/PO vào quyết định.
- Bug thỉnh thoảng mới xảy ra: ghi tần suất, điều kiện nghi ngờ, giữ ticket mở để theo dõi.
Hay sai: đóng ticket cho xong chuyện, hoặc biến nó thành chuyện cá nhân. Câu trả lời tốt cho thấy bạn coi dev là đồng đội cùng bảo vệ chất lượng.
06Bạ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.
07Khi 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.
08Dự á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.
09Could you describe the project you're currently working on?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 →"I'm working on an e-commerce platform that handles orders for several retail brands. The system is built with microservices on Node.js, using PostgreSQL and Redis, deployed on AWS. My team has six people and we work in two-week sprints. I'm mainly in charge of the order and payment services. Recently, I led the integration with a new payment gateway, from reading the API docs to handling edge cases like timeouts and duplicate callbacks."
Mẹo: đi từ tổng quan (sản phẩm làm gì, cho ai) tới vai trò của riêng bạn. Nói "my team" và "I" rõ ràng để người nghe biết phần nào bạn làm. Không cần kể tên khách hàng nếu bị ràng buộc bảo mật.
10Kể về một lần bạn bất đồng với đồng nghiệp hoặc trưởng nhóm. Bạn xử lý thế nào?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á →Dùng STAR: Situation (bối cảnh), Task (nhiệm vụ), Action (bạn làm gì), Result (kết quả). Phần Action nên chiếm nhiều nhất.
Câu mẫu:
- S: "Lead muốn dùng một thư viện mới cho module báo cáo, em thấy thư viện đó còn ít người dùng và lo về bảo trì."
- T: "Em cần nêu rủi ro mà không làm chậm tiến độ."
- A: "Em gặp riêng anh, đưa so sánh hai phương án và đề xuất làm thử một bản nhỏ trong hai ngày để đánh giá."
- R: "Kết quả thử cho thấy thư viện cũ đáp ứng đủ, anh đồng ý giữ lại. Từ đó team có thói quen làm bản thử trước khi đổi công nghệ."
Người phỏng vấn muốn nghe: bạn tranh luận bằng dữ liệu, tôn trọng người khác, và chấp nhận quyết định cuối cùng kể cả khi không theo ý mình.
Bạn đã phỏng vấn ở Netcompany?
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