تطوير المكدس الكامل

15 سؤال يجب معرفته في مقابلة Spring MVC

- إعلان-

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

بعد كل شيء ، فإن إطار عمل Spring MVC هو أكثر أطر عمل Java استخدامًا ، ولا بد لك من تلقي الأسئلة المطروحة في نفس الوقت وفي نفس الوقت تقريبًا ، في أي مقابلة Java (أو أي مقابلة ذات صلة) تجلس فيها. إذا لم تكن تعرف ، فإن Spring MVC هو إطار عمل قوي قائم على Java يساعد في إنشاء تطبيقات الويب. كما يوحي الاسم ، فإنه يستخدم بنية MVC - نموذج ، عرض ، وحدة تحكم. يوفر Spring MVC طريقة أنيقة لاستخدام الزنبرك مع إطار MVC. تم إصدار إطار الربيع في عام 2002 ، وهو إطار مفتوح المصدر ، مما يعني أنه يمكن للمطورين في جميع أنحاء العالم المساهمة في تطوير وإصدارات أخرى من إطار العمل.

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

مع وجود العديد من المزايا التي نقدمها ، لا ينبغي أن يكون هناك ذرة من الشك حول سبب كون Spring MVC الموضوع المفضل للمقابلة لاستجوابك بشأنه.

في هذه المقالة ، سنتحدث عن 15 سؤالًا يجب أن تعرفه عن Spring MVC والتي يمكنك توقع مواجهتها في أي مقابلة تجلس فيها.

1. ما هو إطار الربيع؟

Spring هو إطار عمل مفتوح المصدر تم إنشاؤه لتبسيط تطوير التطبيقات. يحتوي على هيكل متعدد الطبقات يسمح للمطور بأن يكون انتقائيًا بشأن المكونات التي يستخدمها. يحتوي على ثلاثة مكونات رئيسية - Spring Core و Spring AOP و Spring MVC.

علاوة على ذلك ، يمكنك التحدث عن تجربتك مع Spring ، إن وجدت. سيضيف ذلك الكثير من الوزن إلى إجابتك.

لماذا شركة Compaيتطلعون إلى توظيف مطوري Full Stack

2. ما هي السمات الرئيسية لإطار الربيع؟

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

  • خفيف الوزن: الربيع خفيف الوزن للغاية ، الإصدار الأساسي حوالي 1 ميغا بايت ، مع تكاليف معالجة لا تذكر.
  • عكس التحكم (IoC): يعد حقن التبعية أو عكس التحكم أحد أهم ميزات الربيع. باستخدام IoC ، لا يحتاج المطورون إلى إنشاء بيئة كاملة للكائن وتبعياته ؛ يمكنهم ببساطة إنشاء واختبار الكائن الذي يتعاملون معه في وقت معين. سيتم تضمين تبعيات الكائن أو استدعائها عند الحاجة.
  • البرمجة الموجهة نحو الجانب: Spring يدعم البرمجة الموجهة نحو الجانب. يعزل AOP الوظائف الثانوية عن منطق عمل المبرمج. هذا لا يوفر نمطية فحسب ، بل يجعل الكود قابلاً للصيانة أيضًا.
  • هندسة MVC: يأتي Spring مع إطار عمل MVC لتطبيقات الويب. هذا الإطار قابل للتكوين بدرجة كبيرة باستخدام تقنيات مختلفة مثل JSP و Tiles و iText و POI.
  • معالجة استثناء JDBC: يأتي Spring مع طبقة تجريد JDBC محددة مسبقًا والتي تبسط عملية معالجة الاستثناءات الإجمالية.

3. اشرح قليلاً عن حقن التبعية.

يهدف Inversion of Control أو Dependency Injection إلى تبسيط عملية إنشاء الكائن باتباع مفهوم بسيط - لا تقم بإنشاء كائنات ، فقط وصف كيفية إنشائها. باستخدام IoC ، يتم إعطاء الكائنات تبعياتها في وقت البناء بواسطة كيان خارجي مسؤول عن تنسيق كل كائن في النظام. في الأساس ، نقوم بحقن التبعيات في الكائنات باستخدام IOC أو حقن التبعية.

4. اشرح الأنواع المختلفة لحقن التبعية في الربيع؟ متى تستخدم أي؟

