22 أسئلة وأجوبة مقابلة التمهيد الربيعي المتداولة

نشرت: 2022-11-10

هل أنت مطور Java Spring Boot تتطلع إلى النجاح في مقابلة قادمة ولكنك غير متأكد من الأسئلة التي يمكن توقعها؟ نحن هنا للمساعدة!

ستساعدك هذه المقالة في الاستعداد بشكل كافٍ من خلال تحديد العديد من أسئلة وإجابات مقابلة Spring Boot المتداولة والتي يمكن للمحاورين استخدامها لاختبارك.

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

قبل القفز مباشرة إلى أسئلة المقابلة والإجابات المقابلة لها ، دعنا نغطي نظرة عامة أساسية عن Spring Boot ومدى فائدته لمطوري Java.

ما هو Java Spring Boot؟

تم إنشاء إطار عمل Java هذا بواسطة الفريق المحوري في عام 2014. Spring Boot ، وهو إطار عمل مفتوح المصدر ، يعمل بكفاءة على تطوير التطبيقات المستقلة ، بدرجة الإنتاج ، ويمكن أيضًا تشغيلها على Java Virtual Machine (JVM).

يفضله مطورو Java لتطوير تطبيقات الويب والخدمات المصغرة لعملية الإعداد السريعة والسهلة ووقت التكوين الآمن.

من الممكن إعداد وتكوين التطبيقات المستندة إلى Spring بواسطة Spring Boot بسهولة بفضل إمكانياته الأساسية الثلاثة التي تشمل:

  • التكوين التلقائي - وهو تكوين تلقائي لتطبيق Spring.
  • يوفر Spring Boot نهجًا عنيدًا لإعدادات التكوين الافتراضية لاستخدامها والحزم المراد تثبيتها للاعتماديات المطلوبة. يساعد هذا النهج عنيد في الإعداد السريع للمشاريع.
  • يتيح لك Sprsetupoot تشغيل تطبيقك بشكل مستقل دون الحاجة إلى خادم ويب.

كيف يكون Spring Boot مفيدًا لمطوري Java؟

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

يتكامل Spring Boot بسهولة مع نظام Spring البيئي ، والذي يتضمن Spring JDBC و Spring Data و Spring Security و Spring ORM.

يمكن لمطوري Java أيضًا توصيل Spring Boot بقواعد بيانات مختلفة مثل Oracle و MySQL و PostgreSQL و MongoDB وغيرها.

بالطبع ، تعد التكوينات المرنة مع تكوينات XML و Java Beans ومعاملات قاعدة البيانات من بين الميزات المفيدة الأخرى.

لذلك ، بعد أن أصبح لديك الآن نظرة عامة أساسية على Spring Boot ، دعنا نفكر في بعض الأسئلة والإجابات المتكررة حول مقابلة Spring Boot والتي ستساعدك على الاستعداد لمقابلتك.

أسئلة وأجوبة مقابلة حذاء الربيع

أسئلة مقابلة Spring Boot

ما هي بعض ميزات Spring Boot؟

تتضمن بعض هذه الميزات الشائعة ما يلي:

  • يوفر Spring Boot CLI برنامج Groovy لكتابة تطبيق Spring Boot ؛ على المدى الطويل ، يتم تجنب الكود المعياري.
  • يوفر Spring Boot ميزة التسجيل والأمان التي تؤمن تطبيقك بسهولة من تهديدات الأمان المحتملة.
  • يوفر التكوين التلقائي للمكونات ذات الصلة لمشروعك ، وبالتالي تجنب مخاطر ملفات WAR غير الضرورية.
  • يضع المبدئ المبدئي بنية مشروع داخلية افتراضية لك. بهذه الطريقة ، لن تضطر إلى إعداد هيكل المشروع يدويًا.
  • تتيح ميزة مشغل Spring Boot الوصول إلى الرؤى والمقاييس أثناء تشغيل التطبيق.
  • بالطبع ، تساعد إحدى ميزات Spring Boot الرئيسية ، Starter Dependency ، في تجميع تبعيات ميزة معينة شائعة الاستخدام.

ما هو Spring Boot Starters؟

مبتدئين Spring Boot عبارة عن واصفات تبعية تتضمن مجموعة من موفري إدارة التبعية التي تمكن تبعيات التطبيق. أنها توفر الإطار مع قرار الاعتماد التلقائي. المبتدئين يعززون التطور السهل والسريع.

