Najpopularniejsze pytania do wywiadu MongoDB

Najpopularniejsze Pytania Do Wywiadu Mongodb



MongoDB to system zarządzania bazą danych NoSQL typu open source; nie tylko zapewnia łatwość przechowywania nieustrukturyzowanych danych, ale także nimi zarządza. Ilekroć pojawia się pytanie, jak zarządzać milionami wierszy nieustrukturyzowanych danych, zaleca się MongoDB.

Pierwsza wersja MongoDB została wydana w lutym 2007 przez 10 gen Firma programistyczna, później w 2013 roku, 10gen zmieniła nazwę firmy na MongoDB Inc.

MongoDB to baza danych NoSQL, która służy do przechowywania danych w formie dokumentów JSON, dzięki tej funkcji, ogromna ilość nieustrukturyzowanych danych może być łatwo przechowywana i zarządzana w MongoDB. Zbiór tych dokumentów zawierających dane to kolekcje. Te kolekcje są podobne do tabel używanych w relacyjnych bazach danych do przechowywania danych.







Istnieje wiele powodów, dla których MongoDB jest tak popularny w porównaniu z innymi relacyjnymi bazami danych i NoSQL, niektóre z nich to:



  • Deweloperzy mogą definiować strukturę zgodnie z parami klucz-wartość
  • Podobnie jak w relacyjnych bazach danych, dla danych nie są potrzebne wiersze i kolumny
  • Hierarchiczna struktura MongoDB pozwala na przechowywanie danych w postaci tablic, a także może przechowywać złożone dane
  • Ułatwia programistom zarządzanie bazami danych, ponieważ obsługuje wiele języków programowania
  • Obsługuje również funkcje gridFS i replikacji

Ze względu na swoją popularność istnieje wiele możliwości pracy dla programistów pracujących z MongoDB. Ten artykuł dotyczy najważniejszych i najczęściej zadawanych pytań przez wiele najwyżej ocenianych organizacji.



Pytania do wywiadu MongoDB

Najczęściej zadawane pytania podzielone są na trzy poziomy: poziom podstawowy, poziom średniozaawansowany i poziom ekspercki.





Poziom podstawowy

Te pytania są związane z podstawowymi pojęciami i terminologią MongoDB, a podczas rozmowy kwalifikacyjnej oczekuje się, że każdy kandydat powinien odpowiedzieć na te pytania.

Pytanie 1: co wiesz o bazach danych NoSQL i ich typach?
Bazy danych NoSQL to te bazy danych, które nie przechowują danych w tabelach, tak jak robią to bazy danych SQL, zamiast tego przechowują dane w innych formach, takich jak dokumenty i formularze klucz-wartość.



Istnieją cztery ważne typy baz danych NoSQL:

  • Bazy dokumentów: Te bazy danych przechowują dane w postaci dokumentów JSON, dokumenty te łączą się w kolekcje, a te kolekcje łączą się w bazę danych.
  • Bazy danych klucz-wartość: Te bazy danych przechowują dane w postaci par klucz-wartość, na przykład „Imię = Jan”, w tym przykładzie „Imię” to klucz, a „Jan” to wartość.
  • Sklep z szeroką kolumną: Te bazy danych przechowują dane w postaci dynamicznych tabel, w przeciwieństwie do relacyjnych baz danych, tabele te nie mają struktury.
  • Bazy danych wykresów: Te bazy danych zawierają krawędzie i węzły; węzły służą do przechowywania informacji, podczas gdy krawędzie służą do pokazania relacji między węzłami.

Pytanie 2: jakim rodzajem bazy danych NoSQL jest MongoDB?
Baza danych MongoDB należy do baz dokumentów, co oznacza, że ​​przechowuje dane zgodnie z dokumentami JSON. Nie trzyma się żadnego schematu i pozwala na umieszczanie w nim dowolnego typu danych.

Pytanie 3: Która z baz danych MongoDB i SQL jest lepsza?
MongoDB jest lepszy od baz danych SQL w taki sposób, że może obsługiwać dane nieustrukturyzowane, podczas gdy bazy danych SQL obsługują tylko dane strukturalne i przechowują je bez żadnych ograniczeń, w przeciwieństwie do relacyjnych baz danych. Ze względu na brak schematów, zapytania są obsługiwane w MongoDB szybko w porównaniu do baz SQL, ponieważ dane nie są umieszczane w formie tabel, a zamiast tego w wielu tabelach, dane są umieszczane w tym samym miejscu, dzięki czemu są łatwe dla zapytania dostęp do danych, a MongoDB umożliwia mapowanie swoich danych w innych językach programowania, co zapewnia użytkownikom łatwość pracy z nimi.

Pytanie 4: Co to jest dokument i kolekcja w MongoDB?
Dane są przechowywane w MongoDB w postaci dokumentów, następnie dokumenty te łączą się w zbiór, a pewna liczba zbiorów łączy się w bazę danych. Aby to zrozumieć, rozważmy przykład bazy danych school_data, w której baza danych school_data zawiera kolekcje zawierające klasy_data, a ponadto te dokumenty (classes_data) zawierają dane uczniów (student_data) w formie dokumentów.

