system-design-notes 28 บท ควรเริ่มอ่านตรงไหน
สารบัญ 28 บทครอบคลุมตั้งแต่พื้นฐานไปจนถึงกรณีศึกษาระบบหลายแบบ บทความนี้จัดหัวข้อตามสิ่งที่อยากฝึก เพื่อให้เลือกบทแรกและทางอ่านต่อได้โดยไม่ต้องไล่เก็บทั้งหมด

เปิด repository นี้ครั้งแรกแล้วเห็นสารบัญ 28 บท เราอาจยังแยกไม่ออกว่าบทไหนปูพื้นฐาน บทไหนเป็นกรณีศึกษา และจำเป็นต้องอ่านตามลำดับหรือไม่ บทความนี้จะช่วยแยกหน้าที่ของแต่ละช่วง เพื่อให้เลือกจุดเริ่มได้ง่ายขึ้น
วิธีเลือกง่ายกว่านั้นคือดูว่าตอนนี้ติดตรงไหน ถ้ายังไม่รู้ว่าจะตั้งต้นวิเคราะห์โจทย์อย่างไร สามบทแรกคือจุดเริ่มที่เหมาะสม แต่ถ้ามีกรอบคิดอยู่แล้ว ให้เลือกจากระบบหรือองค์ประกอบที่อยากฝึก แล้วค่อยตามรายละเอียดของเรื่องนั้นต่อ
ใช้เป็นแผนที่ 28 หัวข้อก่อน
ใช้สารบัญนี้เลือกบทที่อยากฝึก แล้วเปิดเนื้อหาของบทหรือเอกสารเฉพาะทางเพื่อหาคำอธิบาย ผู้จัดทำระบุว่าชุดบันทึกอ้างอิงหนังสือ System Design Interview - An Insider's Guide เล่ม 1 และเล่ม 2 และยังเป็น work in progress รายชื่อบทจึงบอกได้ว่ามีเรื่องใดให้อ่าน แต่ยังแทนคำอธิบายในเนื้อหาไม่ได้
สามบทแรกช่วยตั้งหลักก่อนลงมือทำโจทย์
ช่วงเปิดประกอบด้วยการขยายระบบจากผู้ใช้ศูนย์ถึงหลายล้านคน การประมาณแบบ back-of-the-envelope และกรอบคิดสำหรับสัมภาษณ์ system design เมื่อนำมาวางต่อกัน ลำดับนี้เริ่มจากภาพการขยายระบบ ต่อด้วยการประมาณคร่าว ๆ แล้วจึงเข้าสู่วิธีคิดในห้องสัมภาษณ์
สามบทนี้ชี้ให้เห็นงานที่ควรฝึกก่อนลงรายละเอียดของกรณีศึกษา ได้แก่ มองการขยายระบบ ลองประมาณค่าคร่าว ๆ และจัดลำดับวิธีคุยโจทย์ในห้องสัมภาษณ์ ใครที่ยังไม่แน่ใจกับสามเรื่องนี้ควรเริ่มจากช่วงเปิดก่อน

ใช้ช่วงเลขบทเพื่อหาเรื่อง ไม่ใช่แบ่งเป็นหมวดตายตัว
บทที่ 4–28 เรียงหัวข้อไว้เป็นช่วงต่อเนื่อง แต่ไม่ได้แบ่งหมวดที่แต่ละช่วงมีเนื้อหาชนิดเดียวกันทั้งหมด โดยเฉพาะบทที่ 4–10 และ 19–28 ซึ่งรวมทั้งแนวคิด องค์ประกอบ และบริการหลายแบบ เลขบทจึงช่วยบอกตำแหน่ง ส่วนเกณฑ์เลือกควรมาจากสิ่งที่อยากฝึก

