تخطَّ إلى المحتوى
NerdLevelTech

إطار مقابلة تصميم الأنظمة وإتقان التقدير

مقابلة تصميم الأنظمة في ٢٠٢٦

٩ دقائق للقراءة

تُعد مقابلات تصميم الأنظمة الجولة الأعلى تأثيراً في توظيف المهندسين الأقدم. على عكس جولات البرمجة التي تختبر معرفة الخوارزميات، يُقيّم تصميم الأنظمة كيف تفكر في بناء برمجيات حقيقية على نطاق واسع. يمنحك هذا الدرس إطاراً منظماً وتقنيات تقدير واستراتيجيات تواصل لاجتياز هذه الجولة.

ما يُقيّمه المحاورون فعلياً

تُقيّم مقابلات تصميم الأنظمة أربعة أبعاد في وقت واحد:

البُعدما يبحثون عنهعلامات تحذيرية
التفكير المعماريهل تستطيع تفكيك مشكلة غامضة إلى مكونات واضحة؟القفز للحلول دون جمع المتطلبات
تحليل المقايضاتهل تفهم لماذا اخترت X بدلاً من Y؟الادعاء بأن نهجاً ما "أفضل دائماً"
التواصلهل تستطيع شرح تصميمك بوضوح مع التفكير بصوت عالٍ؟فترات صمت طويلة أو الكلام بدون هيكل
الوعي الإنتاجيهل تأخذ بالاعتبار أوضاع الفشل والمراقبة والتوسع؟تصميم المسار السعيد فقط

رؤية أساسية: يهتم المحاورون بـ عمليتك أكثر من تصميمك النهائي. تصميم مُبرَّر جيداً مع قيود معترف بها يتفوق على تصميم "مثالي" لا تستطيع شرحه.

كيف يتطور شكل المقابلة

تظل الجولة التقليدية لمدة ٤٥ دقيقة على السبورة البيضاء هي المعيار في معظم الشركات. هناك تحولان يستحقان المعرفة قبل دخولك.

جولات البرمجة بمساعدة الذكاء الاصطناعي. بدأت Meta في أكتوبر ٢٠٢٥ طرح جولة برمجة مدعومة بالذكاء الاصطناعي، وتوسّع فيها خلال ٢٠٢٦. يعمل المرشح في بيئة CoderPad مع مساعد مدمج ويستطيع تبديل النماذج أثناء الجلسة، والمهمة مشروع متعدد الملفات وليست مسألتي خوارزميات. ينتقل التقييم نحو الحكم: هل تستطيع توجيه المساعد، وهل تلتقط ما يخطئ فيه.

تفصيلان يذكرهما كل دليل منشور بصورة مختلفة: ما المستويات المشمولة، وهل تحل جولة الذكاء الاصطناعي محل إحدى جولتي البرمجة أم أنها جولتك الوحيدة. هذا ليس تقصيرًا منهم — فالطرح ما زال يتحرك فعليًا، وحين تقرأ هذا الكلام ستكون الأدلة قد اختلفت من جديد. وقائمة النماذج المتاحة تبدّلت بالفعل مرة على الأقل.

لا تحسم الأمر بقراءة مزيد من الأدلة. فمن يرتّب جولاتك هو مسؤول التوظيف، وهو يخبر المرشحين أصلًا بطبيعة كل جولة قبل اليوم الميداني — فاسأله كتابةً:

"أي جولاتي هي الجولة المدعومة بالذكاء الاصطناعي، وما النماذج التي ستكون متاحة في البيئة؟"

رسالة واحدة تحسم ما لا يحسمه أي موقع تحضير، وهي نفس الأسلوب الذي ينفع مع كل تفصيلة غير موثّقة في أي مسار مقابلات.

الأثر غير المباشر أهم من الجولة نفسها. حين يستطيع المساعد إنتاج تصميم معقول في ثوانٍ، لم يعد الفارق في الاستحضار — بل في قدرتك على تمييز التصميم المعقول من التصميم الصحيح.

الاستدلال بدلاً من الحفظ. تُقيّم الشركات بشكل متزايد كيف تتعامل مع الغموض بدلاً من حفظ بنيات محددة. إطار تستطيع تطبيقه على مشكلة لم ترها من قبل يتفوق على قائمة تصاميم قرأت عنها.

إطار RESHADED

RESHADED نهج منظم من دورة Grokking the System Design Interview لدى Educative. ثمانية أحرف، وسبع أو ثماني مراحل حسب ما إذا كانت المشكلة تستحق رسم مخطط تخزين:

RESHADED — ترتيب العمل في مشكلة تصميم

R — المتطلبات

وضّح المتطلبات الوظيفية وغير الوظيفية. اسأل قبل أن ترسم.

E — التقدير

حسابات الظهر-المغلف للحجم: QPS والتخزين وعرض النطاق.

S — مخطط التخزين

اختر التخزين وارسم المخطط. اختياري حين لا تكون المشكلة كثيفة البيانات.

