ما أسئلة مقابلات Kafka التي ينبغي أن أتوقعها؟
بقلم Aaron Cao · آخر تحديث

توقع أربع طبقات: المفاهيم الأساسية (الموضوعات، والأقسام، والإزاحات، ومجموعات المستهلكين)، وضمانات التسليم (مرة واحدة على الأقل، ومرة واحدة بالضبط، والمنتجون متساوو التأثير)، والعمليات (النسخ المتماثل، والنسخ المتزامنة، والاحتفاظ، وإعادة الموازنة)، وسيناريوهات التصميم التي تحدد فيها عدد الأقسام، وتختار المفاتيح، وتعالج الأعطال. يختبر المحاورون سبب كل إجابة.
ما مفاهيم Kafka الأساسية التي يتحقق منها كل محاور أولا؟
أنت تعرف بالفعل أن Kafka سجل موزع، وتخشى أن يتعمق المحاور مستوى إضافيا عما تستخدمه يوميا. وهذا بالضبط ما تتناوله هذه الأسئلة، لذلك يستعرض هذا القسم المصطلحات بالترتيب الذي يتبعه المحاورون عادة، ويوضح السؤال التكميلي وراء كل مصطلح.
- الموضوعات والأقسام. ينقسم الموضوع إلى أقسام، وكل منها سجل مرتب تُضاف إليه البيانات فقط. سؤال تكميلي: لماذا توسع Kafka نطاق الكتابة بإضافة أقسام بدلا من تسريع سجل واحد؟
- الإزاحات. موضع المستهلك داخل قسم. سؤال تكميلي: من يخزن الإزاحات المثبتة، وماذا يحدث إذا تعطل مستهلك قبل تثبيتها؟
- مجموعات المستهلكين. يتقاسم المستهلكون في المجموعة أقسام موضوع، مع تخصيص كل قسم لمستهلك واحد على الأكثر من المجموعة في الوقت نفسه. سؤال تكميلي: ماذا يحدث للإنتاجية إذا ضمت المجموعة مستهلكين أكثر من الأقسام؟
- الوسطاء ووحدة التحكم. يخزن الوسطاء الأقسام؛ وتتولى وحدة التحكم اختيار القائد والبيانات الوصفية. سؤال تكميلي: ما الذي تغير عندما نقلت Kafka البيانات الوصفية من ZooKeeper إلى KRaft؟
- المنتجون والمفاتيح. تصل الرسالة ذات المفتاح إلى قسم يُختار بتجزئة المفتاح؛ أما الرسالة بلا مفتاح فتوزع على الأقسام. سؤال تكميلي: أي الخيارين يحافظ على ترتيب أحداث عميل واحد؟
أجب عن هذه الأسئلة بذكر الآلية، لا الشعار. فالقول إن الأقسام تتيح التوازي أمر بديهي؛ أما توضيح أن الترتيب لا يوجد إلا داخل القسم، وأن المفتاح لذلك يحدد نطاق الترتيب، فهو ما ينقلك إلى الجولة التالية.
كيف تُطرح أسئلة ضمانات التسليم والنسخ المتماثل؟
هذه هي الطبقة التي يخسر فيها معظم المرشحين نقاطا، لأن الكلمات سهلة والمفاضلات ليست كذلك. توقع أن يحدد المحاور ضمانا ويطلب منك تحقيقه عبر الإعدادات.
- مرة واحدة على الأكثر مقابل مرة واحدة على الأقل. إذا ثبتت الإزاحة قبل المعالجة فقد تفقد رسالة؛ وإذا عالجت أولا ثم ثبتت الإزاحة فقد تعالجها مرتين. وضح العطل الذي يتحمله كل ترتيب وأيهما يفضله نظامك.
- المنتجون متساوو التأثير والتنفيذ مرة واحدة بالضبط. يزيل المنتج متساوي التأثير تكرار محاولات الإرسال داخل قسم؛ وتوسع المعاملات ذلك ليشمل عدة أقسام وإزاحات المستهلكين في حلقة استهلاك وتحويل وإنتاج. كن مستعدا لتوضيح ما لا يشمله التنفيذ مرة واحدة بالضبط: تظل الكتابة في قاعدة بيانات لاحقة خارج المعاملة مسؤوليتك.
- الإقرارات، ومعامل النسخ المتماثل، والنسخ المتزامنة. ينتظر
acks=allمجموعة النسخ المتزامنة؛ ويحددmin.insync.replicasالحد الأدنى الذي يمكن أن تنكمش إليه هذه المجموعة قبل رفض عمليات الكتابة. يسأل المحاورون غالبا عما تضحي به مقابل المتانة هنا: زمن الاستجابة والتوافر عند فقدان وسيط. - الاحتفاظ والضغط. يحذف الاحتفاظ المستند إلى الوقت أو الحجم المقاطع القديمة؛ بينما يحتفظ ضغط السجل بأحدث سجل لكل مفتاح. سؤال تكميلي: أيهما يدعم سجل تغييرات لمخزن مفتاح وقيمة، ولماذا؟
- إعادة الموازنة. عند انضمام مستهلك أو مغادرته، يعاد تعيين الأقسام. سؤال تكميلي: كيف تؤثر إعادة موازنة طويلة في خدمة حساسة لزمن الاستجابة، وكيف تخفف إعادة الموازنة التعاونية والعضوية الثابتة من أثرها؟
عادة مفيدة: لكل إعداد تذكره، وضح العطل الذي يمنعه والتكلفة التي يضيفها. بهذه البنية تجيب عن السؤال والسؤال التكميلي في جملة واحدة.
كيف تبدو أسئلة التصميم والسيناريوهات؟
في مقابلات المناصب العليا، تحل السيناريوهات محل التعريفات ويراقب المحاور طريقة استدلالك. مثال شائع: يُطلب من مهندس أنظمة خلفية يتقدم إلى دور في المنصات لدى شركة مدفوعات تصميم خط معالجة أحداث يجب فيه تنفيذ كل معاملة لحساب واحد بالترتيب، وأن تنمو الإنتاجية مع حركة البيانات، وألا يؤدي تعطل وسيط إلى فقدان البيانات. تعتمد الإجابة القوية مفتاحا هو معرف الحساب كي تشترك أحداث الحساب الواحد في قسم، وتحدد عدد الأقسام وفقا للذروة المتوقعة مع هامش للنمو، وتضبط النسخ المتماثل وacks=all لتحقيق المتانة، وتوضح كيف يثبت المستهلكون الإزاحات كي يؤدي التعطل إلى إعادة التشغيل بدلا من التخطي.
ومن السيناريوهات المتكررة الأخرى: مستهلك يتأخر وكيف تكتشف التأخر وتلحق بالركب؛ وموضوع تندم على عدد أقسامه ولماذا تفسد إعادة التقسيم ترتيب المفاتيح؛ ورسالة معيبة تعطل المستهلك ونمط قائمة الرسائل غير القابلة للتسليم الذي يعزلها؛ وتغييرات المخطط بين المنتجين والمستهلكين وما تمنحك إياه أداة لتسجيل المخططات. لا يبحث المحاور عن بنية صحيحة واحدة، بل يريد منك تحديد القيد، واختيار آلية، وذكر المفاضلة بصوت مسموع.
تدرب على قول هذه الإجابات بصوت عال قبل المقابلة بدلا من الاكتفاء بقراءتها. فالتدرب على أسئلة السيناريوهات مع محاور AI يضغط عليك بأسئلة تكميلية هو غرض وضع التدريب في صفحة المقابلة التجريبية، بينما توجد المجموعة الأوسع من بنوك الأسئلة حسب الدور والموضوع ضمن أسئلة المقابلات حسب الدور والموضوع.
هل يمكن لمساعد مقابلات بالذكاء الاصطناعي المساعدة في أسئلة Kafka؟
نعم في جولة حوارية، ضمن حدود نزيهة. يلتقط تطبيق SubcueAI الأصلي لأجهزة macOS وWindows المكتبية صوت المحاور وميكروفونك، ويعرض اقتراحات قصيرة للإجابات في طبقة محلية، لذلك عندما يسأل المحاور مم يحمي min.insync.replicas، تكون الآلية على شاشتك بينما تشرحها بكلماتك. وتفعل إضافة المتصفح الشيء نفسه للمكالمات داخل تبويب المتصفح، إذ تلتقط صوت تبويب الاجتماع وحده. لا يضيف أي منهما روبوتا إلى المكالمة ولا يدرج أي شيء في صفحة الاجتماع؛ ويتوفر شرح الإعداد في صفحة الدليل التعليمي.
الحدود أهم من العرض الترويجي. فالاختبار البرمجي المراقب، أو الشاشة المسجلة، أو حاسوب تديره الشركة أمور خارج النطاق، كما أن تمرين البرمجة المباشر الذي يجب أن تنفذ فيه مستهلكا تحت المراقبة هو عملك أنت. تبلغ فاعلية المساعد ذروتها مع أسئلة المصطلحات والمفاضلات أعلاه، وتضعف مع أي شيء يُكتب في منصة تقييم. قبل الاعتماد عليه، زوده بسيرتك الذاتية لكي تعكس الاقتراحات عملك الفعلي على Kafka؛ ويُحفظ هذا الملف الشخصي في منشئ السيرة الذاتية.