جافا سكريبت

أسئلة مقابلة عمل بمجال RxJS

سنقدم لك عزيزي القارئ في هذا المقال عن الاسئلة الاكثر شيوعا في مقابلات العمل بمجال Reactive و RsJS

    • ما هو RxJS؟ / ماذا تفهم بواسطة RxJS ؟

      RxJS هو اختصار ل ( Reactive Extension for Javascript ) اي ملحق تفاعلي لجافا سكريبت. إنها مكتبة JavaScript تستخدم العناصر القابلة للملاحظة للعمل مع البرمجة التفاعلية وتتعامل مع استدعاءات البيانات غير المتزامنة وعمليات الاستدعاء والبرامج القائمة على الأحداث. أدخلت RxJS مفهوم “البرمجة التفاعلية” إلى الويب. يقوم بتنفيذ امتداد تفاعلي لـ TypeScript و JavaScript . يعمل RxJS كمزيج من نمط المراقب ونمط المكرر والبرمجة الوظيفية . RxJS هي مكتبة للبرمجة التفاعلية باستخدام Observables لتسهيل إنشاء كود غير متزامن أو قائم على رد الاتصال. إنها مكتبة JavaScript قائمة بذاتها تتيح الوصول إلى المبرمجين إلى Observable. يمكن أيضًا استخدام RxJS مع مكتبات وأطر JavaScript الأخرى. يدعمها JavaScript و TypeScript جيدًا.

    • ما هي البرمجة التفاعلية Reactive ؟

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

    •  ما الذي يجب أن نعرفه قبل الذهاب إلى تعلم RxJS ؟

      قبل تعلم RxJS ، يجب أن تكون لدينا معرفة أساسية بجافا سكريبت وأطر عمل جافا سكريبت و Angular. يمكنك بسهولة فهم هذه التقنية إذا كان لديك فهم أساسي لـ JS.

    • ما هي أكبر مزايا البرمجة التفاعلية ؟

      مزايا استخدام البرمجة التفاعلية

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

       

    • ما هي أكبر مزايا وعيوب استخدام RxJS؟

      مزايا استخدام RxJS

      فيما يلي قائمة بالمزايا الرئيسية لاستخدام RxJS:

      • يمكن استخدام RxJS مع مكتبات وأطر عمل Javascript الأخرى. وهو مدعوم بجافا سكريبت وأيضًا مع الطباعة المطبوعة. بعض الأمثلة هي Angular و ReactJS و Vuejs و nodejs وما إلى ذلك.
      • RxJS هي مكتبة رائعة عندما يتعلق الأمر بمعالجة المهام غير المتزامنة. يستخدم RxJS العناصر القابلة للملاحظة للعمل مع البرمجة التفاعلية التي تتعامل مع استدعاءات البيانات غير المتزامنة وعمليات الاسترجاعات والبرامج المستندة إلى الأحداث.
      • تقدم RxJS مجموعة ضخمة من المشغلين في الفئات الرياضية ، والتحويلية ، والتصفية ، والمنفعة ، والشرطية ، ومعالجة الأخطاء ، والانضمام إلى الفئات التي تجعل الحياة سهلة عند استخدامها مع البرمجة التفاعلية.

      عيوب استخدام RxJS

      فيما يلي قائمة بأكبر عيوب استخدام RxJS:

      • تصحيح أخطاء الكود باستخدام المراقبات أمر صعب بعض الشيء.
      • عندما تبدأ في استخدام Observables ، يمكن أن ينتهي بك الأمر بكودك الكامل ملفوفًا تحت العناصر المرئية.
    • ما هو Redux؟

      Redux هي مكتبة JavaScript مفتوحة المصدر تُستخدم لإدارة حالة التطبيق. يتم استخدامه بشكل شائع مع مكتبات مثل React أو Angular أو RxJS لبناء واجهات المستخدم. Redux مستوحى من بنية Flux الخاصة بـ Facebook وأيضًا مشابهة جدًا لها. تم إنشاؤه بواسطة دان أبراموف وأندرو كلارك.

    • ما الذي تفهمه بواسطة RxJS Stream؟

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

      يمكن أن يصدر الدفق ثلاثة أشياء مختلفة:

      • قيمة (من نوع ما)
      • خطا
      • إشارة “مكتملة”
    • ما هي العوامل في RxJS؟ ما هي أنواع المشغلات المختلفة المستخدمة في RxJS؟

      عوامل التشغيل جزء مهم جدًا من RxJS. عامل RxJS هو وظيفة خالصة تأخذ ما يمكن ملاحظته كمدخلات وتوفر المخرجات أيضًا في شكل يمكن ملاحظته.

      فيما يلي قائمة بأكثر عوامل التشغيل استخدامًا في RxJS :

      • مشغل الخلق
      • عامل رياضي
      • الانضمام إلى المشغل
      • عامل تحويل
      • عامل التصفية
      • مشغل المرافق
      • عامل شرطي
      • مشغل البث المتعدد
      • خطأ التعامل مع المشغل

      علاوة على ذلك ، يتم تقسيم هؤلاء المشغلين إلى أنواع أخرى من المشغلين.

       

    • ما هو يمكن ملاحظته في RxJS؟

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

      علينا اتباع الخطوات الثلاث التالية لإكمال RxJS الذي يمكن ملاحظته :

      • إنشاء يمكن ملاحظتها
      • اشتراك يمكن ملاحظته
      • تنفيذ يمكن ملاحظته
    • ما هي مزايا RXJS Observables على وعود RxJS؟

      في RxJS ، تتمتع Observable بالعديد من المزايا مقارنة بالوعود. القائمة التالية توضح بعضها:

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

         

      • ما الذي تفهمه بمصطلح عدم الحظر في RxJS؟

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

        يستخدم هذا المفهوم في واجهة برمجة التطبيقات التي تسمح بالوصول إلى المورد إذا كان متاحًا ؛ وإلا فإنه يعود فورًا لإعلام المتصل بأن المورد غير متاح حاليًا أو أن العملية قد بدأت ولم تكتمل بعد. تسمح واجهة برمجة التطبيقات (API) غير المحظورة لمورد ما للمتصل بالقيام بعمل آخر بدلاً من حظره في انتظار المورد ليصبح متاحًا. يمكن استكمال ذلك من خلال السماح للعميل بالتسجيل للحصول على إشعار عند توفر المورد أو عند اكتمال العملية.

      •  ماذا يعني غير المتزامن في سياق RxJS أو البرمجة التفاعلية؟

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

      • ماذا تفهم من نموذج الممثل في RxJS؟

        يمكن للنموذج الممثل القيام بالأمور التالية:

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

        • ما هو الفرق بين البرمجة الحتمية والوظيفية والتفاعلية؟

          لنقارنهم لنرى الفرق:

          البرمجة الحتمية: البرمجة الحتمية هي نموذج برمجة حيث يتم تنفيذ كل سطر من التعليمات البرمجية بالتتابع لإنتاج النتيجة المرجوة. يجبر نموذج البرمجة هذا المبرمجين على كتابة “كيف” سيحل برنامج ما مهمة معينة.

          البرمجة الوظيفية: البرمجة الوظيفية هي نموذج برمجة حيث يمكننا تعيين كل شيء كنتيجة لوظيفة تتجنب تغيير الحالات وتغيير البيانات.

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

اظهر المزيد

مقالات ذات صلة

زر الذهاب إلى الأعلى

أنت تستخدم إضافة Adblock

الاعلانات هي مصدرنا الوحيد لدفع التكلفة التشغيلية لهذا المشروع الريادي يرجى الغاء تفعيل حاجب الأعلانات