H — التصميم عالي المستوى

ارسم البنية من ارتفاع 1000 قدم: المربعات والأسهم بينها.

A — تصميم الواجهات

عرّف الواجهات بين المكونات. التواقيع تجعل المربعات ملموسة.

D — التصميم التفصيلي

تعمّق في مكون أو مكونين حرجين — غالباً ما يستقصيه المحاور.

E — التقييم

ناقش المقايضات والاختناقات وما كنت ستغيّره لو توفر وقت أطول.

D — المكون المميز

سمِّ التحدي الخاص بهذه المشكلة وحدها. هذه المرحلة أكثر ما يتخطاه المرشحون.

تطبيق RESHADED: مثال سريع

السؤال: "صمم خدمة تحليلات URL تتتبع أحداث النقر."

المرحلةما تفعله
Rوظيفي: تسجيل النقرات وعرض لوحة تحليلات. غير وظيفي: معالجة 100K نقرة/ثانية، زمن كتابة <200ms
E100K كتابة/ثانية × ٢٠٠ بايت = ٢٠ MB/s وارد. 100K × ٨٦٤٠٠ = ٨٫٦ مليار حدث/يوم → ~١٫٧ TB/يوم تخزين خام
Sقاعدة بيانات سلاسل زمنية للأحداث (InfluxDB أو ClickHouse). Redis للعدادات الفورية. PostgreSQL لبيانات URL الوصفية
HAPI Gateway → Kafka → Consumer → Time-series DB. مسار قراءة منفصل: خدمة التجميع → Cache → Dashboard API
APOST /api/click (كتابة)، GET /api/analytics/{url_id}?range=7d (قراءة)
Dالتعمق في خط استيعاب البيانات: تقسيم Kafka حسب URL ID، توسيع مجموعة المستهلكين، دلالات التنفيذ مرة واحدة بالضبط
Eمقايضة: الاتساق النهائي في لوحة التحكم (مقبول للتحليلات). اختناق: عدد أقسام Kafka يحد من التوازي
Dمميز: اكتشاف الشذوذ الفوري في أنماط النقر (كشف الروبوتات)

إتقان تقديرات الظهر-المغلف

التقدير هو المكان الذي يتألق فيه معظم المرشحين أو يتعثرون. الهدف ليس الدقة — بل إظهار تفكير منظم حول الحجم.

جدول مرجعي لقوى العدد ٢

القوةالقيمة الدقيقةالتقريب
٢^١٠١٬٠٢٤~١ ألف
٢^٢٠١٬٠٤٨٬٥٧٦~١ مليون
٢^٣٠١٬٠٧٣٬٧٤١٬٨٢٤~١ مليار
٢^٤٠~١٫١ × ١٠^١٢~١ تريليون

أرقام مرجعية لزمن الاستجابة

تساعدك هذه الأرقام على فهم أين يذهب الوقت في الطلب:

العمليةزمن الاستجابةملاحظات
مرجع ذاكرة L1 cache~١ nsذاكرة المعالج
مرجع ذاكرة L2 cache~٤ nsذاكرة المعالج
مرجع الذاكرة الرئيسية~١٠٠ nsRAM
قراءة عشوائية SSD~١٦ μsقرص محلي
قراءة عشوائية HDD~٢ msقرص دوار
رحلة شبكة ذهاباً وإياباً (نفس مركز البيانات)~١٠٠–٥٠٠ μsنفس منطقة التوفر ~١٠٠ μs؛ عبر مناطق التوفر ~٣٠٠–٥٠٠ μs
رحلة شبكة ذهاباً وإياباً (عبر القارات)~١٥٠ msأمريكا إلى أوروبا

سير عمل التقدير

كل تقدير في هذه الجولة هو نفس السلسلة ذات الخطوات الخمس: مستخدمون ← إجراءات ← QPS ← ذروة ← تخزين وعرض نطاق. حرّك المدخلات وراقب أي مخرج ينهار أولاً — هذا هو الرقم الذي ستصمم حوله في النهاية.

حاسبة تقدير الظهر-المغلف

القيم الافتراضية تعيد إنتاج مثال خلاصة Twitter أدناه. ارفع عدد المستخدمين ولاحظ أن QPS القراءة، وليس الكتابة، هو ما يفرض البنية.

المستخدمون النشطون يومياً٣٠٠M
عمليات الكتابة لكل مستخدم يومياً٢
مضاعف الذروة إلى المتوسط٣
نسبة القراءة إلى الكتابة١٠٠
متوسط حجم الكائن٥٠٠B
QPS الكتابة (متوسط)
٦٬٩٤٤
QPS الكتابة (ذروة)
٢٠٬٨٣٣
QPS القراءة (ذروة)
٢٬٠٨٣٬٣٣٣
بيانات جديدة يومياً (GB)
٣٠٠
QPS الكتابة = المستخدمون × الكتابات لكل مستخدم ÷ 86,400 ثانية

