أهم أسئلة مقابلة MongoDB

Ahm Asylt Mqablt Mongodb



MongoDB هو نظام إدارة قاعدة بيانات NoSQL مفتوح المصدر ؛ فهو لا يوفر سهولة في تخزين البيانات غير المهيكلة فحسب ، بل يديرها أيضًا. عندما يطرح سؤال حول كيفية إدارة الملايين من صفوف البيانات غير المهيكلة ، يوصى باستخدام MongoDB.

تم إصدار النسخة الأولى من MongoDB في فبراير 2007 بواسطة 10 ج شركة برمجيات ، في وقت لاحق من عام 2013 ، غيرت شركة 10gen اسم الشركة إلى MongoDB Inc.

MongoDB هي قاعدة بيانات NoSQL تُستخدم لتخزين البيانات في نموذج مستندات JSON بسبب هذه الميزة ، يمكن تخزين كمية هائلة من البيانات غير المهيكلة وإدارتها بسهولة في MongoDB. تُعرف مجموعة هذه المستندات التي تحتوي على البيانات بالمجموعات. وهذه المجموعات تشبه الجداول المستخدمة في قواعد البيانات العلائقية لتخزين البيانات.







هناك العديد من الأسباب التي تجعل MongoDB شائعًا جدًا مقارنة بقواعد البيانات العلائقية و NoSQL الأخرى ، وبعضها:



  • يمكن للمطورين تحديد الهيكل وفقًا لأزواج القيمة الرئيسية
  • مثل قواعد البيانات العلائقية ، الصفوف والأعمدة ليست ضرورية للبيانات
  • يسمح هيكل MongoDB الهرمي بتخزين البيانات في شكل مصفوفات ويمكنه أيضًا تخزين البيانات المعقدة
  • يجعل مطوريها يديرون قواعد البيانات بسهولة لأنه يدعم لغات برمجة متعددة
  • كما أنها تدعم ميزات الشبكة والتكرار

بسبب شعبيتها ، هناك الكثير من فرص العمل للمطورين الذين يعملون مع MongoDB. تتعلق هذه المقالة بالأسئلة الأكثر أهمية والتي يتم طرحها بشكل شائع من قبل العديد من المؤسسات ذات التصنيف الأعلى.



أسئلة مقابلة MongoDB

تنقسم الأسئلة الأكثر شيوعًا إلى ثلاثة مستويات: المستوى الأساسي والمستوى المتوسط ​​والمستوى الخبير.





مستوي أساسي

ترتبط هذه الأسئلة بالمفاهيم والمصطلحات الأساسية لـ MongoDB ، وفي مقابلة ، من المتوقع أن يجيب كل مرشح على هذه الأسئلة.

السؤال الأول: ماذا تعرف عن قواعد بيانات NoSQL وأنواعها؟
قواعد بيانات NoSQL هي قواعد البيانات التي لا تخزن البيانات في جداول كما تفعل قواعد بيانات SQL بدلاً من تخزين البيانات في نماذج أخرى مثل المستندات ونماذج القيمة الرئيسية.



هناك أربعة أنواع مهمة من قواعد بيانات NoSQL:

  • قواعد بيانات الوثيقة: تقوم قواعد البيانات هذه بتخزين البيانات في شكل مستندات JSON ، وتتحد هذه المستندات لتكوين مجموعات ، وتتحد هذه المجموعات لتشكل قاعدة بيانات.
  • قواعد بيانات القيمة الأساسية: تقوم قواعد البيانات هذه بتخزين البيانات في شكل قيم مفتاح ، على سبيل المثال ، 'Name = John' ، في هذا المثال ، يكون 'Name' مفتاحًا ، و 'John' قيمة.
  • مخزن واسع الأعمدة: تقوم قواعد البيانات هذه بتخزين البيانات في شكل جداول ديناميكية ، على عكس قواعد البيانات العلائقية ، فإن هذه الجداول ليست منظمة.
  • قواعد بيانات الرسم البياني: تحتوي قواعد البيانات هذه على حواف وعقد ؛ تُستخدم العقد لتخزين المعلومات بينما تُستخدم الحواف لإظهار العلاقات بين العقد.

