📝 Checkpoint: E2E, feature flag và rollback

By Better Wise

Quiz

  1. Trong pipeline, E2E Playwright nên chạy ở đâu so với smoke test và bước promote lên production?
    • Chạy sau smoke test và trước bước promote lên production.
    • Chạy trước smoke test để kiểm tra nghiệp vụ trước.
    • Chạy sau khi đã promote lên production để kiểm tra bản thật.
    • Chạy song song với smoke test ngay sau khi deploy staging.
  2. Một test Playwright lúc đỏ lúc xanh trên cùng một đoạn code được gọi là gì, và cách xử lý đúng?
    • Test chậm; nên thêm waitForTimeout để ổn định.
    • Flaky test; chỉ cần tăng retries cho đến khi luôn xanh.
    • Test bình thường; đỏ 1/5 lần là chấp nhận được.
    • Flaky test; phải điều tra nguyên nhân, không chữa bằng cách bấm chạy lại.
  3. Vì sao tính năng rủi ro (đụng tiền hoặc dữ liệu người dùng) phải có feature flag mặc định là tắt?
    • Vì mặc định tắt giúp không cần viết smoke test sau khi tắt flag.
    • Vì mặc định tắt là điều kiện để flag tự hết hạn.
    • Vì flag mặc định bật sẽ làm chậm thời gian build.
    • Vì nếu config service lỗi, hệ thống rơi về nhánh cũ thay vì tự bật tính năng rủi ro.
  4. Bạn tắt flag trên dashboard, đợi 2 phút mà lỗi vẫn còn. Đâu KHÔNG phải là nguyên nhân hợp lý cần kiểm tra?
    • Chỉ một instance nhận config mới, các instance khác vẫn chạy config cũ.
    • CDN hoặc trình duyệt vẫn cache HTML/JS bản cũ.
    • App chỉ đọc config lúc khởi động, chưa restart hoặc chưa đọc lại.
    • Flag chưa có ngày hết hạn nên không có hiệu lực.
  5. Sau deploy, toàn bộ API trả 500 và lỗi không liên quan tới feature flag nào. Tầng rollback nào nên dùng?
    • Restore database từ backup ngay lập tức.
    • Sửa nóng trực tiếp trên production cho nhanh.
    • Tắt toàn bộ feature flag trên production.
    • Deploy lại artifact/image của phiên bản trước đó.
  6. Câu nào mô tả đúng điều kiện để một bản backup được coi là dùng được?
    • File backup được tạo tự động mỗi ngày bởi cron job.
    • File backup đã được restore thử thành công ít nhất một lần.
    • File backup được lưu cùng máy chủ production cho dễ lấy.
    • File backup có timestamp trong tên và dung lượng lớn.
  7. Trong Playwright, để mở HTML report và xem trace, screenshot sau khi test đỏ, bạn chạy lệnh: ____
  8. Muốn tắt một tính năng lỗi gần như tức thì, app phải đọc flag từ config service hoặc database với ____ ngắn, thay vì hằng số nằm trong bundle.
  9. Trước khi deploy production, artifact phải ____: cùng một tag luôn ứng với đúng một bản build, không build lại từ nhánh cũ.
  10. Hãy viết rollback plan 5 dòng cho app bạn đang làm, rồi tự đánh giá theo rubric dưới đây.

Sign in to submit answers.