Pytanie 5: Jakie są typy danych MongoDB?
Istnieje wiele typów danych obsługiwanych przez MongoDB:

Strunowy Typ danych String przechowuje dane w postaci alfabetów/znaków i musi mieć 8 bajtów i należeć do UTF-8, na przykład Jone.
Liczba całkowita Przechowuje liczby do 64 bitów, ale rozmiar może się różnić w zależności od serwera, na przykład 1,54.
logiczne Służy do przechowywania wartości logicznych, które mogą wynosić 0 lub 1, na przykład John jest w klasie? Jego odpowiedź brzmi tak lub nie.
Podwójnie To przechowuje liczby zmiennoprzecinkowe, takie jak 22,8.
Klawisze min./maks Służy do porównywania wartości min i max.
Tablice Służy do przechowywania tablic lub wielu wartości w jednym kluczu.
Znak czasu Gdy jakikolwiek dokument jest modyfikowany, może przechowywać zapisy zmian.
Obiekt To przechowuje osadzone dokumenty
Zero Przechowuje wartości null.
Symbol Jest to typ łańcucha i może przechowywać te języki, które są powiązane z symbolami
Data Bieżący czas i data mogą być przechowywane w tych typach danych
Identyfikator obiektu Dokumenty mają unikalne identyfikatory, identyfikatory te mogą być przechowywane w tym typie danych
Dane binarne Przechowywane są w nim dane binarne, zwane również językiem maszynowym.
Kod Kody JavaScript są przechowywane w dokumentach za pomocą tego typu danych
Wyrażenie regularne W tym typie danych można przechowywać dowolne wyrażenie

Pytanie 6: Jakie są alternatywy dla MongoDB?
MongoDB to rodzaj bazy danych NoSQL, za pomocą której duże rozproszone dane są przechowywane w dokumentach BSON. Alternatywami MongoDB mogą być Amazon DynamoDB, Microsoft Azure Cosmos DB, Couchbase, PostgreSQL, Redis i Cassandra.

Poziom średniozaawansowany

Te pytania są bardziej związane z zaawansowanymi koncepcjami niż z podstawami, a podczas rozmowy kwalifikacyjnej oczekuje się, że przeciętny kandydat powinien odpowiedzieć na te pytania.

Pytanie 7: Jak możemy porównać MongoDB i SQL na wysokim poziomie?
Bazy danych SQL to relacyjne bazy danych, które przechowują dane w dobrze ustrukturyzowany i zorganizowany sposób w postaci wierszy i kolumn tworzących tabele, z drugiej strony bazy danych MongoDB to bazy danych NoSQL, które przechowują dane w dokumentach, dokumenty te są zbiorczo znane jako kolekcje, a kolekcje te łączą się, tworząc bazę danych.

Pytanie 8: Czy są jakieś funkcjonalności, takie jak zarządzanie transakcjami ACID i blokowanie w MongoDB?
Nie, domyślnie MongoDB nie zapewnia żadnej transakcji ACID na wielu dokumentach, jednak może zapewnić obsługę transakcji ACID na pojedynczym dokumencie.

Pytanie 9: Czym jest indeksowanie w MongoDB?
W MongoDB indeks jest specjalną strukturą danych, która zajmuje niektóre pola bazy danych i przechowuje pewne dane w celu utworzenia indeksu. Indeks poprawia możliwości przeszukiwania bazy danych, zamiast wyszukiwać konkretną rzecz z wielu dokumentów, użytkownik może bezpośrednio przejść do określonego dokumentu za pomocą indeksowania.

{
Legitymacja studencka = 1
imię_ucznia = 'Paweł'
Kraj = 'Stany Zjednoczone'
}

W powyższym przykładzie „Student_id = 1” jest indeksem, więc jeśli ktoś wyszuka według Student_id lub 1, zostanie otwarty następujący dokument.

Pytanie 10: Czy w MongoDB można utworzyć indeks na polu tablicy?

Tak, możemy utworzyć indeks na polu tablicy w MongoDB i indeksuje on każdą wartość tablicy. W rzeczywistości MongoDB sam tworzy indeks wielokluczowy i nie trzeba go określać, jeśli jakiekolwiek pole indeksu jest tablicą.

Pytanie 11: Czy możliwe jest uruchamianie wielu operacji JavaScript w jednej instancji MongoDB?
Możliwe jest uruchamianie wielu operacji Javascript w jednej instancji mongod, ponieważ w wersji 2.4 MongoDB V8 dodano silnik javascript.

Pytanie 12: Czym jest dziennik w MongoDB?
Kiedy księgowanie jest włączone w MongoDB, tworzy podkatalog Journal w katalogu /dane/db , która jest domyślnie ścieżką zdefiniowaną przez dbPath. Podczas działania dziennika MongoDB edytuje i przechowuje dane w pamięci i na dysku, zanim zmiany danych zostaną przeniesione na dysk. Jest to bardzo pomocne w przypadku wystąpienia błędu, w wyniku którego zmiany w danych nie zostały zapisane, MongoDB może pobrać zmiany z pliku dziennika i zapewnić trwałość plików.

