عن المشروع
يُعتبر هذا المخزن مجموعة مُنتقاة من الروابط لتعلم تصميم الأنظمة والتحضير للمقابلات التقنية. لا يحتوي على برامج أصلية؛ بل ينظم مقالات ومقاطع فيديو ودورات وكتب ونشرات إخبارية وبوستات مدونات هندسية وأوراق أنظمة موزعة مجانية.
تتضمن الأقسام الرئيسية:
- المفاهيم الأساسية: التوسعية، التوافر، الموثوقية، نقطة الفشل الواحدة (SPOF)، التأخير مقابل الت THROUGHPUT مقابل النطاق الترددي، التجزئة المتسقة، نظرية CAP، التبديل التلقائي، المقاومة للعطل.
- أساسيات الشبكات: نموذج OSI، العناوين IP، DNS، المُعَدِّل مقابل المُعَدِّل العكسي، HTTP/HTTPS، TCP مقابل UDP، توازن الأحمال، التحقق من الصلاحية.
- أساسيات واجهات برمجة التطبيقات: واجهات برمجة التطبيقات، بوابة واجهات برمجة التطبيقات، REST مقابل GraphQL، WebSockets، الوظائف المُشغِّلة، التكرار، التقييد بالسرعة، تصميم واجهات برمجة التطبيقات.
- أساسيات قواعد البيانات: معاملات ACID، SQL مقابل NoSQL، المؤشرات، التجزئة، التكرار، التوسيع، أنواع قواعد البيانات، مصفوفات بلووم، البنية المعمارية.
- أساسيات التخزين المؤقت: أساسيات التخزين المؤقت، الاستراتيجيات، سياسات الإزالة، التخزين المؤقت الموزع، الشبكة التوزيعية (CDN).
- الاتصال غير المتزامن: النشر والاشتراك، طابور الرسائل، التقاط تغييرات البيانات.
- الأنظمة الموزعة والخدمات الصغيرة: نبضات القلب، اكتشاف الخدمة، خوارزميات التوافق، القفل الموزع، بروتوكول الغناء، مفتاح الدائرة، استعادة الكوارث، تتبع الأنظمة الموزعة.
- الأنماط المعمارية: النموذج العميل-الخادم، الخدمات الصغيرة، الطرفية، المُستندة إلى الأحداث، الشبكة العقدية.
- التنازلات في تصميم الأنظمة: التوسع العمودي مقابل الأفقي، التزامن مقابل التوازي، الانتظار الطويل مقابل WebSockets، المعالجة بالدفقات مقابل التدفق، الأنظمة ذات الحالة مقابل بدون حالة، نماذج التوافق، استراتيجيات التخزين المؤقت، الدفع مقابل الاسترداد، REST مقابل RPC، التزامن مقابل غير المتزامن، التأخير مقابل الت THROUGHPUT.
- التحضير للمقابلات: إطار عمل للاجابة على مشاكل مقابلات تصميم الأنظمة، بالإضافة إلى مشاكل تدريب مُصنفة (سهل، متوسط، صعب) مثل مُختصر الرابط، واتساب، إنستغرام، أوبر، جوجل دوكس، دروب بوكس، وتخزين موزع.
- موارد إضافية: دورات، نشرات إخبارية، كتب، قنوات يوتيوب، مقالات هندسية مُستحقة للقراءة، وأوراق أنظمة موزعة كلاسيكية (Paxos، MapReduce، GFS، Dynamo، Kafka، Spanner، Bigtable، ZooKeeper، LSM-Tree، Chubby).
يُعتبر المخزن مفيدًا كخريطة دراسية وفهرس مرجع للهندسية البرمجية الذين يحضرون للمقابلات التقنية أو يسعون لفهم مفاهيم الأنظمة الموزعة الضخمة.
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.