sql >> Databáze >  >> NoSQL >> MongoDB

Běžné otázky k rozhovoru MongoDB

Pokud jste byli úspěšně zařazeni do užšího výběru jako pohovor pro výše uvedené téma, doporučujeme prostudovat si některé z často kladených otázek uvedených v tomto průvodci článkem. Otázky rozhovoru MongoDB jsou záměrně navrženy tak, aby pomohly našim čtenářům seznámit se s povahou a formou otázek, s nimiž se mohou během rozhovoru MongoDB setkat.

Je však důležité poznamenat, že dobří tazatelé během pohovoru téměř nekladou konkrétní otázky. Místo toho mají občas tendenci zůstat profesionální a nepředvídatelní.

Poznámka: Před pohovorem vždy mějte nějaký základní koncept tématu. To vám pomůže odpovědět na většinu otázek položených tazatelem nebo pohovorovým výborem.

Tento průvodce článkem ukáže některé z často kladených otázek v rozhovoru s MongoDB. Zůstaňte proto naladěni a dozvíte se více.

Běžné otázky k rozhovoru MongoDB

Níže jsou uvedeny některé z nejčastěji kladených otázek týkajících se rozhovoru s MongoDB:

1. Co je MongoDB?

Je to databáze orientovaná na dokumenty, která poskytuje vysokou dostupnost, vysoký výkon a snadnou škálovatelnost. MongoDB je databáze NoSQL.

2. Co je databáze NoSQL?

Databáze NoSQL pomáhá poskytovat způsob, jak získávat a ukládat modelovaná data všemi jinými prostředky, než je použití tabulkových vztahů (Ty, které se používají v relačních databázích). Různé typy NoSQL databází jsou:

  • Key-Value
  • Zaměřeno na sloupce
  • Zaměřeno na dokumenty
  • Graf

3. Jaký typ databáze NoSQL je MongoDB?

MongoDB skladuje data ve formě dokumentů BSON, protože jde o databázi orientovanou na dokumenty. Tyto dokumenty BSON jsou uloženy ve sbírce.

4. Vysvětlete sharding a co znamená v MongoDB?

Sharding je technika používaná v MongoDB k ukládání dat na více počítačích. MongoDB využívá sharding k podpoře nasazení velkých datových sad a operací s vysokou propustností. Sharding je přístup MongoDB, který splňuje standardy a požadavky rychlého růstu dat. Horizontální datové oddíly v DB nebo vyhledávači se označují jako databázový shard nebo shard.

5. Vyjmenujte některé klíčové vlastnosti MongoDB

  • Expresivní dotazovací jazyk
  • Vysoce agilní škálovatelná databáze
  • Flexibilní datové modely ve formě dokumentů
  • Mnohem rychlejší než jiné tradiční databáze.

6. Porovnejte CouchDB a MongoDB na vyšších úrovních

Přestože jsou CouchDB i MongoDB databáze orientované na dokumentaci, MongoDB stále vyniká jako lepší volba pro hlavní aplikace vyžadující dynamiku ve svých dotazech a skvělé výkony. To však neznamená, že CouchDB není efektivní, protože se také používá pro aplikace, které příležitostně mění a používají předdefinované dotazy.

7. Jak lze přidat data do MongoDB?

Příkaz syntaxe „inserts“ se používá k přidávání dat do MongoDB. Chcete-li například vložit jeden dokument, použijte syntaxi kolekce níže:

insertOne

> db.fosslinux.insertOne({“title“ :„Proč miluji Fosse“})

Chcete-li do kolekce vložit více dokumentů, použijte následující syntaxi:

insertmany

Tato metoda umožní předávání polí do dokumentů v databázi.

8. Jak lze odstranit dokument v MongoDB?

CRUD API se v MongoDB používá pro účely odstranění, protože poskytuje následující:

deleteOne
deleteMany

Syntaxe, které lze použít k odstranění jednoho a mnoha souborů. Poskytnuté syntaxe pomáhají odfiltrovat dokumenty jako jejich první parametry. Filtry jsou životně důležité, protože určují sadu kritérií, která se mají shodovat se sadou dokumentů, které mají být odstraněny.

Příklad:

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

9. Jak dotazovat data v MongoDB

