jobmarket.pro
كل المقالات
المقابلات

ما تختبره مقابلات مهندسي الخلفية فعلياً

شكل حلقة مقابلات الخلفية، من يدير كل جولة، ما تقيسه مراحل البرمجة والتصميم فعلياً، وكيف تبدو الإجابة السطحية للشخص المقابل.

نُشر في 20 سبتمبر 2026 · قراءة في 8 دقيقة

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

ما يلي هو شكل الأمر، وما يستمع إليه الشخص على الجانب الآخر فعلياً.

شكل حلقة المقابلات

بالنسبة لدور خلفية متوسط أو كبير في شركة بها أكثر من خمسين مهندساً تقريباً، عادة ما تكون الحلقة مجموعة فرعية من:

  1. فحص المجند، 20-30 دقيقة. التقنيات، المستوى، فترة الإشعار، الموقع والتأشيرة، توقعات التعويض، هل أنت في الاستدعاء الآن وهل أنت مستعد لذلك.
  2. مكالمة مدير التوظيف، 30-45 دقيقة. ما تملكه، ما أطلقته، لماذا تغادر. أحياناً فحص تقني خفيف.
  3. تمرين برمجة. مباشر في محرر مشترك، مباشر في مستودعك الخاص بالتزاوج مع مهندس، أو تمرين منزلي تقدمه ثم تشرحه.
  4. جولة تصميم نظام، 45-60 دقيقة، سبورة أو لوحة Excalidraw فارغة.
  5. تعمق في شيء بنيته، أحياناً مدمج في جولة التصميم، أحياناً منفصل.
  6. جولة سلوكية أو متعددة الوظائف، غالباً مع مهندس من فريق آخر أو مدير منتج.

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

من هو فعلياً في الغرفة

جولة البرمجة عادة ما يديرها مهندس كبير في الفريق أو بالقرب منه، أحياناً مع شخص ثانٍ صامت يدون الملاحظات. لديهم معايير تقييم. لا يحاولون خداعك، وبحلول الجولة الثالثة هم في الغالب يشعرون بالملل، وهذا أسوأ.

جولة التصميم في كثير من الأحيان يديرها مهندس أو مهندس رئيسي، أو كبير ذو خبرة يفعل هذا بشكل متكرر. هذا الشخص لديه آراء حول قوائم الانتظار، وقد أيقظ في الرابعة صباحاً بسبب شيء أنت على وشك وصفه بشكل عابر.

التعمق قد يكون مدير التوظيف أو قائد تقني. وظيفتهم هي تحديد ما إذا كانت القرارات في قصصك لك أو سُلمت إليك.

هذا مهم لأن نفس الإجابة تُسجل بشكل مختلف حسب من يسأل. "استخدمنا Kafka" حقيقة للمجند، نقطة بداية للمدير، وبالنسبة للمهندس إنها دعوة لسؤال لماذا ليس SQS، ما كان مفتاح التقسيم الخاص بك، وماذا حدث للترتيب عندما اضطررت لإعادة المعالجة.

تمرين البرمجة، وما يقيسه فعلياً

ثلاثة تنسيقات تهيمن، وتقيس أشياء مختلفة.

الفحص الخوارزمي. عادة 45 دقيقة، مشكلة أو اثنتان، خرائط تجزئة ومؤشران عرضيان واجتياز رسم بياني عرضي. التسجيل في الغالب: هل وصلت إلى حل يعمل، هل تحدثت أثناء ذلك، هل لاحظت التعقيد، هل اختبرته. الصمت هو نمط الفشل الشائع، وليس الخطأ.

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

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

في الثلاثة جميعاً، يطرح سؤال اللغة. إذا اخترت Go، توقع أن يسألك شخص ما عن إلغاء السياق، تسريبات goroutine، أو لماذا استخدمت قناة حيث كان mutex أبسط. إذا اخترت Java، توقع JVM: heap مقابل off-heap، ماذا يفعل إيقاف GC الكامل لـ p99 الخاص بك، حجم مجموعة الخيوط، وشيء بشكل Spring حول نطاقات bean أو حدود المعاملات. Python تدعو GIL وما إذا كانت مكالمتك المحظورة قد أوقفت حلقة الأحداث. Node تدعو نفس السؤال بملابس مختلفة. اختر اللغة التي تكتب بها فعلاً، وليس التي تعتقد أنها تبدو كبيرة.

تصميم النظام: الأسئلة داخل السؤال

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

التماثل. "العميل يستدعي POST /payments، ينتهي الوقت، ويعيد المحاولة. الآن ماذا؟" الإجابة الجيدة تصل إلى مفتاح تماثل يوفره العميل، قيد فريد في قاعدة البيانات، وقرار حول ما يجب إرجاعه عند التكرار. الإجابة الجيدة جداً تذكر صندوق الصادرات المعاملاتي، لأنك على وشك نشر حدث حول هذا الدفع والكتابة والنشر ليسا ذريين.

دلالات التسليم. تقريباً كل قائمة انتظار ستسميها هي على الأقل مرة واحدة. إذن: كيف لا تفرض رسوماً على العميل مرتين، وما هي نافذة إلغاء التكرار الخاصة بك، وأين تعيش حالة إلغاء التكرار، وماذا يحدث عندما تنتهي صلاحيتها. إذا قلت "بالضبط مرة واحدة" دون تأهيل فوري لما تعنيه، فقد سلمت المُقابل سؤاله التالي.

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

