Đây là câu phân loại rõ senior với junior. Người hỏi muốn nghe trình tự xử lý sự cố và thái độ trách nhiệm, không phải một câu chuyện bạn chưa bao giờ sai.
Trình tự nên kể, theo đúng thứ tự ưu tiên:
1. Khôi phục dịch vụ trước, tìm nguyên nhân sau. Rollback hoặc tắt feature flag ngay; không ngồi đọc log trong lúc người dùng đang lỗi.
2. Thông báo. Báo lead và kênh vận hành ngay khi phát hiện, kèm phạm vi ảnh hưởng ước lượng (bao nhiêu người dùng, chức năng nào, từ lúc nào).
3. Chặn thiệt hại lan rộng. Ngưng job đang chạy, khoá endpoint liên quan nếu cần.
4. Đánh giá dữ liệu. Có bản ghi nào bị ghi sai không, có cần script sửa dữ liệu và đối chiếu lại không.
5. Postmortem không đổ lỗi. Ghi lại dòng thời gian, nguyên nhân gốc, và thay đổi hệ thống để lỗi cùng loại không lặp.
Ví dụ mẫu: "Em chạy một migration đổi kiểu cột trên bảng đơn hàng vào giờ cao điểm, bảng bị khoá và API đơn hàng lỗi khoảng 6 phút. Em rollback ngay và báo kênh vận hành trong 2 phút đầu. Sau đó em viết postmortem: nguyên nhân gốc là migration khoá bảng chứ không phải lỗi cú pháp. Team đổi quy trình: migration chạy ngoài giờ cao điểm, tách thành bước thêm cột mới rồi backfill, và thêm bước bắt buộc chạy thử trên bản sao dữ liệu."
Lỗi hay mắc:
- Nói "em chưa bao giờ làm hỏng production" — nếu bạn đã đi làm vài năm, câu này nghe không đáng tin, hoặc cho thấy bạn chưa từng đụng vào phần quan trọng.
- Đổ cho quy trình, cho người khác merge, cho môi trường test không giống production.
- Dừng ở chỗ "em sửa xong rồi" mà không có phần thay đổi hệ thống — mất phần điểm cao nhất.
Điểm cộng: nêu được chỉ số (mất bao lâu để phát hiện, bao lâu để khôi phục) và biện pháp phòng ngừa cụ thể như cảnh báo tự động, canary release, hoặc feature flag.