ما هو المحرك في Spring Boot ، وما هي مميزاته؟

المشغل هو إحدى ميزات Spring Boot التي تتيح لك مراقبة ما يحدث داخل التطبيق أثناء تشغيله.

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

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

ما هي ورقة التوتة وكيفية استخدامها؟

Thymeleaf هو قالب من جانب خادم Java يقوم بإنشاء تخطيط نموذج طبيعي لكل من تطبيقات الويب Spring و HTML5 Java.

سيقوم Spring Boot بإجراء تكوين تلقائي للورقة الزعترية باستخدام تبعية spring-boot-starter-thymeleaf في ملف pom.xml لخدمة محتوى الويب الديناميكي.

للسماح لـ Spring Boot بقراءة وعرض قوالب ورقة الزعتر أو ملفات HTML ، ضع القوالب في src / main / resources / template .

ثم يوزع Thymeleaf ملف index.html ويستخدم القيم الفعلية التي تمررها من فئة وحدة التحكم بدلاً من القيم الديناميكية المتوفرة في ملف الفهرس.

بعد ذلك ، تظهر الرسالة في متصفح الويب بمجرد تشغيل تطبيق Spring Boot.

 org.springframework.boot spring-boot-starter-thymeleaf

وصف عملية إنشاء مشروع Spring Boot باستخدام Spring Initializer.

تتيح لك Spring Initializr ، وهي أداة ويب Spring ، إنشاء مشروع Spring Boot باستخدام بضع خطوات من خلال توفير تفاصيل المشروع.

  1. توجه إلى Spring intializr واملأ حقول الإدخال.
  2. سيؤدي النقر فوق الزر إنشاء إلى بدء تنزيل المشروع.
  3. قم باستخراج المشروع الذي تم تنزيله من ملف zip وافتحه من IDE الخاص بك. من IDE ، انتقل إلى File-> New-> Project من المصادر الحالية -> Spring-boot-app ، ثم حدد ملف pom.xml. انقر فوق موجه استيراد التغييرات حتى تتم مزامنة المشروع. بعد ذلك ، تذكر الانتقال إلى ملف application.properties وتحرير رقم server.port إلى server.port=7000 .
  4. الآن ، قم بتشغيل التطبيق من src-> main-> java-> com.gfg.Spring.boot.app

ما هو JPA في Spring Boot؟

هذه هي المواصفات في Java التي تستخدم تعيين علاقة الكائن (ORM) لإدارة البيانات العلائقية وتسمح بالوصول إلى البيانات بين كائن Java أو فئة Java وقاعدة البيانات العلائقية للتطبيق.

يستخدم JPA لغة Java Persistent Query (JPQL) ، وهي لغة استعلام موجهة للكائنات وهي أيضًا مستقلة عن النظام الأساسي.

يسمح JPA بمعالجة الاستعلام ومعاملات الكائن مقابل قاعدة البيانات باستخدام Entity Manager API التي يوفرها.

ما هو التكوين التلقائي في Spring Boot؟

يسعى التكوين التلقائي إلى أتمتة تكوين تطبيق Spring Boot باستخدام تبعيات الجرة التي تضيفها إلى التطبيقات.

اعتمادًا على التبعيات المتاحة في Classpath للتطبيق ، سيعلن التكوين التلقائي عن الكائنات المضمنة في الوحدة النمطية الربيعية ، بما في ذلك JPA ، وأمن الربيع ، من بين أشياء أخرى.

ما هي التعليقات التوضيحية الربيعية؟

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

لا تؤثر التعليقات التوضيحية بشكل مباشر على تشغيل البرنامج أو الإجراء اللاحق للكود المترجم.
يبدأ تركيبها برمز " @ ".

يوفر Spring Boot ستة أنواع رئيسية من التعليقات التوضيحية تشمل:

  • شروح الربيع الأساسية
  • شروح بيانات الربيع
  • شروح فصل الربيع
  • شروح الويب الربيعية
  • شروح جدولة الربيع
  • التعليقات التوضيحية التمهيد الربيع

ماذا يعني Spring Data REST؟

يعرض Spring Data REST الموارد الموجودة في RESTful الموجودة حول Spring Data Resources باستخدام الحد الأدنى من التعليمات البرمجية.