يوفر Spring للمطورين النوعين التاليين من حقن التبعية:

  • DI القائم على المُنشئ: يتم إنجاز DI القائم على المُنشئ عن طريق تمرير عدد من الوسيطات (يمثل كل منها اعتمادًا على فئة أخرى) إلى مُنشئ الفصل. ببساطة ، تُعطى التبعيات في شكل معلمات المُنشئ.
  • DI القائم على الواصف: عندما تعمل مع مُنشئ بدون وسيطة ، ستقوم بتعيين القيم عن طريق تمرير الوسيطات من خلال وظيفة setter لإنشاء مثيل للحبة قيد الدراسة ، وهذا ما يسمى بحقن التبعية القائم على المُعيِّن.

متى ستستخدم أيًا من هؤلاء ، يتلخص في متطلباتك. ومع ذلك ، يوصى باستخدام DI القائم على Setter للتبعيات الاختيارية و DI القائم على المُنشئ للتبعيات الإلزامية.

5. ما هو إطار الربيع MVC؟

Spring MVC هو أحد المكونات الأساسية لهيكل الربيع. يأتي مزودًا بمكونات وعناصر جاهزة للاستخدام تساعد المطورين على بناء تطبيقات ويب مرنة وقوية. كما يوحي الاسم ، تفصل بنية MVC بين الجوانب المختلفة للتطبيق - منطق الإدخال ومنطق العمل ومنطق واجهة المستخدم. كما أنه يوفر اقترانًا سائبًا بين M و V و C للتطبيق.

6. ما هي بعض فوائد إطار الربيع MVC على أطر MVC الأخرى؟

يتمتع إطار Spring MVC ببعض الفوائد الواضحة على الأطر الأخرى. بعض الفوائد هي:

  • فصل واضح للأدوار - هناك غرض خاص لكل دور ، وبالتالي توفير فصل واضح للأدوار.
  • رمز العمل القابل لإعادة الاستخدام - مع Spring MVC ، لا تحتاج إلى تكرار الرمز الخاص بك. يمكنك استخدام كائناتك الحالية كأوامر بدلاً من عكسها لتوسيع فئة أساسية معينة لإطار العمل.
  • تخصيص الربط والتحقق
  • لغة قابلة للتخصيص ودقة موضوع
  • مخطط معالج قابل للتخصيص وعرض دقة العرض

7. ما هو ديسباتشر سيرفليت؟

إن إطار عمل Spring MVC يحركه الطلب وهو مصمم حول Servlet مركزي يتعامل مع جميع طلبات واستجابات HTTP. ومع ذلك ، فإن The DispatcherServlet يفعل أكثر من ذلك بكثير. يتكامل بسلاسة مع حاوية IoC ويسمح لك باستخدام كل ميزة من ميزات Spring.
عند تلقي طلب HTTP ، يستشير DispatcherServlet HandlerMapping (هذه هي ملفات التكوين) لاستدعاء وحدة التحكم المناسبة. بعد ذلك ، تستدعي وحدة التحكم طرق الخدمة المناسبة لتعيين بيانات النموذج. تقوم أيضًا بإرجاع اسم العرض إلى DispatcherServlet. DispatcherServlet ، بمساعدة ViewResolver ، تلتقط العرض المحدد للطلب. بمجرد الانتهاء من العرض ، يمرر DispatcherServlet بيانات النموذج إلى طريقة العرض - حيث يتم عرضها أخيرًا على المستعرض.

8. ما هي فئة جهاز التحكم الأمامي Spring MVC؟

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

9. ما هو نمط Viewresolver وكيف يعمل في MVC؟

عرض Resolver هو نمط J2EE الذي يسمح للتطبيقات باختيار التكنولوجيا ديناميكيًا لعرض البيانات على المتصفح (عرض). يمكن استخدام أي تقنية مثل HTML أو JSP أو Tapestry أو XSLT أو JSF أو أي تقنية أخرى من هذا القبيل للعرض. يحتفظ نمط View Resolver بتعيين طرق عرض مختلفة. تقوم وحدة التحكم بإرجاع اسم العرض الذي يتم تمريره بعد ذلك إلى View Resolver لتحديد التقنية المناسبة.

10. كيف يوفر Spring MVC دعم التحقق؟

يدعم الربيع بشكل أساسي نوعين من التحقق:

  • استخدام التعليقات التوضيحية JSR-303 وأي تطبيق مرجعي ، على سبيل المثال ، Hibernate Validator ، أو
  • تنفيذ واجهة org.springframework.validation.Validator.

