MongoDB
 sql >> Baza danych >  >> NoSQL >> MongoDB

Często zadawane pytania dotyczące wywiadu MongoDB

Jeśli z powodzeniem znalazłeś się na krótkiej liście rozmówcy na powyższy temat, zalecamy zapoznanie się z najczęściej zadawanymi pytaniami zawartymi w tym przewodniku po artykułach. Pytania do rozmowy kwalifikacyjnej MongoDB są celowo zaprojektowane, aby pomóc naszym czytelnikom zapoznać się z naturą i formą pytań, które mogą napotkać podczas rozmowy kwalifikacyjnej MongoDB.

Jednak ważną kwestią, na którą należy zwrócić uwagę, jest to, że dobrzy ankieterzy rzadko zadają określone pytania podczas rozmowy kwalifikacyjnej. Zamiast tego czasami mają tendencję do pozostawania profesjonalnymi i nieprzewidywalnymi.

Uwaga: Zawsze miej jakieś podstawowe pojęcie na ten temat przed rozmową kwalifikacyjną. Pomoże Ci to odpowiedzieć na większość pytań zadawanych przez ankietera lub komisję przeprowadzającą rozmowę kwalifikacyjną.

Ten przewodnik po artykułach pokaże niektóre z najczęściej zadawanych pytań w wywiadzie MongoDB. Dlatego bądź na bieżąco, aby dowiedzieć się więcej.

Częste pytania do wywiadu MongoDB

Poniżej znajdują się niektóre z najczęściej zadawanych pytań podczas rozmowy kwalifikacyjnej MongoDB:

1. Co to jest MongoDB?

Jest to baza danych zorientowana na dokumenty, która zapewnia wysoką dostępność, wysoką wydajność i łatwą skalowalność. MongoDB to baza danych NoSQL.

2. Co to jest baza danych NoSQL?

Baza danych NoSQL pomaga zapewnić sposób pobierania i przechowywania modelowanych danych wszelkimi innymi sposobami, innymi niż użycie relacji tabelarycznych (tych używanych w relacyjnych bazach danych). Różne typy baz danych NoSQL to:

  • Klucz-wartość
  • Zorientowany na kolumnę
  • Zorientowany na dokument
  • Wykres

3. Jakim typem bazy danych NoSQL jest MongoDB?

MongoDB gromadzi dane w postaci dokumentów BSON, ponieważ jest to baza danych zorientowana na dokumenty. Te dokumenty BSON są przechowywane w kolekcji.

4. Wyjaśnij sharding i co to oznacza w MongoDB?

Sharding to technika używana w MongoDB do przechowywania danych na wielu komputerach. MongoDB używa shardingu do obsługi wdrażania dużych zestawów danych i operacji o wysokiej przepustowości. Sharding to podejście MongoDB mające na celu spełnienie standardów i wymagań szybkiego przyrostu danych. Poziome partycje danych w bazie danych lub wyszukiwarce są określane jako odłamek bazy danych lub odłamek.

5. Wymień niektóre z kluczowych funkcji MongoDB

  • Ekspresyjny język zapytań
  • Wysoce elastyczna i skalowalna baza danych
  • Elastyczne modele danych w postaci dokumentów
  • Znacznie szybciej niż inne tradycyjne bazy danych.

6. Porównaj CouchDB i MongoDB na wyższych poziomach

Pomimo tego, że zarówno CouchDB, jak i MongoDB są bazami danych zorientowanymi na dokumentację, MongoDB nadal wyróżnia się jako lepszy wybór dla głównych aplikacji wymagających dynamizmu w zapytaniach i doskonałej wydajności. Nie oznacza to jednak, że CouchDB nie jest wydajny, ponieważ jest również używany w aplikacjach, które czasami się zmieniają i używają wstępnie zdefiniowanych zapytań.

7. Jak dodać dane w MongoDB?

Instrukcja składni „inserts” służy do dodawania danych do MongoDB. Na przykład, aby wstawić pojedynczy dokument, użyj poniższej składni kolekcji:

insertOne

> db.fosslinux.insertOne({„tytuł” ​​:„Dlaczego kocham Fossa”})

Aby wstawić wiele dokumentów do kolekcji, użyj poniższej składni:

insertmany

Ta metoda pozwoli na przekazywanie tablic do dokumentów w bazie danych.

8. Jak usunąć dokument w MongoDB?

Interfejs API CRUD jest używany w MongoDB do celów usuwania, ponieważ zapewnia:

deleteOne
deleteMany

Składnie, których można użyć do usunięcia odpowiednio jednego i wielu plików. Dostarczone składnie pomagają odfiltrować dokumenty jako ich pierwsze parametry. Filtry są niezbędne, ponieważ określają kryteria ustawione w celu dopasowania do dokumentów, które mają zostać usunięte.

Przykład:

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