يستخدم المثال التالي طريقة POST لطلب المحتوى باستخدام http: // localhost / example كعنوان URL ونوع المحتوى: application / json كعنوان.

طلب المحتوى:

 { "name": "Jimmy", "Gender": "Male", "Age": 23 }

محتوى الاستجابة:

 { "name": "Jimmy", "Gender": "Male", "Age": 23 "_links": { "self": { "href": "http://localhost:8080/example/1" }, "person": { "href": "http://localhost:8080/example/1" } } }

ما هي الحاجة إلى Spring Boot DevTools؟

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

كلما قمت بتغيير التعليمات البرمجية في تطبيق Spring Boot ، تتم إعادة تشغيل ميزة Spring Boot DevTools تلقائيًا. لذلك ، فإنه يوفر عليك عناء إعادة تشغيل التطبيق يدويًا في كل مرة تقوم فيها بتغيير التعليمات البرمجية الخاصة بك.

ما هي بيانات الربيع؟

تسعى بيانات Spring إلى منح المطورين وصولاً سهلاً إلى تقنيات الوصول إلى البيانات مثل البيانات العلائقية وغير العلائقية وخدمات البيانات المستندة إلى السحابة حيث تستمر في الاحتفاظ بالسمات الخاصة لمتجر البيانات الأساسية.

كيف تخبر التهيئة التلقائية بالتراجع عند وجود حبة؟

هنا سوف تستخدم التعليق التوضيحيConditionalOnMissingBean ، والذي يتضمن الاسم والسمة القيمة على النحو التالي.

  • تقوم سمة value بتخزين نوع الفول المراد فحصه
  • اسم السمة التي تسمي الفول المراد فحصه

كيف تجلب البيانات من قاعدة البيانات في Spring Boot؟

يمكننا الوصول إلى البيانات من قاعدة بيانات MySQL إلى تطبيق Spring Boot باستخدام الخطوات التالية.

الخطوة 1: استخدم الأمر create DATABASE person لإنشاء قاعدة البيانات في MySQL.

الخطوة 2: قم بإنشاء جدول داخل قاعدة البيانات:

 CREATE TABLE person(id INT PRIMARY KEY NOT NULL AUTO_INCREMENT, name VARCHAR(255));

الخطوة 3: الآن قم بإنشاء تطبيق Spring Boot ، ثم أضف إليه JDBC و MySQL وتبعيات الويب المطلوبة.

الخطوة 4: قم بتكوين قاعدة البيانات من ملف application.properties كما هو موضح أدناه.

 spring.datasource.url=jdbc:mysql://localhost:3306/personDetails spring.datasource.username=example123 spring.datasource.password=example123 spring.jpa.hibernate.ddl-auto=create-drop

الخطوة 5: بعد ذلك ، دعنا نتعامل مع الطلبات في فئة وحدة التحكم:

 package com.person; import org.springframework.web.bind.annotation.RequestMapping; import org.springframework.beans.factory.annotation.Autowired; import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.web.bind.annotation.RestController; @RestController public class JdbcController { @Autowired JdbcTemplate jdbc; @RequestMapping("/save") public String index(){ jdbc.execute("insert into person (name)values(Trial)"); return "Name entered Successfully"; } }

أخيرًا ، قم بتشغيل التطبيق الخاص بك وأنت تتحقق من إدخال قاعدة البيانات لمعرفة البيانات التي تم الوصول إليها.

لماذا نحتاج ملفات تعريف الربيع؟

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

توفر ملفات Spring Profiles أيضًا للمطور عناء إدارة التكوينات الخارجية الخاصة بالبيئة إذا لم تكن ملفات Spring Profiles متاحة.

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

هل يمكننا تغيير منفذ خادم Tomcat المضمن في إقلاع الربيع؟

نعم نستطيع.

يتم ذلك عن طريق معالجة ملف application.properties لتضمين خاصية server.port وتخصيص منفذ من اختيارك له. يقوم Spring Boot تلقائيًا بتحميل ملف خصائص التطبيق وتطبيق التكوينات المطلوبة على التطبيق.

على سبيل المثال ، يمكنك تغيير رقم server.port من القيمة الافتراضية 8080 إلى server.port= 8081 .

