أفضل 24 سؤال وأجوبة مقابلة Servlet
نشرت: 2021-06-03servlet هو برنامج قائم على Java يقوم بتوسيع إمكانيات الخادم. إنه مكون حيوي لأي خادم لأنه يستجيب لطلبات الحاوية ولاستضافة تطبيقات الويب. لتشغيل الواجهة الخلفية لموقع ويب ، ويعرف أيضًا باسم جانب الخادم ، ستحتاج إلى أن تكون على دراية بـ servlets وكيفية عملها.
نظرًا لأن الخوادم المستندة إلى Java تحظى بشعبية كبيرة ، فإن التعرف على servlets ضروري إذا كنت ترغب في العمل مع خوادم الويب.
إذا كنت تستعد لمقابلة مطور ، فأنت في المكان الصحيح. ستعطيك أسئلة مقابلة servlet التالية فكرة عما يمكن توقعه من المقابلة.
جدول المحتويات
قائمة بأهم أسئلة مقابلة Servlet
- ماذا تقصد ب Servlet؟
الإجابة: Servlets هي تقنيات Java ، والحاوية التي تديرها تسمى محرك servlet. تنتج servlet محتوى ديناميكيًا وتتفاعل مع العميل من خلال الطلب والاستجابة. يتم تشغيلها عادةً عند النقر فوق ارتباط أو تنفيذ أي نوع من الإجراءات على موقع ويب. تتشابه Servlets مع التطبيقات الصغيرة ، ولكن الاختلاف هو أنها تتم معالجتها على الخادم أثناء معالجة التطبيق الصغير على جهاز العميل.
- ما هي حاوية servlet؟
الإجابة: تعتبر حاويات Servlet جزءًا من خادم ويب يقدم خدمات الشبكة. أنها تعتمد على الطلبات والردود المستندة إلى MIME. حاوية servlet تتعامل مع servlet.
- لماذا نستخدم servlets؟
الإجابة: عادةً ما نستخدم servlets لأنها مستقلة عن النظام الأساسي. علاوة على ذلك ، يتم تجميعها في رمز بايت محايد للمنصة. يمكنك تحميل كود Java byte ديناميكيًا في خادم ويب يدعم Java.
- ماذا تقصد بفلتر؟
الإجابة: المرشحات عبارة عن أجزاء من التعليمات البرمجية يمكن إعادة استخدامها والتي يمكنها تحويل محتوى طلبات HTTP والاستجابة والعناوين.
- ما هو الفرق بين خادم التطبيق وخادم الويب؟
الإجابة: يعالج خادم الويب طلبات HTTP من مستعرض العميل ويستجيب باستجابة HTML. يعالج لغة HTTP ويعمل على بروتوكول HTTP.
من ناحية أخرى ، يوفر خادم التطبيق ميزات إضافية مثل دعم JMS Messaging ، ودعم Enterprise JavaBeans ، وما إلى ذلك ، إلى جانب الوظائف الأساسية لخادم الويب.
- ماذا تقصد بجلسة؟
الإجابة: الجلسة تعني فترة زمنية. في servlet ، الجلسات هي كائنات يستخدمها servlet لتتبع تفاعل المستخدم مع تطبيقات الويب عبر طلبات HTTP متعددة.
- ماذا تقصد بسياق servlet؟
الإجابة: يعرّف سياق Servlet مجموعة من الطرق التي تستخدمها servlet للتواصل مع حاوية servlet الخاصة بها. تقوم حاوية servlet بإنشاء هذا الكائن لمشاركة التكوين الأولي أو المعلمات مع التطبيق بأكمله
يمكنك الحصول على كائن ServletContext باستخدام طريقة getServletContext (). يوجد سياق servlet واحد فقط للتطبيق. يمكنك استخدام ServletContext لمشاركة المعلومات في التطبيق بأكمله.
ملاحظة: هذا من بين أهم أسئلة وأجوبة مقابلة servlet.
- ماذا يعني تعيين servlet؟
الإجابة: يمنحك تعيين Servlet حاوية الويب المحددة التي يجب استدعاء java servlet لعنوان URL معين. سيقوم بتعيين أنماط URL إلى servlet. عندما يرسل العميل طلبًا ، تحدد حاوية servlet التطبيق الذي سيتم إعادة توجيهه إليه ، ويطابق النظام مسار السياق لتنفيذ تعيين servlet.
- كيف تقوم بالتحديث تلقائيًا بعد إدخال بيانات جديدة في قاعدة البيانات؟
الإجابة: يمكنك استخدام Refresh في Server Push و Client-side للتحديث تلقائيًا عند إدخال بيانات جديدة في قاعدة البيانات.
- اشرح دورة حياة servlet.
الإجابة: تنقسم دورة حياة servlet إلى خمس خطوات. أولاً ، تقوم بتحميل فئة servlet ثم إنشاء نسخة servlet. بعد ذلك ، تستدعي طريقة init () ، ثم طريقة الخدمة وأخيراً طريقة التدمير (). يحتوي servlet على ثلاث حالات: جديد ، جاهز ، ونهائي.
سيكون servlet في الحالة الجديدة عند إنشائه. ينتقل إلى حالة الاستعداد بعد استدعاء طريقة init (). أخيرًا ، ينتقل إلى الحالة النهائية عند استدعاء طريقة التدمير ().
- ما هي الميزات الجديدة التي تمت إضافتها في Servlet 2.5؟
الإجابة: جاء Servlet 2.5 مع الميزات الجديدة التالية:
- J2SE 5.0 التبعية
- دعم التعليقات التوضيحية
- Classloading
- web.xml جديد
- توضيحات حالة الحافة
- إزالة القيود
- ما هي الواجهة التي تنفذها جميع servlets (أو يجب أن تطبقها)؟
الإجابة: يجب أن تقوم كل servlets بتنفيذ واجهة تعامل servlet.
- متى يتم تحميل servlet؟
الإجابة: يتم تحميل servlet عندما:
- تم تقديم الطلب الأول.
- الخادم وبدء التحميل التلقائي.
- مثيل واحد يجيب على جميع الطلبات في وقت واحد ، وبالتالي توفير الذاكرة.
- يقوم المسؤول بالتحميل يدويًا.
- متى يتم تفريغ servlet؟
الإجابة: يتم إلغاء تحميل servlet عند إيقاف تشغيل وحدة الخدمة أو إلغاء تحميل المسؤول يدويًا.
- ماذا تقصد بنوع MIME؟
الإجابة: يرمز MIME إلى ملحق بريد الإنترنت متعدد الأغراض. نوع MIME هو رأس HTTP يعطي معلومات حول ما نرسله إلى المتصفح. يساعد العميل في تقديم البيانات. أنواع MIME الشائعة هي نص (HTML) ، نص (عادي) ، صور (jpeg) ، تطبيق (جرة) ، إلخ.
للحصول على نوع MIME الصحيح لملف معين ، يمكنك استخدام طريقة ServletContext getMimeType (). يكون مفيدًا أثناء تنزيل ملف من خلال servlets من الخادم.
- ما هو الفرق بين طرق POST و GET؟
الإجابة: يتمثل الاختلاف الأساسي بين طريقتي POST و GET في أن طريقة POST تحمل معلمات الاستجابة في نص الرسالة بينما يحمل أسلوب GET معلمات الاستجابة الملحقة في سلسلة عنوان URL.
- ماذا تقصد بتطبيق الويب؟
الإجابة: تطبيق الويب عبارة عن وحدة نمطية يتم تشغيلها على الخادم لتوفير محتوى ديناميكي وثابت لمتصفح العميل. يدعم خادم الويب Apache PHP ، ويمكنك إنشاء تطبيق ويب باستخدامه.
تدعم Java تطبيقات الويب من خلال JSPs ، وتقدم servlets التي يتم تشغيلها في حاوية servlet محتوى ديناميكيًا لمتصفح العميل.
- ما هي المزايا التي تقدمها servlet على CGI؟
الإجابة: كانت هناك العديد من أوجه القصور في تقنية CGI. تم تقديم Servlets للتغلب على نفس الشيء.
تقدم Servlets أداءً أفضل من CGI من حيث الاستفادة من الذاكرة ووقت المعالجة. يستخدمون مزايا تعدد مؤشرات الترابط ، حيث يقومون بإنشاء سلسلة رسائل جديدة لكل طلب ، مما يعزز سرعتهم بشكل كبير. في المقابل ، تقوم CGI بإنشاء كائن جديد لكل طلب ، وهو أبطأ نسبيًا من عملية servlets.
Servlets نظام ومنصة مستقلة. يمكنك تشغيل تطبيق ويب قائم على servlet على أي حاوية ويب قياسية (Glassfish و Tomcat و JBoss) وأنظمة التشغيل (Unix و Windows و Mac وما إلى ذلك).
منحنى التعلم الخاص بـ servlets صغير جدًا لأنك تحتاج فقط إلى التعامل مع منطق الأعمال للتطبيق. علاوة على ذلك ، تتعامل الحاوية الخاصة بهم مع دورة حياة servlet ، لذلك لا يوجد خطر من تسرب الذاكرة ، وجمع القمامة ، والأمن.
- ماذا تعرف عن كائن ServletConfig؟
الإجابة: يمكنك استخدام كائن ServletConfig لإعطاء معلومات التكوين إلى servlet محدد. يحتوي كل servlet على كائن ServletConfig فريد وتقوم حاوية servlet بإنشاء مثيل له. يمكنك إعطاء معاملات init من خلال التعليق التوضيحي WebInitParam. للحصول على كائن ServletConfig من servlet ، يجب عليك استخدام طريقة getServletConfig ().
- ما هي المهام التي تؤديها حاوية servlet عادة؟
الإجابة: تؤدي حاوية servlet المهام التالية:
- يسهل الاتصال بين servlets و JSPs وعميل الويب. لا يتعين عليك إنشاء مقبس خادم لتلقي الطلبات وتحليلها وإنشاء استجابات بسبب الحاوية. تتولى الحاوية هذه المهام ، مما يسمح لك بالتركيز على منطق الأعمال.
- تتعامل حاوية servlet مع دورة حياة servlets. يقوم بتحميل servlets في الذاكرة ، وتهيئتها ، واستدعاء الطرق اللازمة والقضاء عليها. تعمل حاويات Servlet أيضًا على تبسيط إدارة الموارد من خلال تقديم أدوات مساعدة مثل JNDI.
- تقوم حاويات Servlet بإنشاء سلاسل عمليات جديدة لكل طلب وتعطي كائنات طلبات واستجابة servlets. بهذه الطريقة ، لن تضطر إلى تهيئة servlets لكل طلب ، مما يوفر الكثير من الذاكرة والوقت.
- تقوم Servlets بتجميع JSPs وتحويلها إلى servlets لإدارتها مثل servlets ، مما يسهل مهمتك.
- ماذا تقصد من قبل مرسل الطلب؟
الإجابة: يمكنك استخدام واجهة RequestDispatcher لإعادة توجيه الطلبات إلى مورد آخر. هذا المورد يمكن أن يكون servlet آخر في التطبيق ، HTML أو JSP. يمكنك استخدام واجهة RequestDispatcher لإضافة محتوى مصدر آخر إلى استجابتك. إنه حل ممتاز للاتصال بين servlet.
يمكنك تحديد طريقتين في واجهة RequestDispatcher:
- طريقة الفراغ إلى الأمام. يقوم بإعادة توجيه الطلب من servlet واحد إلى مصدر مختلف.
- يتضمن الفراغ الأسلوب. يضيف محتوى مصدر آخر إلى استجابتك.
- ما هو الفرق بين ServletContext و ServletConfig؟
الإجابة: يعد ServletContext كائنًا فريدًا للتطبيق بأكمله ، بينما يعد ServletConfig كائنًا فريدًا لـ servlet. يمكنك استخدام ServletContext لإعطاء معلمات init عبر التطبيق الكامل ، والتي يمكن لجميع servlets الاستفادة منها. من ناحية أخرى ، يمكنك استخدام ServletConfig لتوفير معاملات init فقط إلى servlet المحدد.
يمكنك تعيين السمات في ServletContext ، والتي يمكن أن تستخدمها servlets الأخرى ، لكن لا يمكنك اختيار السمات في ServletConfig.
ملاحظة : هذا من بين أسئلة وأجوبة مقابلة servlet الأكثر أهمية. يجب عليك تحضيرها بعناية.
- ماذا تعرف عن سمات servlet؟
الإجابة: تساعدك سمات Servlet في الاتصال بين servlet. يمكنك تعيين السمات والحصول عليها وإزالتها في التطبيق. تحتوي سمات Servlet على ثلاثة نطاقات ، ونطاق الطلب ، ونطاق الجلسة ، ونطاق التطبيق ، وهي. إنها تختلف عن معلمات init.
- كيف يمكنك استدعاء servlet من servlet آخر؟
الإجابة: يمكنك استخدام RequestDispatcher forward () لإعادة توجيه معالجة الطلب إلى servlet مختلف. إذا كنت تريد إضافة مخرجات servlet أخرى إلى استجابة ، يمكنك استخدام طريقة RequestDispatcher include ().
تعلم دورات البرمجيات عبر الإنترنت من أفضل الجامعات في العالم. اربح برامج PG التنفيذية أو برامج الشهادات المتقدمة أو برامج الماجستير لتتبع حياتك المهنية بشكل سريع.
خاتمة
يجب أن تساعدك أسئلة وأجوبة مقابلة servlet أعلاه على فهم نوع الأسئلة التي ستطرحها عليك المقابلة. نوصي بوضع إشارة مرجعية على هذه الصفحة حتى تتمكن من العودة إليها لاحقًا ومراجعة الأسئلة عدة مرات.
حاول أن تظل هادئًا ومتماسكًا أثناء المقابلة. سيساعدك على الاستماع عن كثب للأسئلة والإجابة عليها وفقًا لذلك. يمكنك التحقق من برنامج PG التنفيذي الخاص بنا في تطوير البرامج مع التخصص في تطوير Full Stack لمعرفة المزيد من المفاهيم المتقدمة حول Java والمواضيع ذات الصلة.
ما هي servlets في جافا؟
servlet هو فئة Java يمكن استدعاؤها بواسطة خادم HTTP. تُستخدم Servlets عادةً في تطوير تطبيقات الويب. الغرض الرئيسي من servlet هو معالجة الطلبات من عميل HTTP وإرجاع استجابة مناسبة. هناك العديد من أنواع servlets ولكن أكثرها شيوعًا هو Java Server Pages (JSP) حيث يمكن استخدامها لإنشاء محتوى ويب ديناميكي.
كيف تعمل استجابة الطلب في Java servlet؟
تستخدم الخوادم servlets للاستجابة لطلبات المستخدم. يمكن استخدام servlet لتنزيل المعلومات من قاعدة بيانات أو إرسال بريد إلكتروني أو عرض المعلومات. إنه برنامج صغير يقوم بمهمة معينة للخادم. تتم كتابة Servlets بلغة Java ويتم تجميعها في ملف فئة واحد. بعد ذلك ، يتم نشرهم على خادم الويب. بمجرد نشرها ، تكون servlets جاهزة لقبول الطلبات من المستخدمين. يمكن أن يكون الطلب أي شيء من مستخدم ينقر على ارتباط إلى مستخدم يملأ نموذجًا. يتم إرسال الطلب إلى وحدة الخدمة حيث يتم توجيهه إلى servlet المناسب. ثم يعالج servlet الطلب ويرسل استجابة مرة أخرى. يمكن أن تختلف هذه الاستجابة حسب نوع الطلب. على سبيل المثال ، إذا كان المستخدم يطلب معلومات ، فيمكن لـ servlet إرجاع هذه المعلومات إلى المستخدم. إذا كانت servlet تستجيب لطلب نموذج ، فيمكنها إرسال بريد إلكتروني للتأكيد إلى المستخدم أو إعلام حول عملية الإرسال.
ما هي دورة حياة servlet؟
يمكن القول أن servlet لها ثلاث مراحل في دورة حياتها: 1. التحميل 2. التنفيذ 3. التدمير. أثناء التحميل ، يتلقى servlet بعض معلمات التهيئة. يتم تحديد هذه المعلمات في واصف النشر. بمجرد اكتمال التحميل ، يمكن استدعاء servlet بواسطة حاوية servlet بعدة طرق - عن طريق استدعاء طريقة init () أو استدعاءات ajax أو أحداث دورة الحياة. المرحلة التالية ، والأخيرة ، هي التدمير ، أي عندما تتم إزالة servlet من الحاوية. توجد عدة طرق يتم من خلالها إزالة servlet من حاوية servlet ، على سبيل المثال ، عند إيقاف الحاوية ، أو عند إيقاف تطبيق الويب.