อัลกอริทึมที่ควรรู้ก่อนสัมภาษณ์ System Design
(blog.bytebytego.com)- GeoHash, QuadTree : บริการตามตำแหน่งที่ตั้ง
- Consistent Hashing : โหลดบาลานซ์ภายในคลัสเตอร์ของบริการ
- Leaky Bucket / Token Bucket : Rate Limiter
- Trie : การเติมคำค้นหาอัตโนมัติ
- Rsync : การส่งไฟล์
- Raft/Paxos : คอนเซนซัส
- Bloomfilter : ตัดการ lookup ที่มีต้นทุนสูง
- Merkle Tree : ระบุความไม่สอดคล้องกันระหว่างโหนด
- HyperLogLog : นับค่าที่ไม่ซ้ำกันอย่างรวดเร็ว
- Count-Min Sketch : ประมาณความถี่ของไอเท็ม
- Hierarchical Timing Wheels : ตัวจัดตารางงาน
- Operational Transformation : การแก้ไขเอกสารร่วมกัน
3 ความคิดเห็น
ขอบคุณครับ
อันนี้คงต้องลองศึกษาเพิ่มเติมหน่อยแล้ว
มีเรื่องให้ต้องเรียนรู้อีกเยอะเลย...
รู้ดีและเคยลงมือทำในโปรดักชันมาแล้ว: Consistent Hashing, Leaky Bucket
รู้ดีและอธิบายได้: Trie, Bloomfilter
รู้จัก แต่ยังไม่มั่นใจว่าจะอธิบายได้อย่างแม่นยำ: Raft/Paxos, Merkle Tree, Operational Txform
ไม่ค่อยรู้: GeoHash, QuadTree, HyperLogLog, Count-Min Sketch, Hierarchical Timing Wheels