السؤال 2: أي نوع من قاعدة بيانات NoSQL هو MongoDB؟
تنتمي قاعدة بيانات MongoDB إلى قواعد بيانات المستندات ، مما يعني أنها تخزن البيانات وفقًا لوثائق JSON. لا يتبع أي مخطط ويسمح بإدراج أي نوع من البيانات فيه.

السؤال 3: أيهما أفضل بين قواعد بيانات MongoDB و SQL؟
يعتبر MongoDB أفضل من قواعد بيانات SQL بطريقة تمكنه من التعامل مع البيانات غير المهيكلة بينما تتعامل قواعد بيانات SQL فقط مع البيانات المنظمة وتخزينها دون أي قيود على عكس قواعد البيانات العلائقية. نظرًا لخاصية المخطط ، يتم التعامل مع الاستعلامات بسرعة في MongoDB مقارنة بقواعد بيانات SQL حيث لا يتم وضع البيانات في شكل جداول وفي عدد من الجداول بدلاً من ذلك ، يتم وضع البيانات في نفس المكان لذلك فهي سهل للاستعلام للوصول إلى البيانات ، ويسمح MongoDB بتعيين بياناته بلغات برمجة أخرى مما يوفر سهولة لمستخدميه للعمل عليها.

السؤال 4: ما هي الوثيقة والمجموعة في MongoDB؟
يتم تخزين البيانات في MongoDB في شكل مستندات ، ثم تتحد هذه المستندات لتشكل مجموعة ، ويتحد عدد من المجموعات لتشكيل قاعدة بيانات. لفهم هذا ، ضع في اعتبارك مثالًا لقاعدة بيانات school_data ، وقاعدة بيانات school_data تحتوي على مجموعات تحتوي على class_data فيها ، علاوة على ذلك ، تحتوي هذه المستندات (classes_data) على بيانات الطلاب (student_data) في شكل مستندات.

السؤال 5: ما هي أنواع بيانات MongoDB؟
هناك العديد من أنواع البيانات التي يدعمها MongoDB:

سلسلة يخزن نوع البيانات String البيانات في شكل أبجديات / أحرف ويجب أن تكون 8 بايت وأن تنتمي إلى UTF-8 ، على سبيل المثال ، Jone.
عدد صحيح يخزن أرقامًا تصل إلى 64 بت ولكن الحجم يمكن أن يختلف اعتمادًا على الخادم ، على سبيل المثال ، 1،54.
قيمة منطقية يستخدم هذا لتخزين القيم المنطقية التي يمكن أن تكون إما 0 أو 1 ، على سبيل المثال ، جون في الفصل؟ إجابته إما نعم أو لا.
مزدوج هذا يخزن الأرقام العائمة مثل 22.8.
مفاتيح الحد الأدنى / الحد الأقصى يتم استخدامه لمقارنة القيم الدنيا والقصوى.
المصفوفات يستخدم هذا لتخزين المصفوفات أو القيم المتعددة في مفتاح واحد.
الطابع الزمني عند تعديل أي مستند ، يمكنه الاحتفاظ بسجلات التعديلات.
هدف هذا يخزن الوثائق المضمنة
لا شيء يخزن القيم الفارغة.
رمز هذا هو نوع السلسلة ويمكن تخزين تلك اللغات المرتبطة بالرموز
تاريخ يمكن تخزين الوقت والتاريخ الحاليين في أنواع البيانات هذه
معرف الكائن تحتوي المستندات على معرفات فريدة ، ويمكن تخزين هذه المعرفات في نوع البيانات هذا
البيانات الثنائية يتم تخزين البيانات الثنائية التي تُعرف أيضًا باسم لغة الآلة.
شفرة يتم تخزين أكواد جافا سكريبت في المستندات بمساعدة هذا النوع من البيانات
تعبير عادي يمكن تخزين أي تعبير في نوع البيانات هذا

السؤال 6: ما هي بدائل MongoDB؟
MongoDB هو نوع من قواعد بيانات NoSQL ، والتي يتم من خلالها تخزين البيانات الكبيرة الموزعة في مستندات BSON. يمكن أن تكون بدائل MongoDB هي Amazon DynamoDB و Microsoft Azure Cosmos DB و Couchbase و PostgreSQL و Redis و Cassandra.

المستوى المتوسط

