MongoDB
 sql >> база данни >  >> NoSQL >> MongoDB

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

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

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

Забележка: Винаги имайте някаква основна концепция за темата преди интервю. Това ще ви помогне да отговорите на повечето въпроси, зададени от интервюиращия или интервюиращата комисия.

Това ръководство за статия ще покаже някои от често задаваните въпроси в интервю за MongoDB. Ето защо, бъдете на линия, за да научите повече.

Общи въпроси за интервю за MongoDB

По-долу са някои от най-често задаваните въпроси за интервю за MongoDB:

1. Какво е MongoDB?

Това е документно-ориентирана база данни, която осигурява висока наличност, висока производителност и лесна мащабируемост. MongoDB е NoSQL база данни.

2. Какво е NoSQL база данни?

Базата данни NoSQL помага да се осигури начин за извличане и съхраняване на моделирани данни с всякакви други средства, различни от използването на таблични релации (тези, използвани в релационни бази данни). Различните типове NoSQL бази данни са:

  • Ключ-стойност
  • Ориентирани към колони
  • Ориентирана към документи
  • Графика

3. Какъв тип NoSQL база данни е MongoDB?

MongoDB съхранява данни под формата на BSON документи, тъй като е документно-ориентирана база данни. Тези BSON документи се съхраняват в колекция.

4. Обяснете разделянето и какво означава то в MongoDB?

Разделянето е техника, използвана в MongoDB за съхраняване на данни на множество машини. MongoDB използва шардинг, за да поддържа внедряване на големи набори от данни и операции с висока пропускателна способност. Sharding е подход на MongoDB, за да отговори на стандартите и изискванията за бърз растеж на данните. Хоризонталните дялове на данни в DB или търсачката се наричат ​​фрагмент от база данни или фрагмент.

5. Назовете някои от основните характеристики на MongoDB

  • Език на изразителните заявки
  • Високо гъвкава мащабируема база данни
  • Гъвкави модели на данни под формата на документи
  • Много по-бързо от други традиционни бази данни.

6. Сравнете CouchDB и MongoDB на по-високи нива

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

7. Как се добавят данни в MongoDB?

Синтаксисният израз „вмъква“ се използва за добавяне на данни към MongoDB. Например, за да вмъкнете един документ, използвайте синтаксиса на колекцията по-долу:

insertOne

> db.fosslinux.insertOne({“title” :“Защо обичам Foss”})

За да вмъкнете множество документи в колекция, използвайте синтаксиса по-долу:

insertmany

Този метод ще позволи предаването на масиви към документи в базата данни.

8. Как се изтрива документ в MongoDB?

CRUD API се използва в MongoDB за целите на изтриването, тъй като предоставя следното:

deleteOne
deleteMany

Синтаксис, който може да се използва за изтриване на единични и много файлове, съответно. Предоставените синтаксиси помагат за филтриране на документи като техни първи параметри. Филтрите са жизненоважни, тъй като определят критериите, зададени да съответстват на документите, зададени за премахване.

Пример:

> db.fosslinux.deleteOne({"_id" : 4})

9. Как да заявя данни в MongoDB

Запитването на данни в таблица помага за връщане на подмножество от документи в колекция (от никакви документи до всички документи, присъстващи в колекцията). Функцията „намере ” се използва за изпълнение на всяка заявка в MongoDB. Първият аргумент, предоставен след изявлението find, ще определи изчислените или върнати документи.

Пример:

> db.users.find({"age" : 24})

10. Обяснете какво е набор от реплика в MongoDB

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

11. Как работи репликацията в MongoDB?

Репликацията е процесът, който включва синхронизиране на данни между различни сървъри. Репликацията е от ключово значение, тъй като помага за осигуряване на по-малко излишък, като същевременно увеличава наличността на данни. Репликацията е ключова, тъй като помага да се предотврати загубата на отделни сървъри на бази данни поради наличието на множество копия в различни сървъри на бази данни. Освен това репликацията позволява на потребителите да се възстановят от прекъсвания на услугите и хардуерни повреди.

12. Маркирайте ролите на профайлър в MongoDB

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

13. Обяснете накратко как да преместите стари файлове в директорията moveChunk в MongoDB?

