Đá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
Vì sao có những cập nhật không bao giờ tức thời — và cách spec đúng độ trễ thay vì hứa "ngay lập tức".
Đă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áCập nhật từ bên ngoài đến bằng webhook (họ đẩy khi có việc) hoặc polling (ta hỏi định kỳ) — nên có những thứ không tức thời theo bản chất.
Dùng cơ chế để phán đoán độ trễ là bình thường hay bug thật; spec trạng thái pending cho luồng tiền và thời gian cập nhật thực tế thay vì "ngay lập tức".
Khi sản phẩm của bạn cần biết một việc vừa xảy ra ở hệ thống khác — ngân hàng báo tiền đã về, đơn vị vận chuyển báo đã giao hàng — chỉ có hai cách để tin đó đi tới bạn.
Webhook: bên kia chủ động gọi sang hệ thống của bạn ngay khi có việc. Giống như họ nhắn tin cho bạn.
Polling: hệ thống của bạn hỏi lại bên kia theo chu kỳ — 30 giây, 5 phút, mỗi giờ một lần. Giống như bạn mở app ra kiểm tra liên tục.
Hệ quả quan trọng nhất với BA/PO: nếu luồng đang chạy bằng polling chu kỳ 5 phút, thì "cập nhật ngay lập tức" là điều không tồn tại — không phải vì dev làm ẩu, mà vì cơ chế nó vậy.
| Khái niệm | Nghĩa là gì | Dấu hiệu bạn đã hiểu |
|---|---|---|
| Webhook | Bên kia gọi API của ta khi có sự kiện. | Bạn hỏi được: "nếu webhook fail thì họ có gửi lại không?" |
| Polling | Ta gọi API bên kia theo chu kỳ cố định. | Bạn biết chu kỳ là bao nhiêu trước khi hứa với stakeholder. |
| Retry | Gửi lại khi lần đầu thất bại. | Bạn lường trước việc cùng một sự kiện tới hai lần. |
| Idempotency | Xử lý cùng một sự kiện nhiều lần vẫn ra một kết quả. | Bạn viết vào spec: "cộng tiền đúng một lần dù nhận 3 lần callback". |
| Pending state | Trạng thái trung gian trong lúc chờ xác nhận. | Màn hình của bạn có đủ 3 trạng thái, không chỉ thành công. |
Tình huống: QA báo bug: chuyển khoản thành công trên app ngân hàng, nhưng đơn hàng 30 giây sau mới đổi sang "Đã thanh toán".
Cách đọc: hỏi dev một câu — "mình nhận kết quả thanh toán bằng webhook hay polling?". Nếu là polling chu kỳ 30 giây, đây không phải bug; 30 giây chính là chu kỳ hỏi.
Học được: độ trễ là thuộc tính của cơ chế. Biết cơ chế là biết độ trễ tối đa mà không cần đọc code.
Tình huống: bạn viết ticket cho màn hình thanh toán.
Việc cần viết ra:
Đang xác nhận, không phải Thành công.Học được: cơ chế quyết định số trạng thái màn hình phải có. Bỏ pending state là bỏ luôn 4/5 tình huống thật.
Tình huống: đơn vị vận chuyển có webhook, nhưng thực tế khoảng 2% sự kiện không bao giờ tới, và khi hệ thống họ nghẽn thì cùng một sự kiện gửi lặp 3–4 lần.
Thiết kế đúng: nhận webhook để có tốc độ, đồng thời polling thưa (ví dụ 15 phút/lần) để quét những đơn bị sót — đây gọi là reconciliation.
Phải viết vào spec:
Học được: "cứ dùng webhook đi" không phải một câu trả lời. Câu trả lời là webhook cộng đối soát, cộng quy tắc chống trùng.
Với mỗi luồng có dữ liệu đến từ bên ngoài, 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.