13 KiB
English ∙ 日本語 ∙ 简体中文 ∙ 繁體中文 | العَرَبِيَّة ∙ বাংলা ∙ Português do Brasil ∙ Deutsch ∙ ελληνικά ∙ עברית ∙ Italiano ∙ 한국어 ∙ فارسی ∙ Polski ∙ русский язык ∙ Español ∙ ภาษาไทย ∙ Türkçe ∙ tiếng Việt ∙ Français | Add Translation
עזרו לתרגם את המדריך!
המדריך לתכנון מערכות (The System Design Primer)
מוטיבציה
ללמוד איך לתכנן מערכות ב-scale גדול.
להתכונן לראיונות ארכיטקטורה.
ללמוד איך לתכנן מערכות ב-scale גדול
ללמוד כיצד לתכנן מערכות סְקֵילָבִּילִיוּת יסייע לך להפוך למהנדס תוכנה טוב יותר.
תכנון מערכות הוא נושא רחב. יש כמות אדירה של משאבים ברחבי הרשת על עקרונות של תכנון מערכות.
ה-repo הזה הוא אוסף מסודר של משאבים שנועדו לעזור לך ללמוד איך לבנות מערכות ב-scale.
ללמוד מקהילת הקוד הפתוח
מדובר בפרויקט קוד פתוח (open source) שמתעדכן באופן מתמשך.
מוזמנים לתרום!
להתכונן לראיונות ארכיטקטורה
בנוסף לראיונות קידוד, ארכיטקטורה היא רכיב נדרש כחלק מתהליך ראיונות טכניים בהרבה חברות טכנולוגיות.
תוכל לתרגל שאלות ארכיטקטורה נפוצות ואף להשוות את התוצאות שלך עם פתרונות לדוגמה: דיונים, קוד, ודיאגרמות.
נושאים נוספים להכנה לראיונות:
כרטיסיות Anki
החבילות המוכנות של כרטיסיות Anki משתמשות בשיטת חזרתיות מבוססת מרווחים (Spaced Repetition) כדי לעזור לך לזכור מושגים חשובים בתכנון מערכות.
מומלצות לשימוש בדרכים.
משאב לראיונות קידוד: אתגרי קידוד אינטראקטיביים
מחפש משאבים שיעזרו לך להתכונן לראיונות קידוד?
תעיף מבט על ה-repo המקביל Interactive Coding Challenges, שמכיל חבילת Anki נוספת:
תרומה למדריך
ללמוד מהקהילה.
אל תהסס להגיש pull requests כדי לעזור:
- תיקון שגיאות
- שיפור קטעים קיימים
- הוספת קטעים חדשים
- תרגום לשפות נוספות
תכנים שעדיין דורשים ליטוש מסומנים בתור תחת פיתוח.
מומלץ לעיין בהנחיות לתרומה לפני התחלה.
אינדקס נושאים בתכנון מערכות
סיכומים של נושאים שונים בתכנון מערכות, כולל יתרונות וחסרונות. כל החלטה כוללת פשרות (trade-offs).
כל חלק מכיל קישורים להרחבה וללמידה מעמיקה יותר.
- נושאים בתכנון מערכות: התחל כאן
- ביצועים (performance) מול סקילביליות (scalability)
- שיהוי (latency) מול תפוקה (throughput)
- זמינות (availability) מול עקביות (consistency)
- דפוסי עקביות
- דפוסי זמינות
- מערכת שמות דומיינים (DNS)
- רשתות הפצת תוכן (CDN)
- מאזן עומסים (load balancer)
- פרוקסי 'הפוך' (Reverse Proxy)
- שכבת האפליקציה
- מסדי נתונים
- מטמון (Cache)
- אסינכרוניות (asynchronism)
- תקשורת
- אבטחה
- נספחים
- תחת פיתוח
- קרדיטים
- פרטי קשר
- רישיון