Poziom eksperta

Te pytania są związane z bardziej zaawansowanymi koncepcjami MongoDB, oczekuje się, że kandydat na eksperta powinien odpowiedzieć na te pytania.

Pytanie 13: Co to jest proces dzielenia MongoDB na fragmenty?
W MongoDB sharding to proces dystrybucji danych z ogromnej bazy danych między wiele serwerów MongoDB. Dzięki temu łatwo jest obsługiwać dane, a także odpowiadać na zapytania z dużą szybkością. MongoDB obsługuje skalowanie w poziomie poprzez sharding.

Klaster MongoDB składa się z trzech części, które są odłamki ; jest również nazywany repliką i jest dostępny na każdym serwerze, Mango ; działają jako tłumacz między serwerem a fragmentem i serwery konfiguracyjne ; przechowują ustawienia konfiguracyjne klastra i metadane.

Pytanie 14: Co to jest skalowanie w poziomie i jak to się dzieje w MongoDB?
Gdy w jednym węźle znajduje się dużo danych, wiele węzłów zbliża się do załadowanego węzła, aby rozłożyć jego obciążenie. Ten proces dzielenia obciążenia pojedynczego węzła na różne węzły jest nazywany skalowaniem w poziomie i jest również znany jako skalowanie poziome.

Pytanie 15: Jak możemy uzyskać informacje o planach zapytań za pomocą języka zapytań MongoDB?
The wyjaśnić() używane jest polecenie i obsługuje tryby „allPlansExecution, egzekucjaStats i queryPlanner”. Na przykład:

baza danych . restauracje . wyjaśnić ( „Statystyki wykonania” ) . odnaleźć (
{ 'kuchnia jako sposób gotowania' : 1 , 'miasto' : „Brooklyn” }
) ;

W powyższym przykładzie dane restauracji są pobierane za pomocą komendy explain().

Pytanie 16: Wyjaśnij ramy agregacji MongoDB.
W MongoDB pobieranie danych z różnych kolekcji i po obliczeniu zwracanie połączonego wyniku znanego jako agregacja. Składa się z trzech kroków, najpierw pobiera dane wejściowe i filtruje dokumenty, których potrzebujemy z dokumentów za pomocą $match(), następnie wykonujemy zadanie agregacji przefiltrowanych informacji za pomocą $group(), a na koniec sortujemy nasze wyniki za pomocą metody $sort().

Pytanie 17: Czy można zablokować więcej niż jedną bazę danych za pomocą operacji MongoDB?
Tak, MongoDB może zablokować więcej niż jedną bazę danych, aby natychmiast zablokować wiele baz danych, używamy operacji MongoDB db.copyDatabase() , mając na uwadze, że operacja db.repairDatabase() nałóż globalną blokadę na edycję bazy danych, a także ogranicz wykonywanie innych operacji do czasu jej usunięcia.

Pytanie 18: Co to jest GridFS w MongoDB?
Duże pliki, które przekraczają 16 MB, takie jak obrazy, pliki wideo i pliki audio, są zarządzane w MongoDB przy użyciu GridFS i przechowywane w częściach i fragmentach pliku zamiast w jednym dokumencie, domyślnie MongoDB obsługuje tylko dwa formaty, którymi są fs. files i fs.chunks do przechowywania fragmentów i metadanych plików.

Pytanie 19: Jak możesz opisać zjawisko replikacji w MongoDB?
Replikacja to proces synchronizacji danych między wieloma serwerami, podczas gdy MongoDB kopiuje dane i replikuje je na różne serwery, dzięki czemu w przypadku awarii serwera dane można odzyskać z dowolnego innego serwera, który zapewnia bezpieczeństwo danych.

Pytanie 20: Co to jest Mongo Shell?
Powłoka mongo to platforma JavaScript, za pośrednictwem której możemy wchodzić w interakcje z MongoDB, a także dokonywać modyfikacji danych za pomocą zapytań. Jest również używany do celów administracyjnych, takich jak konserwacja instancji bazy danych. Domyślnie powłoka mongo jest zawarta w pliku instalacyjnym, ale jeśli nie jest zainstalowana, możesz ją zainstalować z serwera MongoDB.

Wniosek

MongoDB to popularna baza danych NoSQL, która służy do zarządzania danymi w postaci dokumentów i jest bardzo łatwa w obsłudze, ponieważ jest pozbawiona schematów. Jest używany przez wiele znanych firm, takich jak Twitter i Facebook. Ze względu na swoją popularność istnieje wiele ofert pracy dla programistów pracujących w interfejsie MongoDB. W tym artykule najczęściej zadawane pytania podczas wywiadu MongoDB zostały udostępnione wraz z odpowiednimi odpowiedziami.