أفضل 50 سؤالاً وأجوبة مقابلة في وضع السبات [للمبتدئين وذوي الخبرة]

نشرت: 2020-12-15

جدول المحتويات

مقدمة

Hibernate هي تقنية خفيفة الوزن ومفتوحة المصدر في Java ، في هذه المدونة ، سوف نفهم العملية والآلية الخاصة بـ Hibernate مع أفضل "50 سؤالاً في مقابلة Hibernate مع الإجابات.

ما هو السبات؟

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

فيما يلي بعض الأسئلة التي يجب أن نطرحها حول متطلبات التطبيق قبل أن نتكيف مع Hibernate:

  1. ما هو نموذج البيانات الذي يمكننا استخدامه لتطوير المشروع الجديد أو تصميم التطبيق أو نموذج البيانات؟
  2. ما هو مستوى أداء ذاكرة التخزين المؤقت؟
  3. كيف يمكننا تحديد الكتابة البسيطة أو المعقدة؟
  4. ما فائدة قابلية التوسع ، وفي أي سيناريو يمكننا استخدامها؟
  5. في أي سيناريو تعتبر إصدارات قاعدة البيانات التلقائية مهمة؟
  6. هل نحن بحاجة إلى المثابرة العلائقية لـ JAVA؟
  7. ما فائدة دعم لغة الاستعلام ، وما السيناريو الذي يمكننا استخدامه؟
  8. ما هي عملية المثابرة الشفافة وأثرها على المشروع؟

أداة ORM

يفسر إنشاء البيانات ومعالجة البيانات والوصول إليها. إنه نهج برمجة يقوم بتعيين الكائن إلى البيانات المخزنة في قاعدة البيانات.

ما هو إطار عمل السبات؟

Hibernate هو حل لرسم خرائط أداة ORM يعتمد على كائن جافا. وهو عبارة عن تعيين ارتباط كائني وهو إجراء البرمجة لتعيين كائنات نموذج مجال التطبيق إلى جداول قاعدة البيانات العلائقية. إنه ينفذ مصدرًا لتنفيذ Java Persistance API الذي يوفر خيارًا ممتازًا كأداة ORM مع مزايا الاقتران غير المحكم.

فوائد إطار السبات

  1. خفيف الوزن مع أداء سريع: أداء إطار عمل Hibernate سريع الحركة بمساعدة ذاكرة التخزين المؤقت ، والتي تعمل داخليًا في إطار Hibernate. ذاكرة التخزين المؤقت في إطار عمل Hibernate هي ذاكرة تخزين مؤقت من المستوى الأول وذاكرة تخزين مؤقت من المستوى الثاني.
  2. الاستعلام الذاتي لقاعدة البيانات: HQL (لغة استعلام الإسبات) هي البديل الكائني لـ SQL. يقوم بإنشاء استعلامات قاعدة بيانات مستقلة دون كتابة استعلامات خاصة بقاعدة البيانات.
  3. إنشاء الجدول التلقائي: يوفر إطار عمل Hibernate القدرة على إنشاء جداول قاعدة البيانات تلقائيًا. بدون إنشاء جداول يدويًا في قاعدة البيانات.
  4. يبسط الانضمام المعقد: استرداد البيانات من الجداول المجمعة أمر سهل في إطار عمل Hibernate.
  5. يستوعب إحصائيات الاستعلام وحالة قاعدة البيانات: يحتفظ Hibernate بذاكرة التخزين المؤقت للاستعلام ويعطي إحصائيات نتائج سريعة.

العمارة السبات

تدمج بنية Hibernate العديد من الكائنات مثل كائن ثابت ، ومصنع الجلسة ، ومصنع المعاملات ، ومصنع الاتصال ، والجلسة ، والمعاملة.

تصنف هندسة السبات إلى أربع طبقات:

  • طبقة تطبيق جافا
  • إسبات طبقة إطار العمل
  • طبقة API الخلفية
  • طبقة قاعدة البيانات

لماذا يجب أن نختار عملية السبات؟

