Đá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
Ba bước loại trừ trước khi báo lỗi, và cách phân loại độ tươi cho từng khối dữ liệu trong spec.
Đă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áHệ thống phục vụ bản sao đã lưu để chạy nhanh — "tôi sửa rồi mà vẫn thấy cái cũ" thường là bản sao chưa hết hạn, không phải bug.
Loại trừ cache trước khi báo lỗi (hard refresh, cửa sổ ẩn danh, thiết bị khác); phân loại độ tươi trong spec: cái gì được phép cũ vài phút, cái gì phải chính xác từng giây.
Cache là một bản sao tạm được giữ ở chỗ gần người dùng hơn, để lần sau lấy cho nhanh thay vì đi hỏi lại tận nguồn. Logo của trang không đổi mỗi ngày, nên trình duyệt tải một lần rồi giữ lại vài ngày. Danh sách sản phẩm bán chạy không đổi từng giây, nên máy chủ tính một lần rồi dùng lại trong vài phút.
Điều BA hay bỏ sót: cache không nằm ở một chỗ. Một trang đi qua nhiều tầng, và mỗi tầng có thể giữ bản sao riêng với hạn dùng riêng — trình duyệt của người dùng, CDN đặt gần họ theo vùng, cache của ứng dụng, rồi mới tới database.
Hệ quả quan trọng nhất với BA/PO: "tôi sửa rồi mà vẫn thấy cái cũ" thường không phải bug — là một bản sao ở đâu đó chưa hết hạn. Nhưng cũng chính vì vậy, "đổi giá" không bao giờ đơn giản như nó nghe: sửa ở nguồn mới chỉ là bước đầu.
| Khái niệm | Nghĩa là gì | Dấu hiệu bạn đã hiểu |
|---|---|---|
| Cache | Bản sao tạm giữ gần người dùng để đọc nhanh. | Bạn không kết luận bug ngay khi thấy dữ liệu cũ. |
| TTL (hạn dùng) | Bản sao được giữ bao lâu trước khi hết hạn. | Bạn hỏi TTL trước khi hứa "sửa xong là thấy ngay". |
| Hard refresh | Tải lại trang, bỏ qua bản sao trên máy mình. | Bạn làm bước này trước khi tạo bất kỳ ticket nào. |
| Xoá cache chủ động | Huỷ bản sao ngay khi dữ liệu nguồn đổi, không chờ hết hạn. | Bạn viết vào spec: đổi giá thì phải xoá những cache nào. |
| CDN | Mạng máy chủ đặt bản sao gần người dùng theo vùng. | Bạn hiểu vì sao hai người ở hai tỉnh thấy khác nhau. |
| Nạp sẵn cache | Tính trước và nạp bản sao trước giờ cao điểm. | Bạn hỏi điều này trước mỗi đợt khuyến mãi lớn. |
Tình huống: bạn vừa đổi tiêu đề banner trang chủ từ "Sale tháng 7" thành "Sale tháng 8" trong trang quản trị, bấm lưu, mở lại trang chủ — vẫn thấy "Sale tháng 7". Phản xạ đầu tiên của nhiều người là tạo ticket "banner không lưu được".
Ba bước kiểm tra, mất khoảng hai phút, làm trước khi tạo ticket:
Ticket viết ra sau ba bước đó: "Đã hard refresh, đã thử cửa sổ ẩn danh, đã nhờ một máy khác ở mạng 4G — cả ba đều vẫn hiện tiêu đề cũ, lúc 10:35 ngày 12/08. Trang quản trị đã lưu thành công (có bản ghi lịch sử sửa lúc 10:31)."
Học được: ba bước này chính là ba câu dev sẽ hỏi bạn đầu tiên. Làm trước khi hỏi thì hoặc bạn tự giải quyết được trong hai phút, hoặc ticket của bạn bắt đầu từ một chỗ xa hơn hẳn.
Tình huống: bạn spec màn hình chi tiết sản phẩm. Trên đó có nhiều con số, và phản xạ tự nhiên là muốn tất cả đều mới nhất. Nhưng mỗi con số có một cái giá khác nhau nếu nó cũ — và đó mới là thứ quyết định.
| Thông tin | Nếu cũ 5 phút thì chuyện gì xảy ra | Kết luận cho spec |
|---|---|---|
| Giá bán | Khách thấy 199.000đ, tới bước thanh toán hệ thống tính 249.000đ. Khách mất niềm tin và gọi lên tổng đài. | Không phục vụ từ cache quá 30 giây; đổi giá thì xoá cache ngay. |
| Còn hàng hay hết | Khách đặt được món vừa hết cách đây 3 phút, hôm sau phải gọi xin lỗi và huỷ đơn. | Cache tối đa 30 giây, và kiểm tra lại lần cuối tại bước đặt hàng. |
| Số lượt xem, số đã bán | Hiện 1.204 thay vì 1.209. Không ai bị ảnh hưởng. | Cache 5 tới 10 phút hoàn toàn ổn. |
| Đánh giá và bình luận | Bình luận mới xuất hiện chậm vài phút. | Cache 5 phút ổn, trừ người vừa viết — họ phải thấy ngay. |
| Ảnh và mô tả sản phẩm | Gần như không đổi. | Cache dài, vài giờ trở lên. |
Các dòng viết vào spec:
Học được: câu hỏi đúng không phải "cache hay không cache", mà "khối dữ liệu này được phép cũ bao lâu, và nếu cũ thì ai chịu thiệt". Trả lời cho từng khối một, bạn vừa có màn hình nhanh vừa không có khiếu nại về giá.
Tình huống: flash sale bắt đầu lúc 20:00. Đúng 20:00, đội vận hành đổi giá trong trang quản trị. 20:03, marketing báo: một số khách thấy giá sale, một số vẫn thấy giá gốc, và có người thấy giá sale ở trang danh sách nhưng giá gốc khi bấm vào chi tiết.
Vì sao lại là "một số": cùng một trang đi qua nhiều tầng, mỗi tầng có hạn dùng riêng và không tầng nào biết bạn vừa đổi giá.
Cộng lại: cùng một thời điểm, khác người, khác tầng hết hạn, nên khác giá. Không ai làm sai cả — nhưng khách hàng không quan tâm điều đó.
Cái bẫy, gọi tên thẳng: spec chỉ viết "đổi giá trong trang quản trị thì giá mới có hiệu lực ngay". Câu đó đúng ở database và sai ở mọi tầng phía trước. Nó tạo ra rủi ro thật: khách thấy 199.000đ và bị tính 249.000đ, đó là chuyện của niềm tin và của bộ phận pháp chế, không chỉ là một ticket kỹ thuật.
Phải viết vào spec:
Học được: cache không phải một thứ, nó là nhiều tầng chồng lên nhau, và "sửa ở nguồn" chỉ là bước đầu tiên. Với bất kỳ thay đổi dữ liệu nào mà người dùng phải thấy đúng thời điểm, spec của bạn phải trả lời thêm một câu ngoài "sửa ở đâu": bản sao cũ đang nằm ở những đâu, và ai xoá chúng.
Với mỗi khối dữ liệu hiển thị cho người dù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.