9. Jak wyszukiwać dane w MongoDB

Wykonywanie zapytań o dane w tabeli pomaga zwrócić podzbiór dokumentów w kolekcji (od braku dokumentów do wszystkich dokumentów znajdujących się w kolekcji). „Znajdź ” metoda służy do wykonywania dowolnego zapytania w MongoDB. Pierwszy argument podany po instrukcji find określi dokumenty obliczone lub zwrócone.

Przykład:

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

10. Wyjaśnij, co to jest replika ustawiona w MongoDB

Zestaw replik można nazwać instancją grupy mongo, która obsługuje podobne zestawy danych. W zestawie replik jeden węzeł jest podstawowym, a drugi drugorzędnym. Wszystkie dane są replikowane z węzła głównego do drugiego.

11. Jak działa replikacja w MongoDB?

Replikacja to proces, który wymaga synchronizowania danych na różnych serwerach. Replikacja ma kluczowe znaczenie, ponieważ pomaga zapewnić mniejszą nadmiarowość przy jednoczesnym zwiększeniu dostępności danych. Replikacja ma kluczowe znaczenie, ponieważ pomaga zapobiegać utracie pojedynczych serwerów baz danych z powodu dostępności wielu kopii na różnych serwerach baz danych. Ponadto replikacja umożliwia użytkownikom odzyskanie sprawności po przerwach w działaniu usług i awariach sprzętu.

12. Zaznacz role profilera w MongoDB

Profiler bazy danych w MongoDB pokazuje charakterystyczną wydajność każdej operacji wykonanej na bazie danych. Aby znaleźć zapytania profilerów, które są wolniejsze niż oczekiwano, możesz użyć profilera.

13. Krótko wyjaśnij, jak przenieść stare pliki do katalogu moveChunk w MongoDB?

Tak, stare pliki można przenieść do katalogu moveChunk. Można to zrobić podczas normalnej operacji shard. Pliki utworzone jako kopie zapasowe można usunąć po zakończeniu operacji. Przenoszenie starych plików do katalogu moveChunk pomaga tworzyć i oszczędzać miejsce.

14. Która funkcja jest używana w MongoDB do tworzenia bezpiecznych kopii zapasowych?

W MongoDB podczas tworzenia bezpiecznych kopii zapasowych używane jest kronikowanie.

15. Czym są indeksy w MongoDB?

Indeksy w MongoDB wspierają wykonywanie zapytań. Jeśli indeksy nie są obecne w MongoDB, należy wykonać skanowanie kolekcji, aby przeskanować wszystkie dokumenty w kolekcji i wybrać wszystkie dokumenty zawierające pasującą instrukcję zapytania.

16. Nazwij alternatywy MongoDB

Poniżej znajdują się niektóre alternatywy MongoDB:

  • CouchDB
  • Kasandra
  • Ponownie
  • Hbase
  • Riak

17. Czy MongoDB wymaga dużej ilości pamięci o dostępie swobodnym (RAM)?

Nie, to jest fajna rzecz w MongoDB. Nie potrzebujesz dużej ilości pamięci RAM do działania, ponieważ dynamicznie cofa przydział i przydziela pamięć RAM na podstawie innych wymagań procesu.

18. Ile indeksów domyślnie tworzy MongoDB dla nowej kolekcji?

MongoDB tworzy kolekcję _id domyślnie dla wszystkich nowych kolekcji.

19. Wyjaśnij znaczenie zakrytego zapytania w MongoDB.

Za pomocą objętego zapytania MongoDB może dopasować warunki zapytania i zwrócić wyniki pól przy użyciu tego samego indeksu, ponieważ wszystkie pola zostały już uwzględnione w samym indeksie. Można to zrobić bez zaglądania do używanych dokumentów. Ponadto objęte zapytania są wykonywane szybciej, ponieważ indeksy są czasami przechowywane w pamięci RAM.

20. Co to jest objęte zapytanie?

Zapytanie objęte to takie, które:

  • Pola obliczone w wynikach są podobne do indeksu
  • Pola użyte w sekcji zapytania są częścią indeksów użytych w zapytaniu

21. Co to jest agregacja w MongoDB?

Operacje agregacji pomagają w przetwarzaniu rekordów danych i zwracaniu obliczonych wyników. Operacje agregacji pomagają grupować wartości z różnych dokumentów, wykonywać różne operacje na zgrupowanych danych i zwracać pojedynczy wynik. MongoDB ma trzy alternatywne sposoby przeprowadzania agregacji:

  • Korzystanie z funkcji zmniejszania mapy
  • Korzystanie z potoku agregacji
  • Korzystanie z jednocelowych poleceń i metod agregacji.

22. Wyjaśnij, co to jest replikacja i jak działa w MongoDB?