Dotazování na data v tabulce pomáhá vrátit podmnožinu dokumentů v kolekci (od žádných dokumentů po všechny dokumenty v kolekci). „najít ” metoda se používá k provedení jakéhokoli dotazu v MongoDB. První argument zadaný po příkazu find určí vypočítané nebo vrácené dokumenty.

Příklad:

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

10. Vysvětlete, co je sada replik v MongoDB

Sadu replik lze nazvat instancí mongo skupiny, která hostí podobné datové sady. V sadě replik je jeden uzel primární a druhý sekundární. Všechna data se replikují z primárních do sekundárních uzlů.

11. Jak funguje replikace v MongoDB?

Replikace je proces, který zahrnuje synchronizaci dat mezi různými servery. Replikace je klíčová, protože pomáhá zajistit menší redundanci a zároveň zvýšit dostupnost dat. Replikace je klíčová, protože pomáhá zabránit tomu, aby databáze ztratily jeden server kvůli dostupnosti více kopií na různých databázových serverech. Replikace také umožňuje uživatelům zotavit se z přerušení služeb a selhání hardwaru.

12. Zvýrazněte role profilera v MongoDB

Databázový profiler v MongoDB ukazuje charakteristický výkon každé operace provedené proti databázi. Chcete-li najít dotazy profilerů, které jsou pomalejší, než se očekávalo, můžete použít profiler.

13. Stručně vysvětlete, jak přesunout staré soubory do adresáře moveChunk v MongoDB?

Ano, staré soubory lze přesunout do adresáře moveChunk. To lze provést během běžné operace se střepem. Soubory vytvořené jako zálohy lze po dokončení operací smazat. Přesunutí starých souborů do adresáře moveChunk pomáhá vytvářet a šetřit místo.

14. Která funkce se používá v MongoDB k vytváření bezpečných záloh?

V MongoDB se při vytváření bezpečných záloh používá žurnálování.

15. Co jsou indexy v MongoDB?

Indexy v MongoDB podporují provádění dotazů. Pokud indexy nejsou v MongoDB přítomny, je nutné provést skenování kolekce, aby se naskenovaly všechny dokumenty v kolekci a vybraly se všechny dokumenty obsahující odpovídající příkaz dotazu.

16. Pojmenujte alternativy MongoDB

Níže jsou uvedeny některé z alternativ MongoDB:

  • CouchDB
  • Cassandra
  • Redis
  • Hbase
  • Riak

17. Vyžaduje MongoDB hodně paměti RAM (Random-Access Memory)?

Ne, to je ta zábavná věc na MongoDB. Ke spuštění nepotřebujete mnoho paměti RAM, protože dynamicky alokuje a přiděluje RAM na základě jiných požadavků procesu.

18. Kolik indexů vytváří MongoDB ve výchozím nastavení pro novou kolekci?

MongoDB vytvoří kolekci _id ve výchozím nastavení pro všechny nové kolekce.

19. Vysvětlete důležitost skrytého dotazu v MongoDB.

Pomocí pokrytého dotazu může MongoDB odpovídat podmínkám dotazu a vrátit výsledky pole pomocí stejného indexu, protože všechna pole již byla pokryta v samotném indexu. To lze provést, aniž byste museli nahlížet do používaných dokumentů. Pokryté dotazy se také provádějí rychleji, protože indexy jsou příležitostně uloženy v paměti RAM.

20. Co je to krytý dotaz?

Krytý dotaz je dotaz, který:

  • Pole vypočtená ve výsledcích jsou podobná indexu
  • Pole použitá v sekci dotazu jsou součástí indexů použitých v dotazu

21. Co je agregace v MongoDB?

Agregační operace pomáhají při zpracování datových záznamů a vracení vypočtených výsledků. Agregační operace pomáhají seskupit hodnoty z různých dokumentů, provádět různé operace se seskupenými daty a vrátit jeden výsledek. MongoDB má tři alternativní způsoby provádění agregace:

  • Použití funkce map-reduce
  • Použití agregačního kanálu
  • Použití jednoúčelových agregačních příkazů a metod.

22. Vysvětlete, co je replikace a jak funguje v MongoDB?

