أهم 11 سؤالاً وأجوبة لمقابلة كافكا [للمستجدين]

نشرت: 2021-02-22

في السنوات التسع التي تلت إطلاقه في عام 2011 ، أثبت كافكا نفسه كواحد من أكثر الأدوات قيمة لمعالجة البيانات في المجال التكنولوجي. Airbnb و Goldman Sachs و Netflix و LinkedIn و Microsoft و Target و The New York Times ليست سوى بضع شركات مبنية على أساس كافكا.

لكن ما هو كافكا؟ ستكون الإجابة البسيطة على ذلك - هي ما يساعد سائق أوبر على التوفيق بين أحد الركاب المحتملين أو يساعد LinkedIn في أداء ملايين الخدمات التحليلية أو التي يمكن توقعها في الوقت الفعلي. باختصار ، Apache عبارة عن منصة بث أحداث موزعة قابلة للتطوير ومفتوحة المصدر ومتسامحة مع الأخطاء تم إنشاؤها بواسطة LinkedIn في 2011. وهي تستخدم سجل الالتزام الذي يمكنك الاشتراك فيه ، والذي يمكن نشره بعد ذلك على عدد من تطبيقات البث.

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

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

أهم 11 سؤال وأجوبة مقابلة كافكا

1. ما هو أباتشي كافكا؟

Kafka هي أداة معالجة بيانات مجانية ومفتوحة المصدر تم إنشاؤها بواسطة Apache Software Foundation. تمت كتابته بلغة Scala و Java ، وهو عبارة عن مخزن بيانات موزع في الوقت الفعلي مصمم لمعالجة تدفق البيانات. إنه يوفر إنتاجية عالية تعمل على جهاز لائق.

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

يأخذ كافكا تدفق البيانات الواردة ويبني خطوط تدفق البيانات التي تعالج وتنقل البيانات من نظام إلى نظام.

وظائف كافكا :

  • وهي مسؤولة عن نشر تدفقات سجلات البيانات والاشتراك فيها
  • إنه يتعامل مع التخزين الفعال لتدفقات البيانات بالترتيب الذي تم إنشاؤه فيه
  • إنه يعتني بمعالجة الأيام في الوقت الفعلي

استخدامات كافكا :

  • تكامل البيانات
  • تحليلات في الوقت الحقيقي
  • تخزين في الوقت الفعلي
  • حل وسيط الرسائل
  • الكشف عن الغش
  • تداول الأسهم

2. لماذا نستخدم كافكا؟

يعمل Apache Kafka كنظام عصبي مركزي يجعل تدفق البيانات متاحًا لجميع تطبيقات البث (يسمى التطبيق الذي يستخدم بيانات التدفق باسم تطبيق التدفق). وهي تقوم بذلك عن طريق إنشاء خطوط بيانات في الوقت الفعلي تكون مسؤولة عن معالجة البيانات ونقلها بين الأنظمة المختلفة التي تحتاج إلى استخدامها.

يعمل كافكا كنظام وسيط للرسائل بين تطبيقين من خلال معالجة الاتصال والتوسط فيه.

لديها مجموعة متنوعة من الاستخدامات التي تشمل المراسلة والمعالجة والتخزين والنقل والتكامل والتحليلات لبيانات الوقت الفعلي.

3. ما هي السمات الرئيسية لأباتشي كافكا؟

تشمل السمات البارزة لكافكا ما يلي:

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

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

3. انعدام فقدان البيانات - مع الدعم المناسب والتكوينات الصحيحة ، يمكن تقليل فقد البيانات إلى الصفر.

4. السرعة - نظرًا لوجود زمن انتقال منخفض للغاية بسبب فصل تدفقات البيانات ، فإن Apache Kafka سريع جدًا. يتم استخدامه مع Apache Spark و Apache Apex و Apache Flink و Apache Storm وما إلى ذلك ، وكلها تطبيقات دفق خارجية في الوقت الفعلي.

5. الإنتاجية العالية والنسخ المتماثل - لدى كافكا القدرة على دعم ملايين الرسائل التي يتم نسخها عبر خوادم متعددة لتوفير الوصول إلى العديد من المشتركين.