فيما يلي التقنيات والعمليات التالية التي يمكننا استخدامها للاختيار عند بدء تكييف العملية:

  • يسمح Hibernate للمطورين بتحديد حقول نوع الإصدار في التطبيق ، والتي يمكن تعديلها في بيانات الوقت الفعلي ؛ توفر هذه الميزة للمستخدم إمكانية حفظ البيانات وتعديلها في نفس الوقت.
  • يقدم Hibernate المساعدة لتعليقات JPA التوضيحية على سبيل المثال:Entity ،Table ،Col ، إلخ.
  • في Hibernate ، يعد تجمع الاتصالات تقنية في اتصالات قاعدة البيانات عندما ننشئ ونخزن في ذاكرة التخزين المؤقت بواسطة الأداة الخارجية ، ويمكننا إعادة استخدام هذه الاتصالات من ذاكرة التخزين المؤقت نفسها في المستقبل إذا احتجنا إلى إعادة الاتصال بنفس قاعدة البيانات في تطبيقنا الذي أنشأناه
  • يمتد السبات إلى أفضل درجة من قابلية التوسع في أي بيئة. يمكن ممارسته لجميع أحجام المشاريع ، من تطبيق صغير الحجم إلى تطبيق يستخدمه الملايين.
  • في Hibernate ، يعد تعيين إصدارات قاعدة البيانات أداة مهمة تدعم منع المستخدمين الآخرين من التراجع عن التغييرات دون قصد. يسمح بتسجيل أنواع الإصدارات داخل التطبيق. عندما يتم تحديث البيانات أو تخزينها ، نوع الإصدار والطابع الزمني ، يمكننا أيضًا التسجيل للتتبع.
  • يطبق Hibernate ثباتًا شفافًا ، ولا يحتاج المطور إلى كتابة التعليمات البرمجية بشكل صريح لتعيين مجموعات جدول قاعدة البيانات إلى كائنات التطبيق أثناء التفاعل مع RDBMS.
  • في Hibernate ، إدارة المعاملات هي طريقة إنجاز مجموعة من العبارات أو الأوامر. في Hibernate ، تتم إدارة المعاملات بواسطة واجهة المعاملة.

خمسة أسباب للنظر في السبات عبر JDBC

  1. يحل مشاكل عدم التطابق المعقدة المتعلقة بالكائنات:

يوفر حلاً سريعًا في لغة برمجة موجهة للكائنات مع قاعدة بيانات علائقية.

مثال: يمكن أن تتسبب الاختلافات في أنواع البيانات ، والاختلافات الهيكلية والاختلافات المتعلقة بالتكامل ، والاستثناءات المتلاعبة والمعاملات ، في حدوث حالات عدم تطابق معقدة في العلاقات بين الكائنات.

2. تعيين كائن تلقائي:

يكمن JDBC و Hibernate في حقيقة أنهما يدعمان التعيين التلقائي للكائن ". شفافية المثابرة "، توفر هذه الطريقة Hibernate (الإسبات) لمسودة جداول قاعدة البيانات لكائنات التطبيق من خلال التفاعل.

  1. لغة استعلام الإسبات (HQL)

يحتفظ Hibernate بلغة الاستعلام الهيكلية (SQL). يدعم JDBC فقط SQL ، وترتبط لغة استعلام الإسبات (HQL) بـ SQL من حيث أنها لغة استعلام موجهة للكائنات. لتوصيل الطريق ، يفسر HQL الاستعلامات نحو استعلامات SQL التي يمكنها بعد ذلك بدء العمليات في قاعدة البيانات.

  1. استقلالية قاعدة البيانات

يوفر Hibernate (الإسبات) تعيين جداول البيانات والتطبيقات المتصلة من خلال ملفات XML ؛ يوفر طرقًا أفضل لنقل البيانات إلى قاعدة بيانات جديدة إذا لزم الأمر. أثناء طريقة الوصول إلى قواعد البيانات ، تكون المعلومات ضرورية ، إذا كانت قابلة لإعادة الاستخدام. يعد التخزين المؤقت مكونًا أساسيًا لأداء قاعدة البيانات ، مما يقلل من الوقت ويدعم التطبيقات في الوقت الفعلي.

  1. تجميع الاتصال في وضع السبات:

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

سؤال وأجوبة مقابلة الإسبات

السؤال: 1 كيف يمكنك تكوين Hibernate لكتابة جمل SQL المنفذة واستخدام معلمات الربط في ملف السجل؟

الجواب: فيما يلي الخطوات التالية:

قم بإنشاء قسمين مختلفين من أقسام السجل ومستويات السجل لتسجيل جمل SQL المنفذة وربط المعلمات:

  • الفئة org.hibernate.SQL .
  • org.hibernate.type.descriptor.sql الفئة بمستوى السجل TRACE.

السؤال: 2 صِف الميزات المفضلة لديك في إطار عمل Hibernate.

الإجابة: أداة ORM ، توفر Hibernate لغة استعلام قوية (HQL)

السؤال: 3 كيف يمكنك التفريق بين وحدات فول الكيان والإسبات.

الجواب: حبوب الكيان هي حاويات ، فئات ، واصفات. Hibernate هي أداة تستمر على الفور في تحويل شجرة الكائن إلى فئة.

السؤال: 4 اشرح عملية كائن Session وكيف يمكننا استخدامه في ذاكرة تخزين مؤقت من المستوى الأول وذاكرة تخزين مؤقت من المستوى الثاني؟

الإجابة: المستوى الأول من التخزين المؤقت: يبدأ مع أساس كل جلسة ، مع كائن " جلسة " .

المستوى الثاني من التخزين المؤقت: يمكن أن تكون قابلة للمشاركة بعد جلسات متعددة .

السؤال: 5 كيف تعمل الميراث في السبات؟ ما هي الاستراتيجيات المختلفة المتاحة لتنفيذه؟

الجواب: ثلاثة أنواع من الإرث:

  1. جدول لكل تسلسل هرمي
  2. جدول لكل فئة ملموسة
  3. جدول لكل فئة فرعية

السؤال: 6 كيف يعمل القفل في وضع السبات؟ ما هي آليات القفل المختلفة المتاحة؟

الجواب: آليات القفل متفائلة ومتشائمة السؤال: 7 كيف تعمل إدارة المعاملات في Hibernate؟

الإجابة: يعمل بمساعدة (JTA، JDBC).

السؤال: 8 ما هو التحميل الكسول في السبات؟

الجواب: هذه الآلية على الكيانات وجمعياتها بتنفيذ توكيل الطبقات.

السؤال: 9 ما هي استراتيجيات الجلب المختلفة المتوفرة في Hibernate؟

الإجابة: انضم إلى الجلب وحدد الجلب

السؤال: 10 ما هي استراتيجيات الجلب المختلفة المتوفرة في Hibernate؟

الإجابة: إن Join-Fetching and Select Fetchings (عمليات الجلب) المتوفرة في Hibernate (الإسبات).

السؤال: 11 ما هو الفرق بين الحصول على طريقتي () و load () في Hibernate؟

الإجابة : الحصول على () وتحميل () اللذين يستخدمان لجلب البيانات للمعرف المعين. طريقة Get () إرجاع فارغة ، أسلوب load () يلقي خطأ في الكائن غير موجود نوع الاستثناء.

السؤال: 12 لماذا لا تجعل فئة الكيان نهائية؟

الإجابة: يتم استخدامه لربط الكيانات .

السؤال: 13 اشرح مزايا وعيوب الأشياء المنفصلة.

الجواب: كان مرتبطًا بجلسة السبات في الماضي ؛ يحتوي على وصف في قاعدة البيانات

السؤال: 14 ما هي لغة الاستعلام السبات (HQL)؟

الإجابة: إنها تستند إلى مفاهيم OOPS.

السؤال: 15 حدد دور واجهة SessionFactory التي تلعب في Hibernate.

الإجابة: إنها عملية كائن آمن للخيط ويمكن استخدامها في عملية مؤشر ترابط التطبيق

السؤال: 16 ما فائدة السبات على JDBC؟

الإجابة: إنه يوفر أسرع أداء وقابلية للتوسع.

السؤال: 17 صِف بعض قواعد البيانات التي تحتفظ بها Hibernate.

الجواب: قاعدة البيانات العلائقية باستخدام JDBC.

السؤال: 18 كيف يمكنك التفريق بين الأسلوبين session.save () و session.persist ()؟

الإجابة: Session.save () يُستخدم لحفظ الكائن في قاعدة البيانات و session.persist () للكائنات المؤقتة الثابتة.

السؤال: 19 اشرح طريقة التحديث والدمج؟

الجواب: يمكن استخدامه لتحويل الكائن ، وهو في حالة منفصلة.

السؤال: 20 هل من الممكن إجراء تعيين المجموعة باستخدام واحد لواحد ومتعدد لواحد؟