Replikace v MongoDB je proces synchronizace dat mezi servery. Replikace zvyšuje dostupnost dat a na druhé straně poskytuje redundanci. Pomůcky replikace zabraňují tomu, aby databáze ztratila jediný server, protože více kopií dat je na různých serverech DB. V případě přerušení služeb a hardwaru vám replikace selhání pomůže zotavit se.

23. Primární a sekundární sady replik v MongoDB

V MongoDB je replikace označována jako „single-master“, což znamená, že pouze jeden uzel má schopnost přijímat operace zápisu najednou. Primární a hlavní uzly přijímají zápisy. Všechny sekundární uzly (slave) jsou replikovány z primárních uzlů (pouze pro čtení. Mohou být pouze připraveny, ale nelze je zapisovat).

24. Vysvětlete, proč jsou datové soubory v MongoDB velké

Díky mechanismu předběžného přidělování datových souborů, aby se zabránilo fragmentaci systému souborů a rezervě místa, má MongoDB tendenci mít velmi velké datové soubory.

25. Vysvětlete, co je modul úložiště v MongoDB?

Úložný modul je součástí databáze, která je zodpovědná za správu způsobu, jakým jsou data ukládána na disk. Například jeden modul úložiště může podporovat vyšší propustnost pro všestranné operace zápisu, zatímco jiný modul úložiště nabízí lepší výkon, což zajišťuje efektivitu při zvládání velkého pracovního zatížení

26. Vysvětlete, jak funguje žurnálování v MongoDB

MongoDB ukládá a aplikuje operace zápisu do žurnálu na disku a paměti před emulací změn v datových souborech při spuštění s žurnálováním. Zápisy do žurnálu jsou atomické, což znamená, že zajišťují konzistenci všech žurnálovaných souborů na disku. MongoDB může vytvořit podadresář žurnálu v definovaném adresáři pomocí dbpath, kdykoli je povoleno žurnálování.

27. Pojmenujte dva moduly úložiště používané MongoDB

Dva moduly úložiště používané MongoDB jsou:

  • WiredTiger
  • MMAPv1

28. Vysvětlete, jak je dosaženo uzamčení a transakce v MongoDB

K dosažení konceptů zamykání a transakcí v MongoDB můžete použít vnořování dokumentů, označované také jako vložené dokumenty. Kromě toho MongoDB podporuje atomické operace, kdykoli pracujete v rámci jednoho dokumentu.

29. Co je GridFS v MongoDB?

GridFS je specifikace pro načítání a ukládání souborů, které přesahují maximální doporučenou velikost BSON 16 MB. GridFS rozděluje soubory, které překračují běžně doporučený limit, na dvě části nebo bloky a ukládá je jako samostatné soubory, kdykoli překročí limit úložiště.

30. Vysvětlete, jak souběžnost ovlivňuje primární sady replik?

MongoDB vždy zapisuje do primárního oplogu, zatímco zapisuje do kolekce na primární během replikace. Primární oplog je speciální kolekce nalezená v místní databázi. Proto musí MongoDB v takových případech uzamknout místní databázi i databázi kolekcí.

31. Vysvětlete význam jmenného prostoru ve vztahu k MongoDB

Jmenný prostor je ve stručnosti známý jako zřetězení názvu kolekce a databáze. například foss.linux, kde foss je databáze a linux je kolekce.

32. Vysvětlete strukturu ObjectID v MongoDB?

ObjectID je 12bajtový typ dokumentu BSON obsahující:

  • 3bajtové počítadlo
  • 2bajtové ID procesu
  • 4bajtová hodnota představující sekundy
  • 3bajtový identifikátor počítače

33. Vysvětlete, jak je MongoDB považováno za lepší než jiné databáze SQL.

MongoDB je známý tím, že umožňuje vysoce škálovatelné a flexibilní struktury dokumentů. Jeden datový dokument může například obsahovat pět sloupců a jiné dokumenty ve stejné kolekci mohou obsahovat deset sloupců. Databáze MongoDB jsou mnohem rychlejší než databáze SQL, protože mají efektivní techniky ukládání a indexování.

34. Pojmenujte všechny jazyky, které lze použít s MongoDB?

