"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > أسئلة مقابلة NODE...

أسئلة مقابلة NODE...

تم النشر بتاريخ 2024-11-05
تصفح:163

NODE Interview Questions...

1. ما هو Node.js؟

الإجابة: Node.js هي بيئة تشغيل مبنية على محرك JavaScript V8 الخاص بمتصفح Chrome والذي يسمح للمطورين بتشغيل تعليمات JavaScript البرمجية على جانب الخادم. إنه مصمم لبناء تطبيقات شبكة قابلة للتطوير ويدعم البنية غير المحظورة والمبنية على الأحداث.

2. ما الفرق بين Node.js وJavaScript؟

الإجابة: JavaScript هي لغة برمجة تعمل في المتصفح.
Node.js هي بيئة تشغيل تسمح بتشغيل JavaScript على جانب الخادم.

3. ما هي البرمجة المبنية على الأحداث في Node.js؟

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

4. ما الفرق بينprocess.nextTick() وsetImmediate()؟

الإجابة: تقوم Process.nextTick() بجدولة رد اتصال ليتم تنفيذه بعد اكتمال العملية الحالية، ولكن قبل استمرار حلقة الحدث.
يقوم setImmediate() بجدولة رد اتصال ليتم وضعه في حلقة الحدث بعد أحداث الإدخال/الإخراج.

5. كيف يتعامل Node.js مع العمليات غير المتزامنة؟

الإجابة: يستخدم Node.js نموذج إدخال/إخراج أحادي الترابط وغير محظور مع بنية تعتمد على الأحداث. إنه يعزز عمليات الاسترجاعات والوعود وعدم المزامنة/الانتظار للتعامل مع العمليات غير المتزامنة، مما يضمن أن الخادم يمكنه معالجة العديد من الطلبات بشكل متزامن دون حظر الخيط الرئيسي.

6. ما هي التدفقات في Node.js؟

الإجابة: التدفقات هي كائنات في Node.js تتيح لك قراءة البيانات أو كتابتها في أجزاء. يتم استخدامها للتعامل مع كميات كبيرة من البيانات عن طريق معالجتها في أجزاء أصغر يمكن التحكم فيها، مما يقلل من استخدام الذاكرة. هناك أربعة أنواع من التدفقات:

قابلة للقراءة (على سبيل المثال، fs.createReadStream())
قابل للكتابة (على سبيل المثال، fs.createWriteStream())
دوبلكس (قابل للقراءة والكتابة)
التحويل (نوع من الدفق المزدوج حيث يكون الإخراج عبارة عن تحويل للإدخال)

7. ما الفرق بين التعليمات البرمجية المتزامنة وغير المتزامنة في Node.js؟

الإجابة: تم حظر الكود المتزامن؛ ينتظر اكتمال كل عملية قبل الانتقال إلى العملية التالية.
الكود غير المتزامن غير محظور؛ فهو يسمح للبرنامج بمواصلة التنفيذ دون انتظار اكتمال العملية (يتم التعامل معها عبر عمليات الاسترجاعات أو الوعود أو عدم المزامنة/الانتظار).

8. ما هي وظائف البرامج الوسيطة في Express.js؟

الإجابة: وظائف البرامج الوسيطة في Express.js هي وظائف يتم تنفيذها أثناء دورة الاستجابة للطلب. يمكنهم تعديل الطلب أو الاستجابة أو تنفيذ بعض المنطق قبل تمرير التحكم إلى وظيفة البرنامج الوسيط التالية. تشمل الأنواع الشائعة ما يلي:

البرمجيات الوسيطة على مستوى التطبيق: منضمة إلى مثيل Express()
البرامج الوسيطة على مستوى جهاز التوجيه: منضمة إلى مثيل Express.Router()
البرامج الوسيطة لمعالجة الأخطاء

9. كيف تعمل حلقة الحدث في Node.js؟

*الإجابة: * حلقة الحدث مسؤولة عن معالجة عمليات الاسترجاعات غير المتزامنة في Node.js. فهو يراقب بشكل مستمر مكدس الاستدعاءات وقائمة انتظار المهام وعمليات الإدخال/الإخراج. عندما يكون مكدس الاستدعاءات فارغًا، فإنه يعالج المهام من قائمة انتظار الأحداث، مما يضمن عدم حظر الإدخال/الإخراج عن طريق تأجيل العمليات الثقيلة.

10. ما فائدة وحدة المجموعة في Node.js؟

الإجابة: تسمح وحدة المجموعة لـ Node.js بإنشاء عمليات فرعية (عاملة) تشترك في نفس منفذ الخادم. يساعد هذا في موازنة التحميل والاستفادة الكاملة من الأنظمة متعددة النواة عن طريق تشغيل مثيلات متعددة من Node.js للتعامل مع المزيد من الطلبات في وقت واحد.

11. ما الفرق بين require()‎ والاستيراد في Node.js؟

الإجابة: require() هي جزء من نظام وحدة CommonJS وهي متزامنة. يتم استخدامه لتحميل الوحدات في إصدارات Node.js قبل ES6.
يعد الاستيراد جزءًا من نظام الوحدة ES6، ويعمل مع نظام الوحدة الأصلي لـ JavaScript، مما يتيح دعم اهتزاز الأشجار والتحليل الثابت. يتم استخدامه في الإصدارات الأحدث من Node.js مع وحدات ECMAScript.

12. كيف تتعامل مع الأخطاء في Node.js؟

الجواب: يمكن معالجة الأخطاء بعدة طرق:

استخدام ردود الاتصال بنمط الخطأ الأول (رد الاتصال (خطأ، نتيجة))
استخدام الوعود مع .catch() للوعود المرفوضة
استخدام المحاولة...التقاط الكتل باستخدام غير متزامن/انتظار
استخدام البرامج الوسيطة في Express.js لمعالجة الأخطاء

13. ما هو الغرض من ملف package.json؟

الإجابة: package.json هو ملف بيان في مشروع Node.js يحتوي على بيانات تعريف حول المشروع وتبعياته. فهو يحدد اسم المشروع، والإصدار، ونقطة الإدخال الرئيسية، والبرامج النصية، والتبعيات، وتبعيات التطوير، والتكوينات الأخرى.

  1. كيف يمكنك تأمين تطبيق Node.js؟ الإجابة: استخدم HTTPS للاتصال الآمن. قم بتنفيذ التحقق من صحة البيانات وتطهيرها لمنع حقن SQL والبرمجة النصية عبر المواقع (XSS). استخدم آليات مصادقة وتفويض قوية (مثل JWT). تأمين البيانات الحساسة باستخدام متغيرات البيئة والتخزين الآمن. منع هجمات DOS مع تحديد المعدل والمهلات. حافظ على تحديث حزمك واستخدم أدوات التدقيق مثل تدقيق npm.

15. ما الفرق بين fs.readFile() وfs.createReadStream()؟

*الإجابة: * يقرأ fs.readFile() الملف بأكمله في الذاكرة ثم ينفذ رد الاتصال بمحتويات الملف.
يقرأ fs.createReadStream() الملف على أجزاء، مما يجعله أكثر كفاءة في استخدام الذاكرة للملفات الكبيرة حيث يقوم بتدفق البيانات بدلاً من تحميلها كلها مرة واحدة.

بيان الافراج تم نشر هذه المقالة على: https://dev.to/kamlesh_gupta_539c974fb0d/node-interview-questions-5fg4?1 إذا كان هناك أي انتهاك، يرجى الاتصال بـ [email protected] لحذفه
أحدث البرنامج التعليمي أكثر>

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

Copyright© 2022 湘ICP备2022001581号-3