مقابلة محاكاة: إطار إجابة بمستوى Senior
في هذا الدرس نُجري مراجعة شاملة باستخدام مقابلة محاكاة كاملة (تدريب على مقابلة كأنها حقيقية، حتى تتمكّن من التدرّب دون ضغط). نمرّ على كل مرحلة من البداية: فهم ما هو مطلوب (requirements)، والتصميم، ورصد نقاط الاختناق (bottlenecks — حيث تتعثّر المنظومة تحت الحِمل)، والاختيار بين خيارات لكلٍّ منها ثمن
System Design (التخطيط لكيفية بناء برمجيات كبيرة تعمل بشكل صحيح) يشبه تخطيط مدينة: طرق تُحرّك حركة المرور، ومستودعات للتخزين، وإشارات مرور تُدير الحِمل، وفِرق صيانة تُصلح الأعطال — بحيث تستمر المدينة في العمل بسلاسة حتى في أكثر ساعات الذروة ازدحامًا.
- مقابلة محاكاة
- التمرين الرئيسي في هذا الدرس: مقابلة محاكاة كاملة (مقابلة تدريبية تُجرى كأنها حقيقية). نمرّ على كل المراحل: المتطلبات، والتصميم، ونقاط الاختناق (bottlenecks)، والمفاضلات (trade-offs)، وخلاصة مرتّبة في النهاية.
- Trade-off
- الـ trade-off هو اختيار واعٍ بين شيئين جيّدين عندما لا يمكنك الحصول على كليهما بالكامل — تمامًا مثل الاختيار بين السريع والرخيص. هناك دائمًا ثمن، وفي المقابلة تقوله بصوتٍ مسموع للمُقابِل.
- مقياس تشغيلي
- رقم يُظهر ما إذا كان القرار يعمل فعلًا لدى المستخدمين الحقيقيين (في production — المنظومة الحيّة). على سبيل المثال: latency (كم يستغرق الحصول على إجابة)، وerror rate (نسبة الطلبات التي تفشل)، وqueue lag (مقدار العمل الذي تراكم بانتظار دوره في الطابور)، أو cache hit ratio (كم مرة كانت الذاكرة السريعة تعرف الإجابة مسبقًا).