Đánh giá mức sẵn sàng làm Business Analyst
Chấm từng chiều kỹ năng và cho ra hồ sơ — biết mình đứng ở đâu trước.
Làm bài này
Product Management
Số liệu chỉ mới bằng lần chạy gần nhất — và câu hỏi thật không phải "job chạy khi nào" mà "job hỏng thì sao".
Đăng nhập để đánh dấu kỹ năng và theo dõi tiến độ.
Làm bài Đánh giá Nền tảng Kỹ thuật cho PM/BA — 3 người đã làm. Một lần làm chấm điểm cho tất cả kỹ năng trong nhóm Technical Basics, không chỉ kỹ năng này.
Làm bài đánh giáNhiều thứ chạy theo lịch (tính điểm thưởng, tổng hợp báo cáo, gửi email nhắc) — dữ liệu chỉ mới bằng lần chạy gần nhất.
Biết lịch chạy trong khu vực của mình; spec độ trễ chấp nhận được cho số tổng hợp thay vì đòi "tính liên tục".
Cron job là một việc được hẹn giờ chạy tự động theo lịch: mỗi 5 phút một lần, 2 giờ sáng mỗi ngày, hoặc 1 giờ sáng thứ Hai hằng tuần. Không ai bấm nút — đến giờ là nó chạy.
Rất nhiều thứ trong sản phẩm chạy theo lịch mà người dùng không nhìn thấy: tổng hợp báo cáo doanh thu, cộng điểm thưởng cho các đơn đã giao, gửi email nhắc giỏ hàng bỏ quên, đối soát với đơn vị vận chuyển, dọn dữ liệu tạm, xuất file cho kế toán.
Hệ quả quan trọng nhất với BA/PO: mọi con số do một job tạo ra chỉ mới bằng lần chạy gần nhất. Câu hỏi "vì sao báo cáo hôm nay chưa có đơn của sáng nay" gần như luôn có câu trả lời là lịch chạy, không phải bug. Và ngược lại: khi một job lỗi, không ai biết cho tới khi có người tình cờ nhìn vào số — trừ khi bạn đã spec sẵn ai được cảnh báo.
| Khái niệm | Nghĩa là gì | Dấu hiệu bạn đã hiểu |
|---|---|---|
| Cron / scheduler | Bộ hẹn giờ chạy một việc theo lịch cố định. | Bạn hỏi lịch chạy trước khi hứa "số cập nhật liên tục". |
| Lịch chạy | Chu kỳ: mỗi 5 phút, 02:00 hằng ngày, thứ Hai hằng tuần. | Bạn kể được lịch của các job ảnh hưởng tới màn hình của mình. |
| Múi giờ | Giờ mà lịch dựa vào; máy chủ có thể đang chạy theo UTC. | Bạn luôn ghi "09:00 giờ Việt Nam" chứ không chỉ "9h sáng". |
| Chạy chồng lần | Lần chạy trước chưa xong thì đã tới giờ chạy tiếp. | Bạn hỏi: "hai lần chạy cùng lúc thì hệ thống làm gì?" |
| Chạy lại (re-run) | Chạy lại thủ công sau khi job lỗi giữa chừng. | Bạn hỏi: "chạy lại có làm cùng một việc hai lần không?" |
| Khoá chống trùng | Dấu hiệu duy nhất để không xử lý một bản ghi hai lần. | Bạn viết nó ra cho mọi job động tới tiền hoặc điểm. |
| Cảnh báo | Ai được báo, qua kênh nào, khi job lỗi hoặc chạy quá lâu. | Bạn không để job hỏng âm thầm nhiều ngày. |
Tình huống: 9 giờ sáng, trưởng phòng nhắn: "Dashboard doanh thu chưa có đơn nào của sáng nay, hỏng rồi à?"
Điều đang thực sự xảy ra: bảng số trên dashboard không được tính lúc bạn mở trang. Nó được một job tính sẵn từ đêm và ghi kết quả xuống. Cả ngày hôm nay, ai mở dashboard cũng đọc đúng kết quả của lần chạy đó.
Việc phải làm: không tạo ticket bug. Tạo một ticket cải tiến rất nhỏ: "Hiện dòng 'Số liệu tính đến 02:00 ngày 12/08' ngay dưới tiêu đề dashboard."
Học được: phần lớn "bug số liệu" thực ra là câu hỏi về lịch chạy. Một dòng mốc dữ liệu hiển thị ngay trên màn hình xoá được gần hết loại câu hỏi này — và đó là thứ BA nghĩ ra được, không cần chờ dev đề xuất.
Tình huống: marketing yêu cầu: "Khách để hàng trong giỏ quá 24 tiếng thì 9h sáng hôm sau gửi email nhắc." Nghe như một dòng spec. Thực tế nó giấu bốn quyết định mà dev không được phép tự chọn.
Học được: một câu yêu cầu về thời gian luôn giấu ít nhất bốn quyết định — múi giờ, phạm vi quét, giới hạn số lần, và hành vi khi chạy trễ. Không viết ra thì dev sẽ tự chọn, và bạn sẽ biết họ chọn gì vào đúng ngày có sự cố.
Tình huống: job "cộng điểm thưởng" chạy 02:00 mỗi ngày, đọc các đơn đã giao thành công hôm trước và cộng điểm vào ví của khách. Đêm nay job chạy được nửa chừng thì database bận, job dừng. 40.000 khách đã được cộng, 60.000 khách chưa.
Ba câu hỏi, theo đúng thứ tự này:
Cái bẫy, gọi tên thẳng: nếu job chỉ có logic "đọc đơn đã giao hôm qua, cộng điểm", thì lần chạy lại sẽ cộng thêm một lần nữa cho 40.000 khách đã được cộng ở lần đầu. Không ai phát hiện ngay, vì được nhiều điểm thì khách không khiếu nại. Nó chỉ lộ ra ở kỳ đối soát vài tuần sau, hoặc không bao giờ lộ ra. Nói cách khác: chạy lại một job không chống trùng còn nguy hiểm hơn chính sự cố ban đầu.
Những dòng phải có trong spec để job được phép chạy lại:
Học được: câu hỏi thật cho một job không phải "nó chạy khi nào" mà "nó hỏng thì chuyện gì xảy ra". Ba thứ phải có trong spec của bất kỳ job nào động tới tiền hoặc điểm: có người được cảnh báo, chạy lại được, và chạy lại không làm hai lần. Thiếu cái thứ ba thì cái thứ hai trở thành vũ khí.
Với mỗi con số tổng hợp hoặc việc chạy tự động, ticket của bạn phải trả lời được bốn câu:
Chấm từng chiều kỹ năng và cho ra hồ sơ — biết mình đứng ở đâu trước.
Làm bài nàyHọc kỹ năng này ở đâu?
Có 2 khóa dạy đúng phần này, miễn phí và bằng tiếng Việt.
Thảo luận & tài liệu thêm 0
Chia sẻ kinh nghiệm, đặt câu hỏi, hoặc đính kèm tài liệu/YouTube giúp người khác học kỹ năng này.