كيف تقوم بتكوين Log4j للتسجيل؟

من خلال هذه الخطوات البسيطة ، يمكننا تكوين Log4j للتسجيل:

  1. أولاً ، قم بإنشاء مشروع Java الخاص بك ، ثم انقر بزر الماوس الأيمن فوق المشروع. انتقل إلى MyEclipse-> File-> New-> Java Project لتسمية المشروع وانقر فوق "إنهاء".
  2. بعد ذلك ، انقر بزر الماوس الأيمن فوق اسم مشروع Java الخاص بك وحدد Build Path -> Configure Build Path. ستضيف هذه الخطوة ملف log4j.
  3. انتقل إلى المكتبة وانقر فوق الزر Add External JARS ، وحدد ملف log4j من القائمة المنسدلة التي تظهر. ثم انقر فوق "موافق".
  4. أنشئ ملف جافا جديدًا ستسميه ملف log4j.properties ، ثم انقر فوق إنهاء وأضف هذا الملف إلى Classpath.
  5. انقر فوق خيارات متقدمة من Classpath ، ثم حدد خيار إضافة مجلدات ، وتذكر النقر فوق موافق.
  6. يمكنك الآن البحث عن ملف log4j.properties ، وانقر فوق OK ، وقم بتشغيل المشروع.
  7. تحقق من وحدة الإخراج أدناه.
 [main] DEBUG Example – Hello this is a debug message [main] INFO Example – Hello this is an info message

ما هي حاوية IoC؟

حاوية IoC (انعكاس التحكم) عبارة عن حاوية زنبركية أساسية تنفذ تلقائيًا حقن التبعية. يقوم بإنشاء مثيل لتطبيق الفئة وهو مسؤول عن تكوين الكائنات وتجميع التبعيات الضرورية.

كما أنه يدير دورة حياة الكائن من إنشاء مثيل له إلى تدميره.

تقوم IoC بتنفيذ هذه المهام باستخدام تكوين البيانات الوصفية في تعليمات Java البرمجية و XML و Java التوضيحية.

يشار إلى الحاوية باسم انعكاس التحكم لأنها تتحكم في كائنات Java ودورات حياة هذه الكائنات. هذه على خلاف ذلك مهمة المطور.

اشرح كيفية إنشاء تطبيق Spring Boot باستخدام Maven

هذه العملية تنطوي على سلسلة من الخطوات.

الخطوة 1: حدد نوع المشروع.

الخطوة 2: قم بتسمية مشروعك لتكوينه ، ثم انقر فوق زر إنهاء لإنشاء المشروع.

الخطوة 3: الآن ، سنقوم بتكوين ملف pom.xml من مشروع Maven لإنشاء مشروع Spring Boot للخروج منه.

ملف pom.xml:

 <project xmlns="https://maven.apache.org/POM/4.0.0" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="https://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd"> <modelVersion>4.0.0</modelVersion> <groupId>com.javatpoint</groupId> <artifactId>spring-boot-example</artifactId> <version>0.0.1-SNAPS<name>JavaTpoint Spring Boot Example</name> </project>

يتضمن التكوين إضافة أحد الوالدين إلى مشروع Maven. سيؤدي هذا إلى إعلان مشروع Maven كمشروع فرعي للمشروع الأصلي.

 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>1.4.2.RELEASE</version> </parent>

الخطوة 4: بعد ذلك ، أضف تبعية الويب ، spring-boot-starter-web ، إلى ملف pom.xml.

 <dependencies> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> </dependency> </dependencies>

الخطوة 5 : قم بإضافة إصدار Java الخاص بالمشروع.

 <properties> <java.version>1.8</java.version> </properties>

الخطوة 6: لاحظ أنه في كل مرة تضيف فيها تبعيات جديدة ، تحتاج إلى تحديث مشروع Maven.

الخطوة 7: اجعل مشروع Maven قابلاً للتشغيل عن طريق إنشاء فئة Java داخل حزمة src / main / java .

الخطوة 8: بعد ذلك ، اتصل بطريقة التشغيل الثابت لفئة Spring Application.

الخطوة 9: أخيرًا ، قم بتشغيل الفصل كتطبيق Java.