บทที่ 4–10: องค์ประกอบระบบและบริการที่ขอบเขตชัด
ช่วงนี้มี rate limiter, consistent hashing, key-value store, การสร้าง unique ID ในระบบ distributed, URL shortener, web crawler และ notification system รายชื่อผสมทั้งแนวคิดที่พบในหลายระบบกับบริการที่มีขอบเขตชัดเจน
ช่วงนี้ใช้เติมเรื่องที่ยังอธิบายไม่คล่องได้ เช่น consistent hashing หรือ key-value store อีกทางหนึ่งคือหยิบบริการที่ขอบเขตชัดอย่าง URL shortener หรือ notification system มาตั้งเป็นโจทย์ฝึกหนึ่งรอบ อ่านเฉพาะบทที่เลือกได้ ไม่ต้องเก็บทั้งช่วงก่อน
บทที่ 11–18: กรณีศึกษาจากผลิตภัณฑ์ที่คุ้นชื่อ
ช่วงถัดมารวม news feed, chat, search autocomplete, YouTube, Google Drive, proximity service, nearby friends และ Google Maps ชื่อที่คุ้นเคยช่วยให้ตั้งโจทย์ได้ไวขึ้น: chat เหมาะกับการเริ่มสำรวจงานสื่อสาร ส่วน Google Drive พาไปยังโจทย์เกี่ยวกับไฟล์ สำหรับบริการที่อิงตำแหน่ง สารบัญมี proximity service, nearby friends และ Google Maps ให้เปรียบเทียบ
จุดสำคัญคือหยิบมาฝึกทีละเรื่องตามงานที่สนใจ แทนการไล่อ่านตามเลขบท
บทที่ 19–28: งานเบื้องหลัง บริการเฉพาะ และธุรกรรม
สิบหัวข้อท้ายมี distributed message queue, monitoring และ alerting, การรวมเหตุการณ์คลิกโฆษณา, ระบบจองโรงแรม, อีเมลแบบ distributed, object storage คล้าย S3, leaderboard แบบ real-time, payment, digital wallet และ stock exchange
ช่วงนี้กว้างเกินกว่าจะเรียกรวมว่าเป็นระบบประเภทเดียว หากอยากสำรวจงานเบื้องหลังระบบ ให้เริ่มจาก message queue, monitoring และ alerting, การรวมเหตุการณ์คลิกโฆษณา หรือ object storage หากสนใจบริการที่มีโจทย์เฉพาะ ก็เลือกโรงแรม อีเมล หรือ leaderboard ส่วน payment, digital wallet และ stock exchange เป็นตัวเลือกสำหรับคนที่อยากขยับไปฝึกโจทย์ด้านธุรกรรม
ตั้งโจทย์ไว้สักเรื่อง แล้วค่อยเติมส่วนที่ขาด
คนที่เพิ่งเริ่มเตรียมสัมภาษณ์อ่านสามบทแรกเพื่อตั้งหลัก จากนั้นหยิบกรณีศึกษามาหนึ่งเรื่อง ระหว่างฝึก หากเจอองค์ประกอบที่ยังไม่เข้าใจ ค่อยย้อนมาหาบทที่ 4–10 หรือเอกสารเฉพาะทาง วิธีนี้ทำให้รู้ว่ากำลังอ่านเพื่อตอบคำถามไหน
ถ้ามีกรอบวิเคราะห์อยู่แล้ว ไม่ต้องเริ่มใหม่ทั้งหมด ลองระบุให้ชัดว่าครั้งล่าสุดติดตรงไหน: อธิบายองค์ประกอบไม่ได้ เลือกผลิตภัณฑ์มาซ้อมไม่ถูก หรืออยากฝึกระบบงานเบื้องหลังและธุรกรรม จากนั้นเลือกหัวข้อเดียวจากสามช่วงข้างต้นแล้วลงรายละเอียด
ลองนึกถึงคนที่อยากฝึกโจทย์เก็บไฟล์ แต่ยังประมาณค่าคร่าว ๆ ไม่คล่อง เขาอาจทบทวนสามบทแรก แล้วหยิบ Google Drive มาเป็นกรณีศึกษา อ่าน object storage คล้าย S3 เพิ่มเมื่ออยากเจาะเรื่องการจัดเก็บโดยตรง ก่อนจบรอบนี้ค่อยอ่าน How We’ve Scaled Dropbox ต่อ นี่เป็นเพียงตัวอย่างการจัดลำดับจากชื่อหัวข้อ ไม่ใช่ลำดับตายตัว
เมื่อเลือกหัวข้อได้แล้ว ค่อยตามแหล่งอ่านต่อ
ส่วน “Additonal Resources” ใน repository รวบรวมทางอ่านต่อสำหรับ rate limiting, consistent hashing, key-value store, unique-ID generator, web crawler, chat systems, search autocomplete, YouTube และ Google Drive ในรายชื่อมีทั้ง Amazon Dynamo, Apache Cassandra, Google BigTable, Snowflake, Google Maglev, Scaling Discord, Netflix Video Encoding at Scale และ How We’ve Scaled Dropbox จึงใช้ค้นเอกสารเฉพาะเรื่องต่อได้หลังจากตัดสินใจแล้วว่าจะฝึกหัวข้อใด
ตัว repository ยังชี้ไปยัง หน้าอ่านบันทึก สำหรับลงมืออ่าน สารบัญช่วยตัดสินใจว่าจะตามเรื่องไหนต่อ แต่หากต้องอธิบายสถาปัตยกรรมหรือตัดสิน trade-off ต้องเปิดเนื้อหาของบทและเอกสารปลายทางจริงก่อน เลือกหัวข้อได้แล้วก็เริ่มจากลิงก์นั้นได้เลย
ที่มา: GitHub — liquidslr/system-design-notes — หน้า repository ไม่ระบุผู้เขียนหรือวันเผยแพร่ และคำว่า “2nd Ed” ในข้อความต้นทางไม่ชัดว่าขยายถึงเล่มใด · ลิงก์เพิ่มเติม: หน้าอ่านบันทึกที่ repository ระบุ
ชอบเรื่องแนวนี้ มีอีบุ๊คฟรีให้อ่านต่อ
NotebookLM ฉบับเข้าใจง่าย โยนเอกสารให้ AI อ่าน แล้วได้สรุป พอดแคสต์ และคลังความรู้ส่วนตัว
กดสมัครแล้วเราจะส่งเทคนิค AI และของแจกใหม่ๆ ให้ทางอีเมล เลิกรับได้ตลอด
Claude Cowork · The Business Playbook

ฉบับภาษาไทย 15 บท เรียนรู้ผ่านโปรเจกต์จำลองต่อเนื่องทั้งเล่ม ตั้งแต่ตั้งค่า Workspace จัดการไฟล์ เชื่อมแอป ตั้งระบบอัตโนมัติ จนถึงสร้าง Plugin


