Топ въпроси за интервю за MongoDB

Top V Prosi Za Intervu Za Mongodb



MongoDB е NoSQL система за управление на бази данни с отворен код; той не само улеснява съхраняването на неструктурирани данни, но и ги управлява. Винаги, когато възникне въпросът как да управлявате милиони редове неструктурирани данни, се препоръчва MongoDB.

Първата версия на MongoDB беше пусната през февруари 2007 г. от 10 ген Софтуерна компания, по-късно през 2013 г., 10gen промени името на компанията на MongoDB Inc.

MongoDB е NoSQL база данни, която се използва за съхраняване на данни във формуляра на JSON документи, тъй като поради тази функция огромно количество неструктурирани данни могат лесно да се съхраняват и управляват в MongoDB. Наборът от тези документи, съдържащи данните, са известни като колекции. И тези колекции са подобни на таблиците, които се използват в релационни бази данни за съхраняване на данни.







Има много причини, поради които MongoDB е толкова популярен в сравнение с други релационни и NoSQL бази данни, някои от тях са:



  • Разработчиците могат да дефинират структурата според двойките ключ-стойност
  • Подобно на релационните бази данни, редовете и колоните не са необходими за данните
  • Йерархичната структура на MongoDB позволява съхраняване на данни под формата на масиви и също така може да съхранява сложни данни
  • Той кара своите разработчици да управляват бази данни лесно, тъй като поддържа множество езици за програмиране
  • Той също така поддържа функциите на gridFS и репликация

Поради популярността му има много възможности за работа за разработчиците, които работят с MongoDB. Тази статия е свързана с въпросите, които са най-важни и често задавани от много организации с най-висок рейтинг.



Въпроси за интервю с MongoDB

Най-често задаваните въпроси са разделени на три нива: Основно ниво, Средно ниво и Експертно ниво.





Начално ниво

Тези въпроси са свързани с основните концепции и терминология на MongoDB и на интервю се очаква всеки кандидат да отговори на тези въпроси.

Въпрос 1: какво знаете за NoSQL базите данни и техните видове?
NoSQL базите данни са тези бази данни, които не съхраняват данни в таблици, както правят SQL базите данни, вместо да съхраняват данни в други форми като документи и формуляри за ключ-стойност.



Има четири важни типа NoSQL бази данни:

  • Бази данни с документи: Тези бази данни съхраняват данни под формата на JSON документи, тези документи се комбинират, за да образуват колекции, а тези колекции се комбинират, за да образуват база данни.
  • Бази данни ключ-стойност: Тези бази данни съхраняват данните под формата на ключ-стойности, например „Име = Джон“, в този пример „Име“ е ключ, а „Джон“ е стойност.
  • Магазин с широка колона: Тези бази данни съхраняват данни под формата на динамични таблици, за разлика от релационните бази данни, тези таблици не са структурирани.
  • Графични бази данни: Тези бази данни съдържат ръбове и възли; възлите се използват за съхраняване на информация, докато ръбовете се използват за показване на връзки между възлите.

Въпрос 2: какъв тип NoSQL база данни е MongoDB?
Базата данни MongoDB принадлежи към документните бази данни, което означава, че съхранява данни според JSON документите. Той не следва никаква схема и позволява вмъкването на всякакъв тип данни в него.

Въпрос 3: Коя е по-добра от MongoDB и SQL бази данни?
MongoDB е по-добър от SQL базите данни по такъв начин, че може да обработва неструктурирани данни, докато SQL базите данни обработват само структурирани данни и ги съхраняват без никакви ограничения, за разлика от релационните бази данни. Поради характеристиката си без схема, заявките се обработват бързо в MongoDB в сравнение с SQL базите данни, тъй като данните не се поставят под формата на таблици, а в няколко таблици вместо това данните се поставят на едно и също място, така че лесен за заявката за достъп до данните, а MongoDB позволява нейните данни да бъдат картографирани на други езици за програмиране, което улеснява потребителите да работят върху тях.

Въпрос 4: Какво е документ и колекция в MongoDB?
Данните се съхраняват в MongoDB под формата на документи, след което тези документи се комбинират, за да образуват колекция, а няколко колекции се комбинират, за да образуват база данни. За да разберете това, разгледайте пример за база данни от school_data, база данни от school_data съдържа колекции, които имат classes_data в тях, и освен това тези документи (classes_data) съдържат данните на учениците (student_data) под формата на документи.

Въпрос 5: Какво представляват типовете данни MongoDB?
Има много типове данни, които MongoDB поддържа:

низ Низовият тип данни съхранява данни под формата на букви/знаци и трябва да е от 8 байта и да принадлежи към UTF-8, например Jone.
Цяло число Той съхранява числа до 64 бита, но размерът може да варира в зависимост от сървъра, например 1,54.
Булева стойност Това се използва за съхраняване на булеви стойности, които могат да бъдат 0 или 1, например Джон е в клас? Отговорът му е или да, или не.
Двойна Това съхранява плаващи числа като 22,8.
Минимални/максимални клавиши Използва се за сравняване на минимални и максимални стойности.
Масиви Това се използва за съхраняване на масиви или множество стойности в един ключ.
Времево клеймо Когато някой документ бъде променен, той може да запази записите на промените.
Обект Това съхранява вградените документи
Нула Той съхранява нулеви стойности.
Символ Това е типът низ и може да съхранява онези езици, които са свързани със символите
Дата Текущият час и дата могат да се съхраняват в тези типове данни
ИД на обект Документите имат уникални идентификатори, тези идентификатори могат да се съхраняват в този тип данни
Двоични данни В него се съхраняват двоични данни, които също са известни като машинен език.
Код Javascript кодовете се съхраняват в документи с помощта на този тип данни
Редовен израз Всеки израз може да се съхранява в този тип данни

