تم النشر 2026-01-19
تخيل أن لديك نظامًا معقدًا للغاية في يدك، وهو مقسم إلى عدة خدمات صغيرة لتشغيله. الكود الذي أكتبه لا بأس به، ولكن في كل مرة أذهب فيها لإجراء مقابلة عمل، يبرز سؤال - كيف أسأل لمعرفة ما إذا كان الشخص الآخر يفهمه حقًا؟ يمكن لأي شخص حفظ تلك المفاهيم النظرية، ولكن عندما يتعلق الأمر بالتنفيذ المحدد في .NET، تصبح التفاصيل ضبابية.

لقد تحدثنا إلى العديد من الفرق ووجدنا أن الجميع يعاني من نفس الصداع. بعض الناس يسألون بشكل سطحي للغاية ويسألون فقط "ما هي الخدمات المصغرة؟"؛ يحفر بعض الأشخاص عميقًا جدًا ويتورطون في عنصر تكوين معين لا يحظى بشعبية. ربما يكون القائم بإجراء المقابلة قد بدأ للتو العمل على ذلك بنفسه، وبعد طرح العديد من الأسئلة، لا يزال يشعر وكأنه لا يعرف الحبال.
في الواقع، إجراء المقابلات يشبه إلى حد ما تصحيح الأخطاء البرمجية. عليك أن تعرف أين نقاط التوقف الحرجة.
تبدو الخدمات الصغيرة سامية، ولكن عندما يتعلق الأمر بمشاريع .NET، فهي مجرد سلسلة من الاختيارات المحددة والعمليات العملية. على سبيل المثال، بالنسبة للحاويات، هل تستخدم Docker أم Kubernetes مباشرة؟ كيفية تصميم بوابة API؟ هل أحتاج إلى ركوبها بنفسي إذا وجدت الخدمة؟ وراء هذه الأسئلة يكمن فهم عميق للهندسة المعمارية.
هناك سوء فهم شائع: كثير من الناس يحفظون هذه التكنولوجيا عن ظهر قلب، لكنهم لا يستطيعون تفسير سبب اختيارهم لهذه التقنية بدلاً من تلك. يوجد في النظام البيئي .NET الكثير من الأدوات وأطر العمل، ولكل خيار ثمنه. خلال المقابلة، نريد أن نسمع الفكرة وراءها بدلاً من ذكر الأسماء.
"إذا تباطأ الاتصال بين الخدمات فجأة، فمن أين تبدأ؟" لا توجد إجابة موحدة لهذا السؤال، ولكنها يمكن أن تحدد ما إذا كان الشخص قد قام بالفعل بالكثير من العمل أو قرأ فقط بعض المدونات.
لا تركز فقط على المفاهيم. الانتقال مباشرة إلى السيناريو: "لنفترض أن لديك الآن خدمة طلب وخدمة مخزون، وتم خصم المخزون عند إنشاء الطلب. كيف تتأكد من عدم العبث بالبيانات؟"
عند هذه النقطة، قد تتضمن الإجابة قوائم انتظار الرسائل، أو المعاملات الموزعة، أو التصميمات المتسقة في النهاية. في .NET، يمكنك استخدام MassTransit أو NServiceBus، أو يمكنك استخدام RabbitMQ مباشرة. لكن النقطة ليست في اسم الأداة، ولكن في الاختيار - لماذا يتم استخدامها بهذه الطريقة؟ ما هي التكلفة؟
تحدث عن تجربة الفشل. من منا لم يقع في مأزق في الطريق إلى الخدمات الصغيرة؟ مهلات الشبكة، وإدارة التكوين المربكة، والمراقبة غير الكافية... استمع إلى المشكلات المحددة التي واجهها الطرف الآخر وكيفية حلها. وهذا أكثر فائدة بكثير من النظرية المثالية.
تتميز بيئة .NET بخاصية مميزة: فهي تقليدية وحديثة. تم فصل العديد من الفرق عن الأنظمة الفردية القديمة وتحمل أمتعة تاريخية ثقيلة. يجب أن تكشف أسئلة المقابلة الجيدة عن قدرة الشخص الآخر على التعامل مع هذا التعقيد.
عند تصميم المشكلات، من السهل الذهاب إلى طرفين: إما مجردة للغاية أو تافهة للغاية. يجب أن تكون أسئلة المقابلة الجيدة مثل كتابة التعليمات البرمجية، مع وحدات واضحة مع وجود مجال للتوسع.
على سبيل المثال، عند السؤال عن السجلات والمراقبة، يمكنك القول: "الخدمات الصغيرة متناثرة، والسجلات متناثرة أيضًا. كيف يمكنك ربط القرائن معًا؟" قد يؤدي هذا إلى مكدس ELK أو Seq أو مباشرة إلى Azure Application Insights. ولكن بشكل أعمق، كيف يمكنك تحديد مستويات السجل؟ كيف تتجنب وجود عدد كبير جدًا من السجلات وعدم القدرة على العثور على النقاط الرئيسية؟
أو اسأل الأمن: "مع وجود العديد من الخدمات، كيف يمكن إدارة المصادقة؟" في الوقت الحالي، قد نتحدث عن تدوير مفاتيح OAuth2 أو JWT أو API. في .NET، يعد IdentityServer خيارًا شائعًا، ولكنه ليس الحل الوحيد.
والمفتاح هنا ليس ما إذا كان الطرف الآخر يعرف أداة معينة، بل ما إذا كان يفهم طبيعة المشكلة.
بصراحة، لم نعرف كيف نسأل منذ البداية. في البداية، بدت قائمة الأسئلة وكأنها جدول محتويات كتاب مدرسي، وما زلت أشعر بعدم اليقين بعد المقابلة.
لاحقًا، أدركنا تدريجيًا أن المقابلة ليست اختبارًا، بل محادثة. تريد أن تفهم كيف يفكر الشخص الآخر، ويشعر الشخص الآخر أيضًا بالأجواء الفنية لفريقك. لذا، نفضل الآن التوصل إلى سيناريو مبسط للحياة الواقعية ومناقشة الحلول الممكنة معًا. ما يمكن كشفه في هذه العملية هو أكثر بكثير من الإجابة القياسية.
يتغير النظام البيئي للخدمات الصغيرة .NET باستمرار، وتظهر الأدوات والنماذج الجديدة باستمرار. عليك أن تتكيف مع أسئلة المقابلة، ولا يمكنك دائمًا الالتزام بنفس الروتين الذي كنت عليه قبل بضع سنوات. لكن الأشياء الأساسية لم تتغير: أساس برمجي متين، وتفكير تصميمي واضح، والاستعداد لحل المشكلات العملية.
في التحليل النهائي، تدور المقابلات حول العثور على الأشخاص الذين يمكنك حل المشكلات معهم معًا. إن بنية الخدمات الصغيرة بحد ذاتها معقدة بدرجة كافية، وما يحتاجه الفريق هو شريك يمكنه تبسيط التعقيد.
لذلك، عند التحضير للمقابلة في المرة القادمة، فكر أقل في "الأسئلة القياسية" وأكثر في "ما هي المشاكل التي واجهناها بالفعل". تحدث عن تلك الصراعات والتشابكات الصغيرة الحقيقية، وغالبًا ما تكمن الإجابات هناك.
سوف تصبح التفاصيل الفنية قديمة، ولكن الطريقة التي تفكر بها لن تكون كذلك. ربما يكون العثور على شخص يمكنك التفكير في الذهاب معه هو أهم شيء يجب القيام به في المقابلة.
أنشئت في عام 2005،kpowerتم تخصيصها لمصنع محترف لوحدة الحركة المدمجة، ومقرها الرئيسي في دونغقوان، مقاطعة قوانغدونغ، الصين. الاستفادة من الابتكارات في تكنولوجيا القيادة المعيارية،kpowerيدمج المحركات عالية الأداء ومخفضات الدقة وأنظمة التحكم متعددة البروتوكولات لتوفير حلول نظام القيادة الذكية الفعالة والمخصصة.kpowerقدمت حلول أنظمة القيادة الاحترافية لأكثر من 500 عميل من المؤسسات على مستوى العالم مع منتجات تغطي مجالات مختلفة مثل أنظمة المنزل الذكي، والإلكترونيات الأوتوماتيكية، والروبوتات، والزراعة الدقيقة، والطائرات بدون طيار، والأتمتة الصناعية.
وقت التحديث: 19-01-2026