البيانات. توقع أسئلة فهرس مصاغة كأعراض بدلاً من نظرية: استعلام كان سريعاً الشهر الماضي وبطيء الآن دون تغيير في الكود. تقلبات الخطة، إحصاءات قديمة، افتراض انتقائية توقف عن الثبات مع نمو الجدول، تنافس القفل، الانتفاخ وسلوك vacuum في Postgres. توقع سؤال ترحيل مخطط — إعادة تسمية أو تقسيم عمود دون توقف — حيث الإجابة المتوقعة هي التوسع والانكماش: إضافة العمود الجديد، الكتابة المزدوجة، الملء الخلفي في دفعات، نقل القراءات، التوقف عن كتابة القديم، إسقاطه لاحقاً.

التخزين المؤقت. "أضف ذاكرة تخزين مؤقت" هو بداية المحادثة. المتابعات هي استراتيجية الإبطال، TTL مقابل الطرد الصريح، ماذا يحدث للأصل عندما ينتهي مفتاح ساخن وتصل ألف طلب دفعة واحدة، وما إذا كنت مستعداً لتقديم بيانات قديمة وإلى متى.

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

التعمق في عملك الخاص

هذه الجولة تقرر الأقدمية في كثير من الأحيان أكثر من جولة البرمجة. المطالبة هي نسخة من "أخبرني عن نظام صممته أو غيرته بشكل كبير." ثم:

  • ما كانت البدائل، ولماذا رفضتها؟
  • ما الذي أخطأت فيه؟
  • ما الذي انكسر بعد إطلاقه؟
  • كيف عرفت أنه يعمل؟
  • ماذا ستفعل بشكل مختلف الآن؟
  • من اختلف معك، وماذا حدث؟

المُقابل يختبر ما إذا كنت أنت من يتخذ القرارات. المرشحون الذين ورثوا تصميماً يصفونه بشكل جميل ثم ليس لديهم شيء عندما يُسألون عن البدائل، لأنه لم يكن هناك أي منها من وجهة نظرهم. هذا جيد — قل ذلك، وصف قراراً كان لك حقاً، حتى لو كان أصغر. اختيار مدروس جيداً حول كيفية ملء مئتي مليون صف خلفياً هو دليل أفضل من حساب غامض لبنية رسمها شخص آخر.

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

كيف تبدو الإجابة السطحية

من الجانب الآخر للطاولة، هذه هي العلامات:

  • "استخدمنا Kafka لأنه يتوسع." لا مفتاح تقسيم، لا مجموعة مستهلك، لا ذكر لضمان الترتيب الذي احتجته أو فقدته.
  • "سنضيف Redis." التخزين المؤقت مذكور كحل، دون قصة إبطال، لا TTL، لا تفكير في الاندفاع.
  • "الخدمات المصغرة." تُقدم كبنية بدلاً من مقايضة — لا ذكر للمعاملة التي فقدتها للتو، مكالمة الشبكة التي أضفتها للتو، أو كيف تنشرها معاً على أي حال الآن.
  • "سنفهرس هذا العمود." دون إحساس بالتفرد، تكلفة الكتابة، أو ما إذا كان الاستعلام سيستخدمه على الإطلاق.
  • "إنه متسق في النهاية." تُستخدم كإجابة بدلاً من وصف لمشكلة يجب عليك حلها في واجهة المستخدم أو وظيفة المصالحة.
  • "كان سريعاً، مثل 50 ميلي ثانية." متوسط، في أي حمل، مقاس أين.
  • "لدينا تغطية اختبار مائة بالمائة." متطوع به دون أي حساب لما تؤكده الاختبارات فعلياً، سواء كانت تعمل ضد قاعدة بيانات حقيقية، أو كيف تُعالج التقلبات.
  • "سأضطر للبحث عن ذلك." جيد لتفصيل بناء الجملة. ليس جيداً كإجابة لما يحدث عندما يصبح ما بعد خدمتك بطيئاً.

الخيط المشترك هو اسم حيث يجب أن تكون مقايضة. تسمية تقنية ليست إجابة؛ وصف ما تكلفك وسبب قبولك لتلك التكلفة هو.

ما يجب فعله بعد ذلك

أربعة أشياء، بترتيب مدى تأثيرها.

اكتب اثنين من أنظمتك الخاصة، بشكل صحيح. رسم تخطيطي، القرارات الثلاثة التي اتخذتها فعلياً، البدائل، ما انكسر، ما قسته. ساعة لكل منهما. هذه هي الجولة التي غالباً ما تُفقد وأقلها استعداداً.

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

اختر لغة وكن جاهزاً لحوافها الحادة. فقرة واحدة لكل منها على نموذج الذاكرة أو نموذج التزامن، كيف ستجد تسريباً، وكيف ستحلل نقطة نهاية بطيئة.

اسأل المجند عن جولة البرمجة. خوارزمية، واقعية، أو تزاوج. سيخبرونك، والثلاثة يتطلبون استعداداً مختلفاً. الاستعداد للخطأ هو الخسارة الأكثر شيوعاً التي يمكن تجنبها في هذه العملية.

أو توقّف عن فعل هذا يدويًا

وكيل يقرأ كل إعلان كاملًا، ويقول لك أين تناسب وأين لا، ويجهّز الطلب من ملف لا يستطيع أن يخترع فيه خبرة. البداية مجانية، دون بطاقة.