الإجابة: يمكن استخدامها في جدول تم تعيينه للعديد من الصفوف في جدول آخر.

السؤال: 21 كيف يتم إجراء معاملة في Hibernate؟

الإجابة: بمساعدة إعلان فئة Transctional @ ، يمكننا إجراء معاملة.

السؤال: 22 أين يتم تمثيل تعيينات الكائن / العلائقية في Hibernate؟

الإجابة: Hibernate ORM هو كائن / تعيينات علائقية.

السؤال: 23 ما هو رأيك في الشيء الخفيف؟

الجواب: الجلسة ، الاستعلام ، المعايير ، المعاملة هي مفهوم الكائن الخفيف.

السؤال: 24 ما هوTransient in Hibernate؟ ما هي ميزة هذا؟

الجواب: @ Transient It يطبق في javax ، حزمة الثبات الخاصة به.

السؤال: 25 كيف تجمع الدعامات الربيع السبات؟

الإجابة: بمساعدة ContextLoaderPlugIn ، يمكننا الجمع بين ملفات.

السؤال: 26 وضح حول تسجيل الدخول في Hibernate Log4j.

الجواب: يتكون من ملف log4j.xml وملف log4j.properties.

السؤال: 27 كيف يمكننا تقييد التحديثات المتزامنة في Hibernate؟

الإجابة: بمساعدة عملية القفل المتشائم ، يمكننا تقييد التحديثات المتزامنة.

السؤال: 28 ما هي أفضل الطرق لتحديد فصول الإسبات المستمرة؟

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

السؤال: 29 ما هو مفهوم تعديل الأشياء الثابتة؟

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

السؤال: 30 ما هي العلاقة ثنائية الاتجاه واحد إلى العديد في السبات؟

الإجابة: إنها مرجع معالجة سمة الارتباط للعديد من المشاهدات باعتبارها فائدة السمة mappedBy السمة ، فإن السبات لديه كل سعة الاطلاع التي يحتاجها. من خلال هذه العمليات ، نحتاج إلى تحديد ارتباط ثنائي الاتجاه متعدد الاتجاه.

قراءة: مهارات لتصبح مطور مكدس كامل

السؤال: 31 ما هو استبدال القيمة في عمل حزمة موارد الرسائل؟

الإجابة: يُنشئ ResourceBundleMessageInterpolator من Hibernate Validator مثيلين من ResourceBundleLocator أحدهما لرسائل التحقق القياسية من صحة UserDefined - defaultResourceBundleLocator .

السؤال 32: اشرح عملية ترتيب تنفيذ عبارات SQL.

الإجابة: إنها ذاكرة التخزين المؤقت من المستوى الثاني بترتيب معين بسبب قيود المفتاح الخارجي لا يمكن كسرها: الإدخالات والتحديثات وحذف عناصر المصفوفة وإدراج عناصر المصفوفة والحذف في الاتجاه الذي تم تقديمها فيه

السؤال: 33 كيف يمكنك ضبط المستوى الثاني من ذاكرة التخزين المؤقت في Hibernate باستخدام EHCache؟

الإجابة: Terracotta Ehcache عبارة عن ذاكرة تخزين مؤقت حديثة تعمل كذاكرة تخزين مؤقت من المستوى الثاني في Hibernate . يمكن ممارسته كذاكرة تخزين مؤقت مستقلة من المستوى الثاني .

السؤال: 34 ما هو الفرق الرئيسي بين Entity Beans و Hibernate؟

الإجابة: يستمر تنفيذ فاصولياء الكيانات بواسطة الواصفات والحاويات والفئات. السبات هو مجرد آلية تتحمل على الفور شجرة الكائن لتسلسل هرمي للفئة في قاعدة بيانات.

السؤال: 35 اشرح خطوات الانضمام التي يتم التعامل معها باستخدام Hibernate؟

الإجابة: بمساعدة SQL Join ، يمكننا التعامل معها.

السؤال: 36 اشرح عمليه السبات الوكيل؟

الإجابة: Hibernate proxy يشير هذا إلى السبات عندما ندعو الجلسة. حمل().

السؤال: 37 ما هي الميزة الرئيسية لاستخدام Hibernate من استخدام SQL؟