Да, старите файлове могат да бъдат преместени в директорията moveChunk. Това може да се направи по време на нормална операция на фрагмента. Файловете, направени като резервни копия, могат да бъдат изтрити, когато операциите са извършени. Преместването на стари файлове в директорията moveChunk помага за създаване и спестяване на място.

14. Коя функция се използва в MongoDB за създаване на безопасни архиви?

В MongoDB се използва дневникиране при създаване на безопасни архиви.

15. Какво представляват индексите в MongoDB?

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

16. Име на MongoDB алтернативи

По-долу са някои от алтернативите на MongoDB:

  • CouchDB
  • Касандра
  • Redis
  • Hbase
  • Риак

17. MongoDB изисква ли много памет с произволен достъп (RAM)?

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

18. По подразбиране колко индекса се създават от MongoDB за нова колекция?

MongoDB създава колекцията _id по подразбиране за всички нови колекции.

19. Обяснете важността на покритата заявка в MongoDB.

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

20. Какво е покрита заявка?

Покритата заявка е заявка, която:

  • Полетата, изчислени в резултатите, са подобни на индекса
  • Полетата, използвани в секцията за заявка, са част от индексите, използвани в заявката.

21. Какво е агрегиране в MongoDB?

Операциите за агрегиране помагат при обработката на записи с данни и връщането на изчислените резултати. Операциите за агрегиране помагат за групиране на стойности от различни документи, извършване на различни операции върху групираните данни и връщане на единичен резултат. MongoDB има три алтернативни начина за извършване на агрегиране:

  • Използване на функцията за намаляване на картата
  • Използване на конвейера за агрегиране
  • Използване на команди и методи за агрегиране с една цел.

22. Обяснете какво е репликация и как работи в MongoDB?

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

23. Първични и вторични набори от реплики в MongoDB

В MongoDB репликацията се нарича „един главен“, което означава, че само един възел има способността да приема операции за запис наведнъж. Първичните и главните възли приемат записи. Всички вторични възли (подчинени) се репликират от първичните възли (само за четене. Те могат да бъдат само готови, но не могат да бъдат записани).

24. Обяснете защо файловете с данни в MongoDB са големи

Поради механизма си за предварително разпределяне на файлове с данни, за да се избегне фрагментирането на файловата система и резервирането на пространство, MongoDB има тенденция да има много големи файлове с данни.

25. Обяснете какво представлява машината за съхранение в MongoDB?

Машината за съхранение е част от базата данни, отговорна за управлението на начина, по който данните се съхраняват на диска. Например, една машина за съхранение може да поддържа по-висока пропускателна способност за гъвкави операции на запис, докато друга машина за съхранение предлага по-добра производителност, гарантирайки ефективност при работа с тежки работни натоварвания

26. Обяснете как работи журналирането в MongoDB

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

27. Назовете двете машини за съхранение, използвани от MongoDB

Двете машини за съхранение, използвани от MongoDB, са:

  • WiredTiger
  • MMAPv1

28. Обяснете как се постигат заключването и транзакцията в MongoDB

За да постигнете концепции за заключване и транзакция в MongoDB, можете да използвате вложени документи, наричани още вградени документи. Освен това MongoDB поддържа атомни операции, когато работи в рамките на един документ.

29. Какво е GridFS в MongoDB?

GridFS е спецификация за извличане и съхранение на файлове, които надвишават максималния препоръчан размер на BSON от 16 MB. GridFS разделя файлове, които надвишават нормално препоръчаното ограничение, на две части или парчета и ги съхранява като отделни файлове всеки път, когато надвишават ограничението за съхранение.

30. Обяснете как паралелността се отразява на наборите от първични реплики?

MongoDB винаги пише в основния oplog, докато пише в колекция на първичния по време на репликация. Основният oplog е специална колекция, намерена в локалната база данни. Следователно MongoDB трябва да заключи както локалната, така и колекционната база данни в такива случаи.

31. Обяснете значението на пространство от имена във връзка с MongoDB

Пространството от имена, накратко, е известно като конкатенация на името на колекцията и базата данни. например foss.linux, като foss е базата данни, а linux е колекцията.