Při psaní těchto otázek na pohovor podporuje MongoDB následující oficiální jazyky C, C#, Java, C++, Python, PHP, Ruby, Scala, Erlang, Go a Perl. Všechny zmíněné jazyky lze používat s MongoDB. To však nebrání skutečnosti, že v budoucnu může být zavedeno více jazyků pro podporu MongoDB.

35. Podporuje MongoDB omezení cizích klíčů?

MongoDB nepodporuje omezení cizího klíče a související vztahy

36. Zvýrazněte body, které je třeba vzít v úvahu při vytváření schématu v MongoDB

Zde uvedené body je třeba vzít v úvahu:

  • Připojování byste měli provádět v režimu zápisu, nikoli v režimu čtení
  • Pokud dokumenty používáte společně, je vhodné je oddělit; objekty však zkombinujte do jednoho dokumentu
  • Optimalizujte své schéma pro případy častého použití
  • Vždy se ujistěte, že je schéma navrženo v souladu s vašimi požadavky
  • Ve schématu by měly být provedeny komplexní agregace

37. Zadejte syntaxe použité k vytvoření a odstranění kolekce v MongoDB

Syntaxe použitá k vytvoření kolekce je:db.createCollection(name,options)

Syntaxe použitá k odstranění kolekce je:db.collection.drop()

38. Z čeho se skládá ObjectID v MongoDB?

ObjectID se skládá z následujících komponent:

  • ID klientského počítače
  • Časové razítko
  • ID klientského procesu
  • 3bajtové zvýšené počítadlo

39. Pojmenujte datové typy používané v MongoDB

MongoDB nabízí širokou škálu datových typů jako hodnot v dokumentech. Dokumenty MongoDB jsou podobné objektům v JavaScriptu. Kromě základní povahy páru hodnot JSON podporuje MongoDB také různé další typy dat. Hlavní datové typy v MongoDB jsou:

  • Booleovská hodnota
{"x" : true}
  • Číslo
{"x" : 4}
  • Nulé
{"x" : null}
  • Řetězec
{"x" : "foobar"}
  • Datum
{"x" : new Date()}
  • Pole
{"x" : ["a", "b", "c"]}
  • Regulární výraz
{"x" : /foobar/i}
  • ID objektu
{"x" : ObjectId()}
  • Binární data
Binary data is a concatenation of arbitrary bytes
  • Kód
{"x" : function() { /* ... */ }}
  • Vložený dokument
{"x" : {"foo" : "bar"}}

40. Kdy byste měli používat MongoDB?

MongoDB lze použít na různé věci. Za prvé, při vytváření internetových aplikací můžete použít MongoDB. Za druhé, MongoDB lze použít k vytváření obchodních aplikací zaměřených na rychlý vývoj a elegantní škálování. Vývojáři vytvářející škálovatelné aplikace pomocí agilních metodologií znají MongoDB, protože je to vynikající volba pro vytváření škálovatelných aplikací. Pokud potřebujete udělat následující, MongoDB by měla být vaší první volbou:

  • Škálujte svá datová úložiště na mnoho spravovatelných masivních velikostí
  • Rozvíjejte typ nasazení díky rychlým obchodním změnám
  • Spravujte, prohledávejte a ukládejte data pomocí geoprostorových dimenzí, textových dimenzí a dimenzí časových řad.
  • Podpora budování rychlého iterativního vývoje
  • Škáluje na vyšší úrovně zápisu a čtení – MongoDB podporuje horizontální škálování prostřednictvím shardingu, distribuci dat mezi různé počítače a usnadňuje operace s vyšší propustností obsahující velké soubory dat.

Závěr

Tento článek komplexně pokrývá téměř všechny hlavní otázky v rozhovoru, s nimiž se můžete při rozhovoru setkat. Doufáme, že vám tyto otázky pomohou dostatečně se připravit na další pohovor. Pokud máte nějaké zmeškané otázky, napište je prosím do sekce komentářů, protože vaše publikum pro nás hodně znamená. Děkuji za přečtení.


  1. Srovnání Apache HBase vs Apache Cassandra na SSD v cloudovém prostředí

  2. C# mongodb - jak aktualizovat prvky vnořeného pole

  3. Redis – co, proč a jak používat Redis jako primární databázi

  4. Manipulace s vlastní BSON Marshaling