الخطوة التي يتخطاها معظم المرشحين هي مضاعف الذروة. الحركة ليست مستوية عبر ٨٦٬٤٠٠ ثانية، والتصميم المقاس على المتوسط ينهار في الثامنة مساءً.

مثال — خلاصة شبيهة بـ Twitter:

# المعطيات
dau = 300_000_000          # 300 مليون مستخدم نشط يومياً
tweets_per_user_per_day = 2
read_to_write_ratio = 100  # 100 قراءة لكل كتابة

# QPS (استعلامات في الثانية)
write_qps = dau * tweets_per_user_per_day / 86400  # ~6,944 كتابة/ثانية
peak_write_qps = write_qps * 3                      # ~20,833 كتابة/ثانية (3x ذروة)
read_qps = write_qps * read_to_write_ratio           # ~694,444 قراءة/ثانية
peak_read_qps = read_qps * 3                         # ~2,083,333 قراءة/ثانية

# التخزين (يومياً)
avg_tweet_size_bytes = 500  # نص + بيانات وصفية
daily_storage = write_qps * 86400 * avg_tweet_size_bytes  # ~300 GB/يوم
yearly_storage = daily_storage * 365                       # ~109 TB/سنة

# عرض النطاق
write_bandwidth = peak_write_qps * avg_tweet_size_bytes   # ~10 MB/s وارد
read_bandwidth = peak_read_qps * 2000                     # ~4 GB/s صادر (حمولة الخلاصة أكبر)

أنماط تحليل المقايضات

نظرية CAP

في نظام موزع يواجه تقسيم شبكة، يجب أن تختار بين:

  • الاتساق (C): كل قراءة تُرجع أحدث كتابة
  • التوفر (A): كل طلب يتلقى استجابة (ليس بالضرورة أحدث البيانات)
نوع النظامالاختيارمثال
المصرفية/المدفوعاتCP (اتساق + تحمل التقسيم)Spanner، CockroachDB
خلاصات التواصل الاجتماعيAP (توفر + تحمل التقسيم)Cassandra، DynamoDB
ملفات المستخدمينقابل للضبطPostgreSQL مع نسخ قراءة (اتساق نهائي للقراءات)

نظرية PACELC

امتداد لـ CAP: حتى عندما لا يوجد تقسيم — وهي الحالة الغالبة — تظل تواجه مقايضة بين زمن الاستجابة والاتساق. وهذا هو النصف الأكثر فائدة، لأن التقسيمات نادرة بينما قرارات زمن الاستجابة دائمة.

PACELC — سؤال الاتساق بنصفيه

هل النظام مقسّم حالياً — هل ما زالت العقد تصل لبعضها؟

DynamoDB هو المثال المعياري: PA/EL. أثناء التقسيم يبقى متاحاً، وفي التشغيل العادي يكون افتراضه قراءات متسقة نهائياً — وتدفع زيادة، في زمن الاستجابة وتكلفة الطلب معاً، لتختار قراءة قوية الاتساق.

معايرة المستوى

تتدرج توقعات تصميم الأنظمة مع المستوى:

المستوىالعمق المتوقعمثال
L4 (مبتدئ-متوسط)صمم مكوناً واحداً بشكل جيد. غطِّ المقايضات الأساسية."صمم ذاكرة مؤقتة مع إخلاء"
L5 (أقدم)نظام شامل مع حدود مكونات واضحة ومعالجة الفشل."صمم نظام إشعارات"
L6 (Staff)تفكير على مستوى المنصة. تبعيات عبر الفرق. تأثير تنظيمي."صمم منصة تجريب للشركة"
L7+ (Principal)بنية على مستوى الصناعة. رؤية تقنية متعددة السنوات."صمم البنية التحتية لتعلم الآلة الفوري على نطاق واسع"

الأخطاء الشائعة والتعافي منها

الخطأاستراتيجية التعافي
القفز للحل دون متطلبات"دعني أتراجع وأوضح ما نُحسّن من أجله"
الانحصار في مكون واحد"أريد التأكد من تغطية الصورة الكاملة. دعني أرسم المستوى العالي أولاً ثم نتعمق"
عدم القدرة على التقدير"دعني أفكر من المبادئ الأساسية — كم مستخدم، كم مرة يتصرفون، ما حجم كل إجراء"
الإفراط في الهندسة"للمنتج الأولي يمكننا البدء بـ X والتطور إلى Y عند التوسع"
الرسم بدون شرحاسرد كل قرار: "أضيف ذاكرة مؤقتة هنا لأن نسبة القراءة للكتابة ١٠٠:١"

في الوحدة التالية، نتعمق في أنماط بنية البيانات — مصادر الأحداث وCQRS والمعاملات الموزعة — التي تفتح فئة جديدة من إجابات المقابلات.

اختبار

اختبار الوحدة ١: إطار تصميم الأنظمة والتقدير

خذ الاختبار
هل كان هذا الدرس مفيدًا؟

سجّل الدخول للتقييم