Въпрос 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 индексът е специална структура от данни, която заема някои полета от базата данни и съдържа някои данни, за да направи индекс. Индексът подобрява способността за търсене в базата данни, вместо да търси конкретно нещо от много документи, потребителят може директно да отиде до посочения документ с помощта на индексиране.

{
Student_id = 1
Име на ученик = „Пол“
Държава = 'Съединени щати'
}

В горния пример „Student_id =1“ е индекс, така че ако някой търси по Student_id или 1, ще се отвори следният документ.

Въпрос 10: В MongoDB може ли да се създаде индекс върху поле от масив?

Да, можем да създадем индекс върху поле на масив в MongoDB и той индексира всяка стойност на масива. Всъщност MongoDB сам по себе си създава многоключовия индекс и не е необходимо да го указвате, ако някое индексно поле е масив.

Въпрос 11: Възможно ли е да се изпълняват множество операции на Javascript в един екземпляр на MongoDB?
Възможно е да се изпълняват множество операции на Javascript в един екземпляр на mongod, защото във версия 2.4 на MongoDB V8 е добавен javascript двигател.

Въпрос 12: Какво е журналиране в MongoDB?
Когато дневникът е активиран в MongoDB, той създава поддиректория на Journal в директорията на /данни/db , който е пътят, дефиниран от dbPath по подразбиране. Докато журналирането се изпълнява, MongoDB редактира и съхранява данните в паметта и на диска, преди промените в данните да бъдат прехвърлени на диска. Много е полезно в случай, че възникне някаква грешка, поради която промените в данните не са били запазени, MongoDB може да извлече промените от журналния файл и може да гарантира дълготрайността на файловете.

Експертно ниво

Тези въпроси са свързани с по-напредналите концепции на MongoDB, очаква се кандидатът за експертиза да отговори на тези въпроси.

Въпрос 13: Какво представлява процесът на шардинг на MongoDB?
В MongoDB шардингът е процесът на разпространение на данните от огромна база данни между много MongoDB сървъри. Така че е лесно да се борави с данните и също така може да се отговори на заявките с висока скорост. MongoDB поддържа хоризонтално мащабиране чрез шардинг.

Клъстерът MongoDB се състои от три части, които са парчета ; той е известен също като реплика и е достъпен на всеки сървър, манго ; те действат като интерпретатор между сървъра и шарда, и конфигурационни сървъри ; те съхраняват конфигурационните настройки на клъстера и метаданните.

Въпрос 14: Какво е мащабиране и как се случва в MongoDB?
Когато има много данни на един възел, множеството възли се приближават до заредения възел, за да разпределят натоварването му. Този процес на споделяне на натоварване от един възел към различни възли се нарича мащабиране и е известен също като хоризонтално мащабиране.

Въпрос 15: Как можем да получим информация за плановете за заявки, като използваме езика за заявки MongoDB?
The обяснявам () използва се команда и тя поддържа режимите, които са „allPlansExecution, executionStats и queryPlanner“. Например:

db . ресторанти . обясни ( 'статистика на изпълнение' ) . намирам (
{ 'кухня' : 1 , 'кръг' : 'Бруклин' }
) ;

В горния пример данните за ресторанта се извличат от командата expand().

Въпрос 16: Обяснете рамката за агрегиране на MongoDB.
В MongoDB, извличане на данни от различни колекции и след изчисление връщане на комбиниран резултат, известен като агрегиране. Той има три стъпки, първо ще вземе входа и ще филтрира документите, от които се нуждаем, от документите, използвайки $match(), след това извършваме работата по агрегиране на филтрираната информация, използвайки $group() и накрая сортираме нашите резултати с помощта на $sort().

Въпрос 17: Възможно ли е да заключите повече от една база данни с помощта на MongoDB операция?
Да, MongoDB може да заключи повече от една база данни, за да заключим незабавно няколко бази данни, използваме операцията MongoDB db.copyDatabase() , докато операцията, db.repairDatabase() прилага глобална блокировка при редактиране на базата данни и също така ограничава други операции, които трябва да бъдат изпълнени, докато не бъде премахната.

Въпрос 18: Какво е GridFS в MongoDB?
Големите файлове, които надвишават 16 MB, като изображения, видео файлове и аудио файлове, се управляват в MongoDB с помощта на GridFS и се съхраняват в части и части от файла вместо в един документ, по подразбиране MongoDB поддържа само два формата, които са fs. файлове и fs.chunks за съхраняване на парчета и метаданни на файлове.

Въпрос 19: Как можете да опишете явленията на репликация в MongoDB?
Репликацията е процесът на синхронизиране на данни между много сървъри, докато MongoDB копира данните и ги репликира на различни сървъри, така че в случай на срив на сървъра, данните могат да бъдат извлечени от всеки друг сървър, което гарантира сигурността на данните.

Въпрос 20: Какво е Mongo Shell?
Mongo shell е JavaScript платформа, чрез която можем да взаимодействаме с MongoDB и можем също така да правим модификации в данните, използвайки заявките. Използва се и за административни цели като поддържане на екземплярите на базата данни. По подразбиране mongo shell е включен в инсталационния файл, но ако не е инсталиран, можете да го инсталирате от MongoDB сървъра.

Заключение

MongoDB е популярна NoSQL база данни, която се използва за управление на данни под формата на документи и е много лесна за работа, тъй като е без схема. Използва се от много известни компании като Twitter и Facebook. Поради популярността му има много възможности за работа за разработчиците, които работят в интерфейса на MongoDB. В тази статия са споделени най-често задаваните въпроси за интервю с MongoDB с техните подходящи отговори.