ما هي مزايا Spring Boot على Spring؟

  • قدرة التمهيد في Spring Boot على تجميع لغة المصدر باستخدام Boot initializer ، وهي تقنية تسمى bootstrapping ، تتيح توفير المساحة على أجهزة المستخدمين وتقليل وقت تحميل التطبيق أيضًا.
  • بخلاف Spring ، يسمح Spring Boot بإدارة التبعيات بعد إضافة تبعيات الإقلاع الربيعي دون الاعتماد على POM الأصل (نموذج الكائن الأصلي) أو ملف XML.
  • كما يسمح Spring Boot للمطورين إما باستخدام التعليقات التوضيحية أو تكوينات XML دون الحاجة إلى استخدام تكوينات XML.
  • يفضل المطورون Spring Boot لرمزها المعياري المنخفض المطلوب لإعداد تطبيق. وذلك لأن Spring Boot يأتي مع قاعدة بيانات في الذاكرة وخادم Tomcat مضمن ، مما يقلل من الشفرة المعيارية. من ناحية أخرى ، يحتوي الربيع على كود معياري أكثر.
  • لا يتطلب Spring Boot بالضرورة ملفات WAR (موارد تطبيقات الويب) ويمكنه الاعتماد فقط على JAR (مصدر Java) ، الذي يحتوي على بنية صغيرة وأبسط وبالتالي فهو أكثر فائدة للمستخدمين والمطورين.
  • يقوم Spring Boot أيضًا بتضمين خوادم تلقائيًا مثل Tomcat و Jetty ؛ لذلك ، لا يحتاج المطور إلى إعداد الخادم يدويًا كما يفترض أن تفعل في الربيع.

كيف نفعل ترقيم الصفحات في Spring Boot؟

تقسم عملية ترقيم الصفحات البيانات إلى أقسام لحفظ الموارد. يتضمن حقلين ، حجم الصفحة ورقم الصفحة.

تتضمن العملية بضع خطوات ، بما في ذلك:

الخطوة 1: الإعداد الأولي
كيان Consisetupn سنقوم بتسمية الشخص بصفته فئة المجال.

 @Entity public class Person { @Id private long id; private String name; }

الخطوة 2: إنشاء المستودع
بعد ذلك ، استخدم PersonRepository PagingAndSortingRepository extends من الحصول على findAll(Pageable pageable إلى صفحات) و findAll(Sort sort) والفرز ، على التوالي.

 public interface PersonRepository extends PagingAndSortingRepository<Person, Integer> { List<Product> findAllByPrice(double price, Pageable pageable); }

الخطوة 3: خطوة ترقيم الصفحات
تتضمن الخطوة الأولى هنا إنشاء كائن PageRequest ؛ بتمرير رقم الصفحة وحجم الصفحة كما هو مطلوب لتنفيذ واجهة Pageable .

 Pageable firstPageWithTwoElements = PageRequest.of(0,2); Pageable secondPageWithThreeElements = PageRequest.of(1,3);

ثم قم بتمرير كائن PageRequest هذا إلى طريقة المستودع كمعامل.

 Page<Person> allProducts = personRepository.findAllByPrice(findPageWithTwoElements); List<Items> allTwoDollarItems = itemsRepository.findAllByPrice(2, secondPageThreeElements)

بشكل افتراضي ، سيعيد أسلوب findAll(Pageable pageable) كائن Page<T> .

اشرح كيفية تسجيل تكوين تلقائي مخصص

ضمن ملفEnableAutoConfiguration key META-INF / spring.factories ، اذكر الاسم المؤهل بالكامل. تسجل هذه الخطوة فئة التكوين التلقائي.

 org.springframework.boot.autoconfigure.EnableAutoConfiguration=com.baeldung.autoconfigure.CustomAutoConfiguration

سيتطلب منك بناء المشروع باستخدام Maven وضع الملف في دليل resources / META-INF .

ما هو التمهيد في Spring Boot؟

Bootstrapping هي عملية تنفيذ المنطق في تطبيق Spring Boot عند بدء التشغيل.
يقوم Boot initializr بتجميع اللغة المصدر في Spring Boot. توفر هذه العملية مساحة الجهاز وتقلل أيضًا من وقت تحميل التطبيق.

الكلمات الأخيرة

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

قد ترغب أيضًا في معرفة بعض النصائح ذات الصلة من الأسئلة التي طُرحت أثناء مقابلة Java.

حظا سعيدا!