ترتبط هذه الأسئلة بالمفاهيم المتقدمة أكثر من ارتباطها بالأساسيات وفي المقابلة ، من المتوقع أن يجيب المرشح العادي على هذه الأسئلة.

السؤال 7: كيف يمكننا مقارنة MongoDB و SQL على مستوى عالٍ؟
قواعد بيانات SQL هي قواعد بيانات علائقية تخزن البيانات بطريقة جيدة التنظيم ومنظمة في شكل صفوف وأعمدة تشكل الجداول ، من ناحية أخرى ، قواعد بيانات MongoDB هي قواعد بيانات NoSQL ، والتي تخزن البيانات في المستندات ، وهذه المستندات مجتمعة المعروفة باسم المجموعات ، وتتحد هذه المجموعات لتشكل قاعدة بيانات.

السؤال 8: هل هناك أي وظائف مثل إدارة معاملات ACID والقفل في MongoDB؟
لا ، لا توفر MongoDB افتراضيًا أي معاملة ACID على مستندات متعددة ، ومع ذلك ، يمكنها تقديم دعم لمعاملات ACID في مستند واحد.

السؤال 9: ما هي الفهرسة في MongoDB؟
في MongoDB ، الفهرس عبارة عن بنية بيانات خاصة تشغل بعض حقول قاعدة البيانات وتحتوي على بعض البيانات لعمل فهرس. يعمل الفهرس على تحسين القدرة على البحث في قاعدة البيانات ، بدلاً من البحث عن شيء معين من العديد من المستندات ، يمكن للمستخدم الانتقال مباشرةً إلى المستند المحدد بمساعدة الفهرسة.

{
هوية الطالب = 1
أسم الطالب = 'بول'
دولة = 'الولايات المتحدة'
}

في المثال أعلاه ، 'Student_id = 1' عبارة عن فهرس ، لذلك إذا بحث أي شخص إما عن طريق Student_id أو 1 ، فسيتم فتح المستند التالي.

السؤال 10: في MongoDB ، هل يمكن إنشاء فهرس في حقل مصفوفة؟

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

السؤال 11: هل من الممكن تشغيل عمليات Javascript متعددة في مثيل MongoDB واحد؟
من الممكن تشغيل عمليات Javascript متعددة في مثيل mongod واحد لأنه في الإصدار 2.4 من محرك MongoDB V8 جافا سكريبت مضاف.

السؤال 12: ما هو دفتر اليومية في MongoDB؟
عندما يتم تمكين دفتر اليومية في MongoDB ، فإنه يقوم بإنشاء دليل فرعي للمجلة ، داخل دليل / بيانات / ديسيبل ، وهو المسار المحدد بواسطة dbPath افتراضيًا. أثناء تشغيل دفتر اليومية ، يقوم MongoDB بتحرير البيانات وتخزينها في الذاكرة وعلى القرص ، قبل نقل تغييرات البيانات إلى القرص. من المفيد جدًا في حالة حدوث أي خطأ بسبب عدم حفظ التغييرات في البيانات ، يمكن لـ MongoDB استرداد التغييرات من ملف دفتر اليومية ويمكنه ضمان استمرارية الملفات.

مستوى الخبراء

ترتبط هذه الأسئلة بالمفاهيم الأكثر تقدمًا لـ MongoDB ، ومن المتوقع أن يجيب المرشح ذو الخبرة على هذه الأسئلة.

السؤال 13: ما هي عملية تقسيم MongoDB؟
في MongoDB ، التجزئة هي عملية توزيع بيانات قاعدة بيانات ضخمة بين العديد من خوادم MongoDB. لذلك من السهل التعامل مع البيانات ويمكن أيضًا الرد على الاستفسارات بسرعة عالية. يدعم MongoDB التحجيم الأفقي من خلال التجزئة.

تتكون مجموعة MongoDB من ثلاثة أجزاء هي شظايا ؛ يُعرف أيضًا باسم النسخة المتماثلة ومتوفر على كل خادم ، المانجو ؛ يعملون كمترجم بين الخادم والجزء ، و خوادم التكوين ؛ يقومون بتخزين إعدادات التكوين الخاصة بالمجموعة والبيانات الوصفية.