الإجابة: مع ممارسة ORM وباستخدام Hibernate ، فإن استخدام SQL هو أن Hibernate يتجنب كتابة استعلامات على نطاق واسع.

السؤال: 38 اشرح أنماط التصميم التي يمكننا استخدامها في السبات؟

الإجابة : نمط الوكيل ونموذج المجال ونموذج الكائن هي أنماط التصميم.

اقرأ أيضًا: مهنة في تطوير مكدس كامل

السؤال 39: اشرح هندسة الإسبات.

الإجابة: يحتوي Hibernate على بنية متعددة الطبقات تسمح للمستخدم بإدارتها دون الحاجة إلى فهم واجهات برمجة التطبيقات الأساسية

السؤال: 40 قائمة أنواع البيانات المدعومة في Hibernate؟

الإجابة: IntegerType ، FloatType ، DoubleType ، CharacterType ، ShortType.

السؤال: 41 ما هو (JDO ، CMP)؟

الإجابة: تقنيات ثبات جافا الخاصة بها.

السؤال: 42 ما هو الفرق الرئيسي بين الربيع والسبات؟

الجواب: الربيع والسبات هما إطاران منفصلان. يتعاقد الربيع مع تضخيم تدفق التطبيق. يتعلق الإسبات بالتفاعل بين التطبيق وقاعدة البيانات.

السؤال: 43 متى يمكننا إيجاد حلول ORM في السبات؟

الإجابة: Hibernate هو مفهوم حل رسم الخرائط / الكائنات (ORM) لجافا ؛ يتعلق مصطلح رسم الخرائط / الكائنات بإجراءات تعيين البيانات بين وصف نموذج الكائن إلى وصف نموذج البيانات العلائقية.

السؤال: 44 اذكر العملية خطوة بخطوة لإكمال معاملة في Hibernate.

الإجابة: بمساعدة حامض-> خصائص (الذرية والاتساق والعزلة والمتانة).

السؤال: 45 أين التعيينات في السبات؟

الإجابة: تعيينات Hibernate هي ميزات Hibernate ؛ ينظمون الاتصال بين جدولي قاعدة بيانات أثناء السمات في نموذجك. يتيح لك ذلك توجيه الارتباطات بسرعة في استعلامات النموذج والمعايير.

السؤال: 46 هل يمكنك التطرق إلى الأنواع المختلفة من العلاقات الممكنة في رسم خرائط السبات؟

الإجابة: واحد لواحد ، أطراف بأطراف ، واحد بأطراف ، متعدد بأطراف.

السؤال: 47 أين يمكننا تحديد تعيينات الكائنات في Hibernate؟

الإجابة: تحويل كائنات Java إلى استعلامات SQL لتخزين البيانات.

السؤال: 48 هل يمكنك سرد أنواع المجموعات العديدة في Hibernate؟

الإجابة: HashMap و HashSet و TreeSet و Arraylist هي أنواع المجموعات في Hibernate.

السؤال: 49 ما هي عملية جلب البيانات من قاعدة البيانات في Hibernate؟

الإجابة: بمساعدة معايير Hibernate باستخدام وظيفة startTransaction () API مع الجلسة ، يمكننا جلب البيانات.

السؤال: 50 اشرح ملفات تعيين Hibernate من خلال استخدام تعليقات JPA التوضيحيةNamedQuery وNamedNativeQuery.

الإجابة: NamedQuery وNamedNativeQuery هما نوعا استعلام HQL ، الذي يعالج تعقيدات تحويل HQL إلى العديد من لهجات SQL.

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

خاتمة

نأمل أن تساعدك هذه المقالة في فهم أفضل 50 سؤالاً عن "مقابلة" في فترة السبات للمبتدئين والمحترفين.

إذا كنت مهتمًا بمعرفة المزيد حول تطوير البرامج كاملة المكدس ، فراجع برنامج upGrad & IIIT-B's Executive PG في تطوير البرامج الكامل المكدس المصمم للمهنيين العاملين ويقدم أكثر من 500 ساعة من التدريب الصارم ، 9+ مشاريع ، والمهام ، وحالة خريجي IIIT-B ، ومشاريع التخرج العملية العملية والمساعدة في العمل مع الشركات الكبرى.

انطلق في وظيفة أحلامك

تقدم الآن للحصول على درجة الماجستير في هندسة البرمجيات