أسئلة مقابلة الخدمات المصغرة
بقلم Aaron Cao · آخر تحديث

مقابلات الخدمات المصغرة تختبر حدود الخدمات، وخيارات التواصل، واتساق البيانات، والتعامل مع الأعطال، وليس تفاصيل الأطر البرمجية الصغيرة. توقع أن تحتاج إلى تقسيم بنية متجانسة، والدفاع عن الاستدعاءات المتزامنة مقابل المراسلة غير المتزامنة، وشرح كيف تحافظ على صحة البيانات عبر الخدمات، وتتبع طلب واحد من البداية إلى النهاية.
ما الذي تختبره مقابلات الخدمات المصغرة فعلاً؟
لقد قرأت أسماء الأنماط، وتستطيع تلاوة ما يفعله circuit breaker، ومع ذلك لا تعرف ما الذي تستمع إليه اللجنة. يحدد هذا القسم المجالات الأربعة التي يقيّمها القائمون على المقابلة، بالترتيب الذي يستكشفونها به عادة. كل مجال هو سؤال حكمي متنكر في صورة سؤال مفردات.
- التجزئة. أين تقطع، ولماذا هناك بالتحديد؟ يريد القائمون على المقابلة حدوداً مرسومة وفق القدرة التجارية أو ملكية البيانات، لا وفق الطبقات التقنية.
- التواصل. طلب/استجابة متزامن أم أحداث غير متزامنة، وما الذي يتعطل في كل حالة. الإجابة المطلوبة هي مفاضلة، لا تفضيل شخصي.
- البيانات. قاعدة بيانات واحدة لكل خدمة تعني عدم وجود joins بين الخدمات وعدم وجود معاملة موزعة. كيف تحافظ على صحة النظام رغم ذلك؟
- العمليات. النشر، وإدارة الإصدارات، والتتبع، وما يحدث في الثالثة صباحاً عندما تكون خدمة ما بطيئة بدلاً من متعطلة.
لاحظ أن لا شيء من هذا يتعلق بإطار برمجي. المرشح الذي يشرح سبب فصله بين checkout وinventory يتفوق دائماً على من يكتفي بسرد annotations.
ما أكثر أسئلة التجزئة والتواصل شيوعاً؟
هذه هي الأسئلة التي تفتتح بها معظم جولات الخدمات المصغرة، مع ما يتحقق منه القائم على المقابلة فعلياً خلف كل سؤال.
- كيف كنت ستقسّم هذه البنية المتجانسة إلى خدمات؟ يتحقق مما إذا كنت تقطع وفق القدرات التجارية وملكية البيانات، أم وفق طبقات
controllerوserviceوrepository. الإجابة الثانية تُنتج بنية متجانسة موزعة. - كيف تتحدث خدمتان مع بعضهما؟ يتحقق مما إذا كنت تستطيع تسمية تكلفة كل خيار: الاستدعاءات المتزامنة تمنحك نموذجاً ذهنياً بسيطاً لكنها تربط التوافر، والأحداث غير المتزامنة تفصل التوافر وتمنحك eventual consistency يجب أن تشرحها لمالك المنتج.
- ما هي البنية المتجانسة الموزعة وكيف تتجنبها؟ يتحقق مما إذا كنت تعرف أن الخدمات التي يجب نشرها معاً ليست منفصلة حقاً.
- ما الحجم الذي يجب أن تكون عليه الخدمة؟ يتحقق من مقاومتك لإعطاء رقم محدد. الحجم يتبع الحد الفاصل والفريق المالك له.
- هل تحتاج إلى API gateway، وماذا يفعل؟ يتحقق مما إذا كنت تستطيع فصل التوجيه والمصادقة وrate limiting عن منطق العمل.
- كيف تجد الخدمات بعضها بعضاً؟ يتحقق من الإلمام الأساسي بـservice discovery ولماذا تفشل المضيفات المُرمّزة بشكل ثابت في بيئة موسّعة.
قل المفاضلة بصوت مسموع في كل إجابة. لا يمكن للجنة أن تمنح نقاطاً لمقارنة أجريتها بصمت في ذهنك.
كيف تجيب عن أسئلة البيانات والأعطال؟
هنا تُكسب المقابلات أو تُخسر، لأن هذه الأسئلة ليس لها إجابة نظيفة ويلجأ المرشحون إلى إجابة محفوظة عن ظهر قلب.
- كيف تحافظ على اتساق البيانات عبر الخدمات؟ اذكر القيد أولاً: لا توجد معاملة بين الخدمات. ثم صف saga، سواء كانت منسقة عبر الأحداث أو منظمة عبر منسّق، وقل بوضوح إن النظام eventually consistent وما الذي يراه المستخدم خلال تلك الفترة.
- ماذا يحدث عندما تكون خدمة downstream بطيئة؟ مهلات زمنية، وإعادة محاولات مع backoff، وcircuit breaker حتى لا تستنزف تبعية بطيئة thread pool الخاص بك. البطء أسوأ من التعطل، وقول ذلك يشير إلى خبرة إنتاجية.
- كيف تجعل إعادة المحاولة آمنة؟ Idempotency. مفتاح idempotency على مسار الكتابة، بحيث لا تُحصّل دفعة معادة إلا مرة واحدة.
- كيف تتعامل مع عطل جزئي في تدفق متعدد الخطوات؟ إجراءات تعويضية، لا rollback. اشرح كيف يبدو استرداد المبلغ أو تحرير حجز ما.
- كيف تصحح خللاً في طلب لمس ست خدمات؟ Distributed tracing مع correlation ID ينتشر عبر كل hop، بالإضافة إلى سجلات ومقاييس مُهيكلة.
مهندس backend كان يقابَل لدور platform من مستوى L5 لدى مزود سحابة عام، تلقى سؤال saga وأجاب عليه دفعة واحدة، بمفردات الأنماط، دون أن يذكر مرة واحدة ما سيراه العميل. السؤال التالي، ماذا تعرض صفحة الطلب خلال نافذة عدم الاتساق، هو السؤال الذي يحسم الجولة فعلياً. جهّز الإجابة الثانية، لا الأولى فقط.
مزيد من بنوك الأسئلة حسب الدور والموضوع مجمّعة تحت أسئلة المقابلة حسب الدور.
كيف تتدرب على هذا بصوت مسموع؟
قراءة هذه القائمة تولّد إحساساً بالتعرف، وهذا الإحساس يتلاشى بمجرد أن يطرح شخص غريب السؤال وينتظر. الفجوة بين معرفة نمط ما وشرحه تحت ضغط خفيف هي كل صعوبة جولة system design، ولا تُسد إلا بالتحدث.
اختر تدفقاً واحداً تعرفه جيداً، كوضع طلب أو تسجيل حساب، واسرد بصوت مسموع التجزئة كاملة: الحد الفاصل، وخيار التواصل، وقصة الاتساق، وقصة العطل. افعل ذلك حتى تتوقف عن إعادة بدء الجمل. يمكنك تجربة هذه الأسئلة أمام محاور AI يطرح أسئلة متابعة ويتيح لك الإجابة بصوتك في وضع المقابلة التجريبية، وهو أقرب إلى الواقع من إعادة قراءة الملاحظات.
Aaron Cao، مؤسس SubcueAI، بنى وضع التدريب حول تلك الفجوة، لا حول تقديم المحتوى. قوائم الأسئلة متاحة مجاناً في كل مكان؛ ما ينقص المرشحين هو تكرار قول الإجابة بينما ينتظر شخص ما. أثناء مقابلة حقيقية، يمكن لتطبيق سطح المكتب وSide Panel الخاص بامتداد المتصفح عرض أسئلة مُهيكلة أثناء حديث القائم على المقابلة، رغم أن شرحاً متمرَّناً عليه يتفوق دائماً على شرح تقرؤه لأول مرة. ما يفعله المساعد وما لا يفعله موصوف في نظرة عامة على المنتج.
الأسئلة الشائعة
كم عدد أسئلة الخدمات المصغرة التي يجب أن أستعد لها؟
هل أحتاج إلى معرفة Kubernetes لمقابلة عن الخدمات المصغرة؟
ما أكثر الأخطاء شيوعاً في هذه المقابلات؟
هل تُطرح أسئلة الخدمات المصغرة في جولات البرمجة أم جولات التصميم؟
هل يستطيع مساعد AI الإجابة عن هذه الأسئلة نيابة عني مباشرة؟
أسئلة ذات صلة
- ما هي أسئلة مقابلات الذكاء الاصطناعي التوليدي وكيف تستعد لها؟
- ما هي أسئلة المقابلة القائمة على الأداء وكيف تستعد لها؟
- ما الأسئلة التي تُطرح في مقابلة فيديو HireVue؟
- ما أسئلة مقابلة Databricks التي ينبغي أن أتوقعها؟
- ما أسئلة مقابلة .NET التي ينبغي أن أتوقعها؟
- ما أسئلة مقابلة مهندس الجودة التي ينبغي أن أتوقعها؟