Replikacja w MongoDB to proces synchronizowania danych między serwerami. Replikacja zwiększa dostępność danych, zapewniając jednocześnie nadmiarowość. Replikacja pomaga zapobiegać utracie przez bazę danych pojedynczego serwera, ponieważ wiele kopii danych znajduje się na różnych serwerach bazy danych. W przypadku przerw w działaniu usług i sprzętu, replikacja awarii pomoże Ci odzyskać sprawność.

23. Podstawowe i dodatkowe zestawy replik w MongoDB

W MongoDB replikacja jest określana jako „single-master”, co oznacza, że ​​tylko jeden węzeł może jednocześnie akceptować operacje zapisu. Węzły podstawowy i główny akceptują zapisy. Wszystkie węzły drugorzędne (slave) są replikowane z węzłów głównych (tylko do odczytu. Mogą być tylko gotowe, ale nie mogą być zapisywane).

24. Wyjaśnij, dlaczego pliki danych w MongoDB są duże

Ze względu na mechanizm wstępnego przydzielania plików danych w celu uniknięcia fragmentacji systemu plików i rezerwowania miejsca, MongoDB ma zwykle bardzo duże pliki danych.

25. Wyjaśnij, czym jest silnik pamięci masowej w MongoDB?

Silnik magazynu jest częścią bazy danych odpowiedzialną za zarządzanie sposobem przechowywania danych na dysku. Na przykład jeden silnik pamięci masowej może obsługiwać wyższą przepustowość dla wszechstronnych operacji zapisu, podczas gdy inny silnik pamięci masowej oferuje lepszą wydajność, zapewniając wydajność podczas obsługi dużych obciążeń

26. Wyjaśnij, jak działa księgowanie w MongoDB

MongoDB przechowuje i stosuje operacje zapisu w dzienniku i pamięci na dysku przed emulacją zmian w plikach danych podczas pracy z dziennikiem. Zapisy dziennika są niepodzielne, co oznacza, że ​​zapewniają spójność we wszystkich plikach dziennika na dysku. MongoDB może utworzyć podkatalog dziennika w określonym katalogu za pomocą dbpath, gdy włączone jest rejestrowanie.

27. Nazwij dwa silniki pamięci używane przez MongoDB

Dwa silniki pamięci używane przez MongoDB to:

  • WiredTiger
  • MMAPv1

28. Wyjaśnij, w jaki sposób blokowanie i transakcje są osiągane w MongoDB

Aby osiągnąć koncepcje blokowania i transakcji w MongoDB, można wykorzystać zagnieżdżanie dokumentów, zwane również dokumentami osadzonymi. Poza tym MongoDB obsługuje operacje atomowe podczas pracy w pojedynczym dokumencie.

29. Co to jest GridFS w MongoDB?

GridFS to specyfikacja pobierania i przechowywania plików, które przekraczają maksymalny zalecany przez BSON rozmiar 16 MB. GridFS dzieli pliki, które przekraczają zwykle zalecany limit, na dwie części lub fragmenty i przechowuje je jako osobne pliki, gdy przekraczają limit pamięci.

30. Wyjaśnij, jak współbieżność wpływa na podstawowe zestawy replik?

MongoDB zawsze zapisuje w głównym oplogu podczas zapisywania do kolekcji w podstawowym podczas replikacji. Podstawowy oplog to specjalny zbiór znajdujący się w lokalnej bazie danych. Dlatego MongoDB musi w takich przypadkach zablokować zarówno lokalną, jak i kolekcje bazy danych.

31. Wyjaśnij znaczenie przestrzeni nazw w odniesieniu do MongoDB

W skrócie przestrzeń nazw nazywana jest konkatenacją nazwy kolekcji i bazy danych. na przykład foss.linux, gdzie foss jest bazą danych, a linux jest kolekcją.

32. Wyjaśnij strukturę ObjectID w MongoDB?

ObjectID to 12-bajtowy typ dokumentu BSON zawierający:

  • Licznik 3-bajtowy
  • 2-bajtowy identyfikator procesu
  • 4-bajtowa wartość przedstawiająca sekundy
  • 3-bajtowy identyfikator maszyny

33. Wyjaśnij, dlaczego MongoDB jest uważane za lepsze niż inne bazy danych SQL.

MongoDB jest znany z tego, że umożliwia wysoce skalowalne i elastyczne struktury dokumentów. Na przykład pojedynczy dokument danych może zawierać pięć kolumn, a inne dokumenty w tej samej kolekcji mogą zawierać dziesięć kolumn. Bazy danych MongoDB są znacznie szybsze niż bazy danych SQL, ponieważ mają wydajne techniki przechowywania i indeksowania.

34. Czy wymienić wszystkie języki, których można używać z MongoDB?

