Deep Dive בתכנון: URL Shortener ו-Pastebin
בשיעור הזה נתרגל איך עונים בראיון על שאלה קלאסית: לבנות "מקצר קישורים" (שירות שלוקח כתובת ארוכה ומחזיר כתובת קצרה, כמו bit.ly). נדבר בפשטות על איך השירות מקבל בקשות (API — הדרך שבה תוכנות מדברות זו עם זו), איך שומרים את הנתונים (schema — מבנה הטבלה במסד הנתונים), איך מייצרים את הקוד הקצר (ID generat
System Design (תכנון מערכות — איך בונים תוכנה גדולה שעובדת) הוא כמו לתכנן עיר: כבישים שמובילים את התנועה, מחסנים לאחסון, רמזורים שמסדרים את העומס וצוותי תחזוקה שמתקנים תקלות — כך שהעיר תמשיך לעבוד יפה גם בשעות העומס הכי גדולות.
- Deep Dive קלאסי
- השאלה הקלאסית שמתרגלים בשיעור: לתכנן "מקצר קישורים" כמו bit.ly. עוברים על איך מקבלים בקשות (API), איך שומרים נתונים (schema — מבנה הטבלה), איך מייצרים את הקוד הקצר (ID generation), איך מזרזים עם זיכרון מהיר (cache) ואיך גדלים להמון משתמשים (scale).
- Trade-off
- Trade-off (פשרה) זו בחירה מודעת בין שני דברים טובים, כשאי אפשר לקבל את שניהם במלואם — בדיוק כמו לבחור בין מהיר לזול. תמיד יש מחיר, ובראיון מסבירים אותו למראיין/ת בקול.
- מדד תפעולי
- מספר שמראה אם ההחלטה באמת עובדת אצל המשתמשים האמיתיים (בפרודקשן — המערכת החיה). למשל: latency (כמה זמן לוקח לקבל תשובה), error rate (אחוז הבקשות שנכשלות), queue lag (כמה עבודה הצטברה בתור וממתינה), או cache hit ratio (כמה פעמים הזיכרון המהיר כבר ידע את התשובה).