11. يحصل المستخدم على خطأ في التحقق من الصحة في الحقول الأخرى عند تحديد خانة اختيار ، وبعد ذلك ، يقوم بإلغاء تحديده. ماذا ستكون حالة التحديد الحالية في كائن أوامر Spring MVC؟ كيف ستصلح هذه المشكلة؟

هذا من أصعب الأسئلة التي يجب الإجابة عليها إذا لم تكن على دراية بسلوك HTTP Post في Spring MVC.
أثناء HTTP Post ، إذا قمت بإلغاء تحديد خانة الاختيار ، فلن يتضمن HTTP معلمة طلب لمربع الاختيار - مما يعني أن التحديد المحدث لن يتم انتقاؤه. لإصلاح ذلك ، يمكنك استخدام حقل النموذج المخفي الذي يبدأ بـ "_".

اقرأ أيضًا: أفضل 20 سؤالًا وإجابات مقابلة تفاعلية تحتاج إلى معرفتها في عام 2021

12. كيف ستقارن إطار عمل MVC بالبنية ثلاثية المستويات؟

العمارة ثلاثية المستويات هي نمط معماري بينما MVC هو نمط تصميم.

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

13. كيف يجب أن نستخدم JDBC في الربيع لتحسين الأداء؟

يوفر Spring فئة قالب تسمى JDBCTemplate. إن استخدام JDBC مع هذا القالب يعطي أداء أفضل للمشعبات.

14. ماذا تقصد ب "فول" في سياق إطار الربيع؟

تُعرف أي فئة تمت تهيئتها بواسطة حاوية IoC باسم حبة في الربيع. تتم إدارة دورة حياة Spring Bean بواسطة Spring IoC Container.

اقرأ أيضًا: أفضل 41 أسئلة وأجوبة مقابلة Node.Js تحتاج إلى معرفتها في عام 2021

15. ما هو "النطاق" في إشارة إلى فاصوليا الربيع؟

تأتي Spring Beans مع النطاقات الخمسة التالية:

  • النموذج: كلما كان هناك طلب للحبوب ، يتم إنشاء نموذج أولي منفصل في كل مرة.
  • أطلب: إنه مثل النطاق السابق ، ولكن فقط للتطبيقات المستندة إلى الويب. لكل طلب HTTP ، يُنشئ Spring مثيلاً جديدًا لوحدة البرامج.
  • الوليد المفرد: هناك حبة واحدة تم إنشاؤها لكل حاوية ، وهي تعمل كنطاق افتراضي لتلك الحبة. في جميع هذه الحالات ، لا يمكن أن تستخدم الفول متغير مثيل مشترك لأنه يمكن أن يؤدي إلى عدم تناسق البيانات.
  • جلسة: يتم إنشاء وحدة لكل جلسة HTTP
  • جلسة عالمية: تم إنشاء جلسة عامة لتطبيقات Portlet.

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

تغليف…

كان هذا كل شيء عن الأشياء التي يجب معرفتها أسئلة وأجوبة مقابلة الربيع تدور حول إطار الربيع - و Spring MVC ، على وجه الدقة. إذا كنت مطور Java تتطلع إلى البدء في Spring ، فلن يكون هناك وقت أفضل! اقرأ المزيد إذا كنت تبحث عن أسئلة مقابلة Java.

اقض بعضًا من وقتك الثمين للحصول على يديك أسئلة مقابلة Java Spring وستكون على ما يرام. تبحث المؤسسات عن المطورين الذين لديهم قيادة قوية في هذا الإطار - بفضل الميزات التي يقدمها.

اقرأ أيضًا: أفضل 20 أسئلة وأجوبة مقابلة Kubernetes تحتاج إلى معرفتها في عام 2021

اقرأ أيضًا: أسئلة وأجوبة مقابلة جينكينز 2021 للطلبة الجدد وذوي الخبرة

اقرأ أيضًا: أفضل 41 أسئلة وأجوبة مقابلة Node.Js تحتاج إلى معرفتها في عام 2021

اقرأ أيضا: أفضل 10 أطر خلفية لتطوير الويب في عام 2021

تابعونا على Instagram (uniquenewsonline) والفيسبوك (uniquenewswebsite) للحصول على تحديثات إخبارية منتظمة مجانًا

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