Podczas pisania tych pytań do rozmowy kwalifikacyjnej MongoDB obsługuje następujące oficjalne języki C, C#, Java, C++, Python, PHP, Ruby, Scala, Erlang, Go i Perl. Wszystkie wymienione języki mogą być używane z MongoDB. Nie oznacza to jednak, że w przyszłości można wprowadzić więcej języków obsługujących MongoDB.

35. Czy MongoDB obsługuje ograniczenia klucza obcego?

MongoDB nie obsługuje ograniczeń kluczy obcych i powiązanych relacji

36. Zaznacz punkty, które należy wziąć pod uwagę podczas tworzenia schematu w MongoDB

Należy wziąć pod uwagę podane tutaj punkty:

  • Powinieneś robić sprzężenia w trybie zapisu, a nie w trybie odczytu
  • Jeśli używasz dokumentów razem, zaleca się ich rozdzielenie; jednak połącz obiekty w jeden dokument
  • Zoptymalizuj swój schemat pod kątem częstych przypadków użycia
  • Zawsze upewnij się, że schemat jest zaprojektowany zgodnie z Twoimi wymaganiami
  • W schemacie należy wykonywać złożone agregacje

37. Podaj składnię używaną do tworzenia i upuszczania kolekcji w MongoDB

Składnia używana do tworzenia kolekcji to:db.createCollection(nazwa,opcje)

Składnia używana do usuwania kolekcji to:db.collection.drop()

38. Z czego składa się ObjectID w MongoDB?

ObjectID składa się z następujących komponentów:

  • Identyfikator komputera klienta
  • sygnatura czasowa
  • Identyfikator procesu klienta
  • Licznik zwiększony o 3 bajty

39. Nazwij typy danych używane w MongoDB

MongoDB oferuje szeroki zakres typów danych jako wartości w dokumentach. Dokumenty MongoDB są podobne do obiektów w JavaScript. Oprócz podstawowej natury pary wartości JSON, MongoDB obsługuje również różne dodatkowe typy danych. Główne typy danych w MongoDB to:

  • Boole'a
{"x" : true}
  • Liczba
{"x" : 4}
  • Numer
{"x" : null}
  • Ciąg
{"x" : "foobar"}
  • Data
{"x" : new Date()}
  • Tablica
{"x" : ["a", "b", "c"]}
  • Wyrażenie regularne
{"x" : /foobar/i}
  • Identyfikator obiektu
{"x" : ObjectId()}
  • Dane binarne
Binary data is a concatenation of arbitrary bytes
  • Kod
{"x" : function() { /* ... */ }}
  • Dokument osadzony
{"x" : {"foo" : "bar"}}

40. Kiedy należy używać MongoDB?

MongoDB może być używany do różnych rzeczy. Po pierwsze, budując aplikacje internetowe, możesz skorzystać z MongoDB. Po drugie, MongoDB może być używany do tworzenia aplikacji biznesowych mających na celu szybką ewolucję i eleganckie skalowanie. Deweloperzy budujący skalowalne aplikacje przy użyciu metodyk zwinnych znają MongoDB, ponieważ jest to doskonały wybór do tworzenia skalowalnych aplikacji. Jeśli musisz wykonać następujące czynności, MongoDB powinien być Twoim pierwszym wyborem:

  • Skaluj swoje repozytoria danych do wielu łatwych do zarządzania ogromnych rozmiarów
  • Zmień typ wdrożenia ze względu na szybkie zmiany biznesowe
  • Zarządzaj, wyszukuj i przechowuj dane przy użyciu wymiarów geoprzestrzennych, tekstowych i szeregów czasowych.
  • Wspieraj budowanie szybkiego rozwoju iteracyjnego
  • Skalowanie do wyższych poziomów ruchu zapisu i odczytu – MongoDB obsługuje skalowanie poziome poprzez sharding, dystrybucję danych na różne maszyny i ułatwia operacje o wyższej przepustowości zawierające duże zestawy danych.

Wniosek

Ten artykuł wyczerpująco omówił prawie wszystkie główne pytania, z którymi można się spotkać podczas rozmowy kwalifikacyjnej. Mamy nadzieję, że pytania pomogą Ci odpowiednio przygotować się do kolejnej rozmowy kwalifikacyjnej. Jeśli masz jakieś pominięte pytania, zamieść je w sekcji komentarzy, ponieważ Twoi odbiorcy wiele dla nas znaczą. Dziękuję za przeczytanie.


  1. Redis
  2.   
  3. MongoDB
  4.   
  5. Memcached
  6.   
  7. HBase
  8.   
  9. CouchDB
  1. Usuń osadzony dokument z zagnieżdżonej tablicy dokumentów

  2. Znajdź wszystkie dokumenty w ciągu ostatnich n dni

  3. MongoDB:BŁĄD:proces potomny nie powiódł się, zakończono z błędem numer 14

  4. zapisywanie obrazu do mongodb

  5. Jak mogę zaktualizować wiele dokumentów w manguście?