Việc làm

07/10 · Hồ Chí Minh · Tại văn phòng

Quality Control Intern

TAPTAP · Automation Tester

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 (Tester / QA, SQL & Database, 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.

  1. 01QA và QC khác nhau thế nào? Tester trong team của bạn đang làm phần nào?Tester / QA · Junior

    Gợi ý trả lời

    QA (Quality Assurance) lo quy trình để lỗi ít xảy ra ngay từ đầu; QC (Quality Control) kiểm tra sản phẩm để tìm lỗi đã xảy ra. Testing là một hoạt động chính của QC.

    • QA: review requirement, đặt chuẩn Definition of Done, checklist review code, quy trình release.
    • QC: viết và chạy test case, log bug, verify fix, regression.
    • Thực tế ở Việt Nam, chức danh "QA" thường làm cả hai, nhưng phần lớn thời gian là QC.

    Người phỏng vấn muốn nghe: bạn hiểu khái niệm và kể được việc cụ thể mình làm, ví dụ "Em tham gia review user story từ sprint planning để hỏi rõ acceptance criteria, rồi mới viết test case".

    Ôn thêm câu hỏi Tester / QA →
  2. 02Bạ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

    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.

    Ôn thêm câu hỏi Tester / QA →
  3. 03Mộ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

    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.

    Ôn thêm câu hỏi Tester / QA →
  4. 04WHERE và HAVING khác nhau thế nào? Thứ tự thực thi logic của một câu SELECT ra sao?SQL & Database · Junior

    Gợi ý trả lời

    WHERE lọc từng dòng trước khi gom nhóm; HAVING lọc sau GROUP BY, nên dùng được hàm tổng hợp như COUNT, SUM.

    Thứ tự logic: FROM/JOIN → WHERE → GROUP BY → HAVING → SELECT → DISTINCT → ORDER BY → LIMIT/OFFSET.

    SELECT department_id, AVG(salary) AS avg_salary
    FROM employees
    WHERE status = 'active'
    GROUP BY department_id
    HAVING AVG(salary) > 20000000;
    
    • Vì SELECT chạy sau WHERE, bạn không dùng được alias của SELECT trong WHERE (đa số DB).
    • Điều kiện không cần hàm tổng hợp thì nên để ở WHERE để giảm số dòng phải gom nhóm.

    Người phỏng vấn muốn nghe: bạn hiểu thứ tự logic, từ đó giải thích được vì sao alias hoặc aggregate dùng sai chỗ bị lỗi.

    Ôn thêm câu hỏi SQL & Database →
  5. 05Index là gì, hoạt động thế nào? Có nên đánh index cho mọi cột không?SQL & Database · Junior

    Gợi ý trả lời

    Index là cấu trúc dữ liệu phụ (thường là B-Tree) giúp tìm dòng theo giá trị cột mà không phải quét cả bảng, đổi lại tốn dung lượng và làm chậm thao tác ghi.

    • B-Tree hợp với so sánh =, <, >, BETWEEN, ORDER BY, LIKE 'abc%'.
    • Mỗi INSERT/UPDATE/DELETE phải cập nhật thêm mọi index liên quan.
    • Cột có độ chọn lọc thấp (vd. gender, is_deleted) đánh index riêng thường ít tác dụng.

    Không nên đánh index tràn lan: chỉ thêm cho cột hay xuất hiện trong WHERE, JOIN, ORDER BY của các query quan trọng, rồi kiểm tra bằng EXPLAIN.

    Hay sai: bọc cột trong hàm, vd. WHERE YEAR(created_at) = 2026 hoặc LOWER(email) = ..., khiến index thường trên cột đó không được dùng. Hãy viết lại thành khoảng thời gian hoặc dùng index trên biểu thức.

    Ôn thêm câu hỏi SQL & Database →
  6. 06Precision, recall và F1 là gì? Với dữ liệu mất cân bằng, vì sao accuracy dễ đánh lừa?AI / Machine Learning · Junior

    Gợi ý trả lời

    Precision là trong các ca mô hình báo dương, bao nhiêu ca đúng; recall là trong các ca dương thật, mô hình bắt được bao nhiêu; F1 là trung bình điều hoà của hai chỉ số.

    Ví dụ phát hiện gian lận với 1% giao dịch gian lận: mô hình đoán "không gian lận" cho mọi giao dịch đạt accuracy 99% nhưng recall bằng 0.

    • Ưu tiên recall khi bỏ sót đắt (bệnh, gian lận); ưu tiên precision khi báo nhầm đắt (chặn nhầm giao dịch).
    • Dùng PR-AUC thay vì chỉ ROC-AUC khi lớp dương rất hiếm.
    • Chọn ngưỡng quyết định theo chi phí nghiệp vụ, không mặc định 0.5.

    Người phỏng vấn muốn nghe: gắn metric với hậu quả kinh doanh.

    Ôn thêm câu hỏi AI / Machine Learning →
  7. 07Smoke test, sanity test và regression test khác nhau thế nào?Tester / QA · Junior

    Gợi ý trả lời

    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.

    Ôn thêm câu hỏi Tester / QA →
  8. 08Requirement 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

    Đừ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."

    Ôn thêm câu hỏi Tester / QA →
  9. 09Dev 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

    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.

    Ôn thêm câu hỏi Tester / QA →
  10. 10Điểm yếu của bạn là gì?Câu hỏi hành vi & văn hoá

    Gợi ý trả lời

    Chọn điểm yếu thật, không chí mạng với vị trí, và cho thấy bạn đang cải thiện.

    Cấu trúc: điểm yếu, ảnh hưởng đã gặp, việc bạn đang làm để khắc phục, tiến bộ đến nay.

    Câu mẫu: "Trước đây em hay ngại hỏi khi bị kẹt, tự loay hoay quá lâu, có lần làm trễ task. Giờ em tự đặt giới hạn: kẹt quá một hai giờ mà không có hướng thì em hỏi đồng đội, kèm những gì đã thử. Từ khi làm vậy em xong việc đúng hạn hơn và học được nhanh hơn từ người khác."

    Ví dụ khác có thể dùng: chưa quen nói trước đám đông, tiếng Anh nói chưa trôi chảy, hay ôm việc.

    Hay sai: "Điểm yếu của em là quá cầu toàn" (nghe như né câu hỏi), hoặc nêu điểm yếu là kỹ năng cốt lõi của vị trí.

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

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

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