Sorting และ Ranking: เกณฑ์ที่ซ่อนอยู่ในลำดับ
เข้าใจ “Sorting และ Ranking: เกณฑ์ที่ซ่อนอยู่ในลำดับ” ผ่านงานธุรกิจไทยและผลกระทบต่อความเร็ว ความถูกต้อง และความเป็นธรรม
เป้าหมาย: เลือกโครงสร้างและตั้งคำถามเรื่อง scale ได้โดยไม่ต้องเป็นโปรแกรมเมอร์ · ใช้เวลาประมาณ 15 นาที
Question → Structure → Operation → Trade-off
เลือกโครงสร้างจากคำถามและการเปลี่ยนแปลง ไม่ใช่จากชื่อที่คุ้น
Question
ต้องค้น เรียง เชื่อม คิว หรือเดินตามลำดับอะไร
Structure
เลือก representation และ identifier
Operation
ระบุ read/write/update/delete และความถี่
Trade-off
วัดเวลา พื้นที่ freshness fairness และ failure
แนวคิดที่ใช้คุยกับทีม
sorting
อธิบาย sorting ด้วยข้อมูล การทำงาน และผลเมื่อข้อมูลโต
วาดตัวอย่างข้อมูลเล็กก่อนเลือก implementation
ranking
อธิบาย ranking ด้วยข้อมูล การทำงาน และผลเมื่อข้อมูลโต
sorting ใช้ค่าชัดและ tie-break ส่วน ranking รวมหลายสัญญาณและน้ำหนัก จึงต้องเปิดเกณฑ์ ทดสอบ bias และให้ผู้ใช้ควบคุมเมื่อเหมาะสม
weight
อธิบาย weight ด้วยข้อมูล การทำงาน และผลเมื่อข้อมูลโต
sorting ใช้ค่าชัดและ tie-break ส่วน ranking รวมหลายสัญญาณและน้ำหนัก จึงต้องเปิดเกณฑ์ ทดสอบ bias และให้ผู้ใช้ควบคุมเมื่อเหมาะสม
bias
อธิบาย bias ด้วยข้อมูล การทำงาน และผลเมื่อข้อมูลโต
sorting ใช้ค่าชัดและ tie-break ส่วน ranking รวมหลายสัญญาณและน้ำหนัก จึงต้องเปิดเกณฑ์ ทดสอบ bias และให้ผู้ใช้ควบคุมเมื่อเหมาะสม
แบบจำลองที่ทำให้ระบบผิด
ไม่มี stable key
ข้อมูลซ้ำหรืออัปเดตผิดคน
กำหนด identity/matching rule
priority ไม่มีเหตุผล
ไม่ยุติธรรมและตรวจไม่ได้
ประกาศ criteria/tie-break
ทดสอบแต่ข้อมูลน้อย
latency/cost ระเบิดเมื่อ scale
load test และ complexity review
ออกแบบโครงสร้างจากงาน
Marketplace จัดอันดับสินค้าจากยอดขาย รีวิว กำไร และสต็อก
กำหนด entity/key, structure, operations, edge cases, scale และ metric
ดูคำตอบตัวอย่าง
ระบุ source of truth และ stable key เลือก list/map/queue/tree/graph/index ตามคำถาม เขียน operations และ tie-break ตรวจ duplicate/cycle/stale index วัด latency, memory, fairness และ cost ที่ปริมาณปัจจุบันกับอนาคต พร้อม fallback เมื่อข้อมูลผิด
- entity/key
- structure
- operations
- edge cases
- scale
- metric/fallback
บันทึกช่วยจำ
- โครงสร้างเดียวอาจมี implementation หลายแบบ ให้ทีมเทคนิควัดกับ workload จริง
- การ ranking คนหรือสิทธิ์ต้องตรวจ bias และผลกระทบ
สรุปบทเรียนนี้
- เริ่มจากคำถาม
- มี key และ operation ชัด
- วัด trade-off เมื่อ scale