السؤال 14: ما هو التوسع وكيف يحدث في MongoDB؟
عندما يكون هناك الكثير من البيانات على عقدة واحدة ، فإن العقد المتعددة تقترب من العقدة المحملة ، لتوزيع حملها. تسمى هذه العملية لمشاركة حمل من عقدة واحدة مع عقد مختلفة توسيع نطاقها وتعرف أيضًا باسم القياس الأفقي.

السؤال 15: كيف يمكننا الحصول على معلومات حول خطط الاستعلام باستخدام لغة الاستعلام MongoDB؟
ال يشرح() يتم استخدام الأمر وهو يدعم الأوضاع التي هي 'allPlansExecution ، وurationStats ، و queryPlanner'. فمثلا:

ديسيبل . مطاعم . يشرح ( 'حالات التنفيذ' ) . تجد (
{ 'أطباق' : 1 و 'البلدة' : 'بروكلين' }
) ؛

في المثال أعلاه ، يتم استرداد بيانات المطعم من الأمرشرح ().

السؤال 16: شرح إطار تجميع MongoDB.
في MongoDB ، يتم جلب البيانات من مجموعات مختلفة وبعد الحساب يتم إرجاع نتيجة مجمعة تعرف باسم التجميع. تتكون من ثلاث خطوات ، أولاً ، سوف تأخذ الإدخال وتصفية المستندات التي نحتاجها من المستندات باستخدام $ match () ، ثم نقوم بمهمة التجميع على المعلومات التي تمت تصفيتها باستخدام $ group () ، وأخيرًا نقوم بالفرز نتائجنا باستخدام $ sort ().

السؤال السابع عشر: هل يمكن قفل أكثر من قاعدة بيانات باستخدام عملية MongoDB؟
نعم ، يمكن لـ MongoDB قفل أكثر من قاعدة بيانات ، لقفل قواعد بيانات متعددة على الفور ، نستخدم عملية MongoDB db.copyDatabase () ، في حين أن العملية ، db.repairDatabase () قم بتطبيق قفل عام على تحرير قاعدة البيانات وقم أيضًا بتقييد العمليات الأخرى ليتم تنفيذها حتى تتم إزالتها.

السؤال 18: ما هو GridFS في MongoDB؟
تتم إدارة الملفات الكبيرة التي تتجاوز 16 ميجا بايت مثل الصور وملفات الفيديو والملفات الصوتية في MongoDB باستخدام GridFS وتخزينها في أجزاء وأجزاء من الملف بدلاً من مستند واحد ، بشكل افتراضي يدعم MongoDB تنسيقين فقط هما fs. الملفات و fs.chunks لتخزين أجزاء وبيانات وصفية للملفات.

السؤال التاسع عشر: كيف يمكنك وصف ظاهرة التكرار في MongoDB؟
النسخ المتماثل هو عملية مزامنة البيانات بين العديد من الخوادم ، بينما يقوم MongoDB بنسخ البيانات وتكرارها على خوادم مختلفة ، لذلك في حالة تعطل الخادم ، يمكن استرداد البيانات من أي خادم آخر مما يضمن أمان البيانات.

السؤال 20: ما هو مونغو شل؟
mongo shell عبارة عن منصة JavaScript ، يمكننا من خلالها التفاعل مع MongoDB ويمكننا أيضًا إجراء تعديلات على البيانات باستخدام الاستعلامات. يتم استخدامه أيضًا للأغراض الإدارية مثل الحفاظ على طبعات قاعدة البيانات. بشكل افتراضي ، يتم تضمين mongo shell في ملف التثبيت ولكن إذا لم يتم تثبيته ، يمكنك تثبيته من خادم MongoDB.

استنتاج

MongoDB هي قاعدة بيانات NoSQL شائعة ، والتي تُستخدم لإدارة البيانات في شكل مستندات ومن السهل جدًا التعامل معها نظرًا لأنها مخطط. يتم استخدامه من قبل العديد من الشركات المعروفة مثل Twitter و Facebook. بسبب شعبيتها ، هناك العديد من فرص العمل للمطورين الذين يعملون في واجهة MongoDB. في هذه المقالة ، تمت مشاركة أسئلة مقابلة MongoDB الأكثر شيوعًا مع إجاباتها المناسبة.