32. Обяснете структурата на ObjectID в MongoDB?

ObjectID е 12-байтов тип BSON документ, съдържащ:

  • 3-байтов брояч
  • 2-байтов идентификатор на процес
  • 4-байтова стойност, представяща секунди
  • 3-байтов идентификатор на машината

33. Обяснете как MongoDB се смята за по-добър от други SQL бази данни.

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

34. Назовете всички езици, които могат да се използват с MongoDB?

Когато пише тези въпроси за интервю, MongoDB поддържа следните официални езици C, C#, Java, C++, Python, PHP, Ruby, Scala, Erlang, Go и Perl. Всички споменати езици могат да се използват с MongoDB. Това обаче не пречи на факта, че в бъдеще могат да бъдат въведени повече езици за поддръжка на MongoDB.

35. MongoDB поддържа ли ограничения на външния ключ?

MongoDB не поддържа ограничения за външни ключове и свързани връзки

36. Маркирайте точките, които трябва да се вземат предвид при създаването на схема в MongoDB

Предоставените тук точки трябва да бъдат взети под внимание:

  • Трябва да правите присъединявания, когато сте в запис, а не в режим на четене
  • Ако използвате документи заедно, препоръчително е да ги разделите; обаче комбинирайте обектите в един документ
  • Оптимизирайте вашата схема за случаи на честа употреба
  • Винаги се уверете, че схемата е проектирана в съответствие с вашите изисквания
  • Сложните агрегирания трябва да се правят в схемата

37. Предоставете синтаксиса, използвани за създаване и пускане на колекция в MongoDB

Синтаксисът, използван за създаване на колекция, е:db.createCollection(name,options)

Синтаксисът, използван за изтриване на колекция е:db.collection.drop()

38. От какво се състои ObjectID в MongoDB?

ObjectID се състои от следните компоненти:

  • Идентификатор на клиентска машина
  • Часово клеймо
  • Идентификатор на клиентския процес
  • 3 байта увеличен брояч

39. Наименувайте типовете данни, използвани в MongoDB

MongoDB предлага широка гама от типове данни като стойности в документите. Документите на MongoDB са подобни на обектите в JavaScript. Наред с основната природа на двойката стойност на JSON, MongoDB поддържа и различни допълнителни типове данни. Основните типове данни в MongoDB са:

  • Булева
{"x" : true}
  • Номер
{"x" : 4}
  • Null
{"x" : null}
  • Стринг
{"x" : "foobar"}
  • Дата
{"x" : new Date()}
  • Масив
{"x" : ["a", "b", "c"]}
  • Регулярен израз
{"x" : /foobar/i}
  • Идентификатор на обект
{"x" : ObjectId()}
  • Двоични данни
Binary data is a concatenation of arbitrary bytes
  • Код
{"x" : function() { /* ... */ }}
  • Вграден документ
{"x" : {"foo" : "bar"}}

40. Кога трябва да използвате MongoDB?

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

  • Мащабирайте хранилищата си с данни до много управляеми огромни размери
  • Развиване на типа на внедряване поради бързи бизнес промени
  • Управлявайте, търсете и съхранявайте данни с помощта на геопространствени, текстови и времеви серии измерения.
  • Подкрепете изграждането на бързо итеративно развитие
  • Мащабира до по-високи нива на трафик за запис и четене – MongoDB поддържа хоризонтално мащабиране чрез разделяне, разпределение на данни между различни машини и улеснява операции с по-висока пропускателна способност, съдържащи големи набори от данни.

Заключение

Тази статия обхваща изчерпателно почти всички основни въпроси за интервю, които човек може да срещне по време на интервю. Надяваме се, че въпросите ще ви помогнат да се подготвите адекватно за следващото си интервю. Ако имате пропуснати въпроси, моля, задайте ги в секцията за коментари, тъй като вашата аудитория означава много за нас. Благодаря за четенето.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Премахване на бели интервали (водещи и крайни) от стойността на низа

  2. Накарайте Spark, Python и MongoDB да работят заедно

  3. Вмъкване на елемент във вложени масиви в MongoDB

  4. Как да създадете конфигурационен файл за MongoDB

  5. Вмъкване на речник в MongoDB с c# драйвер