4. كيف يعمل كافكا؟

يعمل كافكا من خلال الجمع بين نموذجين للمراسلة ، وبالتالي ترتيبهما في قائمة الانتظار والنشر والاشتراك فيهما حتى يمكن إتاحتهما للعديد من حالات المستهلك.

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

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

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

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

5. ما هي المكونات الأربعة الرئيسية لكافكا؟

هناك أربعة مكونات لكافكا. هم انهم:

- عنوان

- منتج

- وسطاء

- مستهلك

الموضوعات هي تدفقات الرسائل التي هي من نفس النوع.

المنتجون قادرون على نشر الرسائل إلى موضوع معين.

الوسطاء هم خوادم يتم فيها تخزين تدفقات الرسائل التي ينشرها المنتجون.

المستهلكون هم مشتركون يشتركون في الموضوعات ويصلون إلى البيانات المخزنة من قبل الوسطاء.

6. كم عدد واجهات برمجة التطبيقات التي يمتلكها كافكا؟

لدى كافكا خمس واجهات برمجة تطبيقات رئيسية وهي:

- Producer API: مسؤول عن نشر الرسائل أو تدفق السجلات إلى موضوع معين.

- واجهة برمجة تطبيقات المستهلك: تُعرف بالمشتركين في الموضوعات التي تسحب الرسائل المنشورة من قبل المنتجين.

- Streams API: يسمح للتطبيقات بمعالجة التدفقات ؛ يتضمن ذلك معالجة تدفق إدخال أي موضوع معين وتحويله إلى تدفق إخراج. قد يتم إرسال دفق الإخراج هذا إلى موضوعات الإخراج المختلفة.

- موصل API: يعمل كنظام آلي لتمكين إضافة تطبيقات مختلفة إلى موضوعات كافكا الحالية.

- واجهة برمجة تطبيقات المشرف: تتم إدارة موضوعات كافكا بواسطة Admin API ، وكذلك الوسطاء والعديد من كائنات كافكا الأخرى.

7. ما هي أهمية الأوفست؟

يُعرف رقم التعريف الفريد المخصص للرسائل المخزنة في الأقسام باسم الإزاحة. تعمل الإزاحة كرقم تعريف لكل رسالة موجودة في القسم.

8. تحديد مجموعة المستهلك.

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

9. شرح أهمية Zookeeper. هل يمكن استخدام كافكا بدون Zookeeper؟

يتم تخزين الإزاحات (أرقام التعريف الفريدة) لموضوع معين وكذلك الأقسام التي تستهلكها مجموعة مستهلكين معينة بمساعدة Zookeeper. إنها بمثابة قناة التنسيق بين المستخدمين. من المستحيل استخدام كافكا الذي لا يحتوي على Zookeeper. يجعل خادم كافكا غير قابل للوصول ولا يمكن معالجة طلبات العميل إذا تم تجاوز Zookeeper.

10. ماذا يعني القائد والتابع في كافكا؟

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

11. كيف تبدأ خادم كافكا؟

قبل أن تبدأ خادم كافكا ، قم بتشغيل Zookeeper. اتبع الخطوات التالية:

خادم Zookeeper:

> bin / zookeeper-server-start.sh config / zookeeper.properties

خادم كافكا:

bin / kafka-server-start.sh config / server.properties

خاتمة

إذا كنت مهتمًا بمعرفة المزيد عن البيانات الضخمة ، فراجع دبلومة PG في تخصص تطوير البرمجيات في برنامج البيانات الضخمة المصمم للمهنيين العاملين ويوفر أكثر من 7 دراسات حالة ومشاريع ، ويغطي 14 لغة وأدوات برمجة ، وتدريب عملي عملي ورش العمل ، أكثر من 400 ساعة من التعلم الصارم والمساعدة في التوظيف مع الشركات الكبرى.

تحقق من دورات هندسة البرمجيات الأخرى لدينا في upGrad.

قيادة الثورة التكنولوجية المدفوعة بالبيانات

7 دراسات حالة ومشاريع. مساعدة في العمل مع أفضل الشركات. معلم متفرغ للطالب.
برنامج الشهادة المتقدم في البيانات الضخمة من معهد IIIT بنغالور