Самые популярные вопросы на собеседовании по MongoDB

Samye Popularnye Voprosy Na Sobesedovanii Po 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 содержит коллекции, в которых есть class_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 индекс — это специальная структура данных, которая занимает некоторые поля базы данных и содержит некоторые данные для создания индекса. Индекс улучшает возможности поиска в базе данных, вместо того, чтобы искать конкретную вещь из множества документов, пользователь может напрямую перейти к указанному документу с помощью индексации.

{
Студенческий билет знак равно 1
Имя ученика знак равно 'Павел'
Страна знак равно 'Соединенные Штаты'
}

В приведенном выше примере «Student_id = 1» является индексом, поэтому, если кто-либо выполняет поиск либо по Student_id, либо по 1, будет открыт следующий документ.

Вопрос 10: Можно ли в MongoDB создать индекс для поля массива?

Да, мы можем создать индекс для поля массива в MongoDB, и он индексирует каждое значение массива. На самом деле MongoDB сама создает многоключевой индекс, и вам не нужно указывать его, если какое-либо поле индекса является массивом.

Вопрос 11. Можно ли выполнять несколько операций Javascript в одном экземпляре MongoDB?
Можно запускать несколько операций Javascript в одном экземпляре mongod, потому что в версии 2.4 MongoDB V8 добавлен механизм javascript.

Вопрос 12: Что такое ведение журнала в MongoDB?
Когда ведение журнала включено в MongoDB, создается подкаталог журнала в каталоге /данные/дб , который является путем, определенным dbPath по умолчанию. Во время ведения журнала MongoDB редактирует и сохраняет данные в памяти и на диске, прежде чем изменения данных будут переданы на диск. Это очень полезно в случае возникновения какой-либо ошибки, из-за которой изменения в данных не были сохранены, MongoDB может получить изменения из файла журнала и может обеспечить устойчивость файлов.

Экспертный уровень

Эти вопросы связаны с более продвинутыми концепциями MongoDB. Ожидается, что на эти вопросы должен ответить кандидат с опытом.

Вопрос 13: Что такое процесс сегментирования MongoDB?
В MongoDB шардинг — это процесс распределения данных огромной базы данных между множеством серверов MongoDB. Таким образом, данные легко обрабатывать, а также можно отвечать на запросы с высокой скоростью. MongoDB поддерживает горизонтальное масштабирование за счет сегментирования.

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

Вопрос 14: Что такое горизонтальное масштабирование и как оно происходит в MongoDB?
Когда на одном узле много данных, несколько узлов приближаются к загруженному узлу, чтобы распределить его нагрузку. Этот процесс распределения нагрузки одного узла на разные узлы называется масштабированием, а также горизонтальным масштабированием.

Вопрос 15: Как мы можем получить информацию о планах запросов, используя язык запросов MongoDB?
объяснять() используется команда, и она поддерживает режимы «allPlansExecution, executeStats и queryPlanner». Например:

дБ . рестораны . объяснять ( 'статистика исполнения' ) . найти (
{ 'кухня' : 1 , 'район' : 'Бруклин' }
) ;

В приведенном выше примере данные ресторана извлекаются из команды объяснения().

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

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

Вопрос 18: Что такое GridFS в MongoDB?
Большие файлы, превышающие 16 МБ, такие как изображения, видеофайлы и аудиофайлы, управляются в MongoDB с помощью GridFS и хранятся в частях и фрагментах файла, а не в одном документе. По умолчанию MongoDB поддерживает только два формата, которые являются fs. files и fs.chunks для хранения фрагментов и метаданных файлов.

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

Вопрос 20: Что такое Mongo Shell?
Оболочка mongo — это платформа JavaScript, с помощью которой мы можем взаимодействовать с MongoDB, а также вносить изменения в данные с помощью запросов. Он также используется для административных целей, таких как обслуживание экземпляров базы данных. По умолчанию оболочка mongo включена в установочный файл, но если она не установлена, вы можете установить ее с сервера MongoDB.

Вывод

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