MongoDB
 sql >> Base de Dados >  >> NoSQL >> MongoDB

Perguntas comuns da entrevista do MongoDB


Se você foi selecionado com sucesso como entrevistado para o assunto acima, recomendamos verificar algumas das perguntas mais frequentes fornecidas neste guia de artigos. As perguntas da entrevista do MongoDB são projetadas propositadamente para ajudar nossos leitores a se familiarizarem com a natureza e a forma das perguntas que podem encontrar durante uma entrevista do MongoDB.

No entanto, um ponto importante a ser observado é que bons entrevistadores dificilmente fazem perguntas específicas durante uma entrevista. Em vez disso, eles ocasionalmente tendem a permanecer profissionais e imprevisíveis.

Observação: Sempre tenha algum conceito básico do assunto antes de uma entrevista. Isso o ajudará a responder à maioria das perguntas feitas pelo entrevistador ou pelo comitê de entrevista.

Este guia de artigos mostrará algumas das perguntas mais frequentes em uma entrevista do MongoDB. Portanto, fique atento para saber mais.

Perguntas comuns da entrevista do MongoDB


Abaixo estão algumas das perguntas mais frequentes da entrevista do MongoDB:

1. O que é MongoDB?


É um banco de dados orientado a documentos que oferece alta disponibilidade, alto desempenho e fácil escalabilidade. MongoDB é um banco de dados NoSQL.

2. O que é um banco de dados NoSQL?


Um banco de dados NoSQL ajuda a fornecer uma maneira de recuperar e armazenar dados modelados em todos os outros meios que não sejam o uso de relações tabulares (aquelas usadas em bancos de dados relacionais). Diferentes tipos de bancos de dados NoSQL são:
  • Valor-chave
  • Orientada a colunas
  • Orientado a Documentos
  • Gráfico

3. Que tipo de banco de dados NoSQL é o MongoDB?


O MongoDB armazena dados na forma de documentos BSON, pois é um banco de dados orientado a documentos. Esses documentos BSON são armazenados em uma coleção.

4. Explique a fragmentação e o que ela significa no MongoDB?


Sharding é uma técnica usada no MongoDB para armazenar dados em várias máquinas. O MongoDB usa sharding para dar suporte à implantação de grandes conjuntos de dados e operações de alto rendimento. Sharding é uma abordagem do MongoDB para atender aos padrões e demandas do rápido crescimento de dados. As partições de dados horizontais em um banco de dados ou mecanismo de pesquisa são chamadas de fragmento de banco de dados ou fragmento.

5. Cite alguns dos principais recursos do MongoDB

  • Linguagem de consulta expressiva
  • Banco de dados escalável altamente ágil
  • Modelos de dados flexíveis na forma de documentos
  • Muito mais rápido do que outros bancos de dados tradicionais.

6. Compare o CouchDB e o MongoDB em níveis mais altos


Apesar de o CouchDB e o MongoDB serem bancos de dados orientados a documentação, o MongoDB ainda se destaca como a melhor escolha para grandes aplicações que exigem dinamismo em suas consultas e ótimos desempenhos. No entanto, isso não significa que o CouchDB não seja eficiente, pois também é usado para aplicativos que ocasionalmente mudam e usam consultas predefinidas.

7. Como adicionar dados no MongoDB?


A instrução de sintaxe “inserts” é usada para adicionar dados ao MongoDB. Por exemplo, para inserir um único documento, use a sintaxe de coleção abaixo:
insertOne

> db.fosslinux.insertOne({“title” :“Por que eu amo Foss”})

Para inserir vários documentos em uma coleção, use a sintaxe abaixo:
insertmany

Este método permitirá a passagem de arrays para documentos no banco de dados.

8. Como excluir um documento no MongoDB?


A API CRUD é usada no MongoDB para fins de exclusão, pois fornece o seguinte:
deleteOne
deleteMany

Sintaxes que podem ser usadas para excluir arquivos únicos e muitos, respectivamente. As sintaxes fornecidas ajudam a filtrar documentos como seus primeiros parâmetros. Os filtros são vitais, pois especificam os critérios definidos para corresponder aos documentos definidos a serem removidos.

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

9. Como consultar dados no MongoDB


Consultar dados em uma tabela ajuda a retornar um subconjunto de documentos dentro de uma coleção (de nenhum documento a todos os documentos presentes na coleção). O “encontrar ” é usado para realizar qualquer consulta no MongoDB. O primeiro argumento fornecido após a instrução find determinará os documentos computados ou retornados.

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

10. Explique o que é um conjunto de réplicas no MongoDB


Um conjunto de réplicas pode ser denominado uma instância do grupo mongo que hospeda conjuntos de dados semelhantes. Em um conjunto de réplicas, um nó é primário e o outro é secundário. Todos os dados são replicados dos nós primários para os secundários.

11. Como funciona a replicação no MongoDB?


A replicação é o processo que envolve a sincronização de dados entre diferentes servidores. A replicação é fundamental, pois ajuda a fornecer menos redundância enquanto aumenta a disponibilidade de dados. A replicação é fundamental, pois ajuda a evitar que os bancos de dados percam servidores únicos devido à disponibilidade de várias cópias em diferentes servidores de banco de dados. Além disso, a replicação permite que os usuários se recuperem de interrupções de serviço e falhas de hardware.

12. Destaque as funções do criador de perfil no MongoDB


Um criador de perfil de banco de dados no MongoDB mostra o desempenho característico de cada operação feita no banco de dados. Para localizar consultas de criadores de perfil que são mais lentas do que o esperado, você pode usar o criador de perfil.

13. Explique resumidamente como mover arquivos antigos para o diretório moveChunk no MongoDB?


Sim, arquivos antigos podem ser movidos para o diretório moveChunk. Isso pode ser feito durante uma operação normal de estilhaço. Os arquivos feitos como backups podem ser excluídos quando as operações forem concluídas. Mover arquivos antigos para o diretório moveChunk ajuda a criar e economizar espaço.

14. Qual recurso é usado no MongoDB para criar backups seguros?


No MongoDB, o journaling é usado ao criar backups seguros.

15. O que são índices no MongoDB?


Índices no MongoDB suportam a execução de consultas. Se os índices não estiverem presentes no MongoDB, uma verificação de coleção deverá ser feita para verificar todos os documentos em uma coleção e selecionar todos os documentos que contenham uma instrução de consulta correspondente.

16. Nomeie as alternativas do MongoDB


Abaixo estão algumas das alternativas do MongoDB:
  • CouchDB
  • Cassandra
  • Redis
  • Hbase
  • Riak

17. O MongoDB requer muita memória de acesso aleatório (RAM)?


Não, essa é a parte divertida do MongoDB. Você não precisa de muita RAM para ser executado, pois desaloca e aloca dinamicamente a RAM com base em outros requisitos do processo.

18. Por padrão, quantos índices são criados pelo MongoDB para uma nova coleção?


MongoDB cria a coleção _id por padrão para todas as novas coleções.

19. Explique a importância de uma consulta coberta no MongoDB.


Com a ajuda da consulta coberta, o MongoDB pode corresponder às condições da consulta e retornar os resultados do campo usando o mesmo índice, pois todos os campos já foram cobertos no próprio índice. Isso pode ser feito sem ter que olhar dentro dos documentos que estão sendo usados. Além disso, as consultas cobertas são executadas mais rapidamente, pois os índices são ocasionalmente armazenados na RAM.

20. O que é uma consulta coberta?


Uma consulta coberta é uma consulta que:
  • Os campos calculados nos resultados são semelhantes ao índice
  • Os campos usados ​​na seção de consulta fazem parte dos índices usados ​​na consulta

21. O que é agregação no MongoDB?


As operações de agregação auxiliam no processamento de registros de dados e no retorno dos resultados computados. As operações de agregação ajudam a agrupar valores de diferentes documentos, realizar várias operações nos dados agrupados e retornar um único resultado. O MongoDB tem três maneiras alternativas de realizar a agregação:
  • Usando a função map-reduce
  • Usando o pipeline de agregação
  • Usando comandos e métodos de agregação de propósito único.

22. Explique o que é replicação e como ela funciona no MongoDB?


A replicação no MongoDB é o processo de sincronização de dados entre servidores. A replicação aumenta a disponibilidade dos dados e, por outro lado, fornece redundância. As ajudas de replicação evitam que um banco de dados perca um único servidor, pois várias cópias de dados estão em diferentes servidores de banco de dados. Em caso de interrupções de serviço e hardware, a replicação de falhas ajudará você a se recuperar.

23. Conjuntos de réplicas primárias e secundárias no MongoDB


No MongoDB, a replicação é chamada de “mestre único”, o que significa que apenas um nó tem a capacidade de aceitar operações de gravação por vez. Os nós primário e mestre aceitam gravações. Todos os nós secundários (escravos) são replicados a partir dos nós primários (somente leitura. Eles só podem estar prontos, mas não podem ser escritos).

24. Explique por que os arquivos de dados no MongoDB são grandes


Devido ao seu mecanismo de pré-alocar arquivos de dados para evitar a fragmentação do sistema de arquivos e reservar espaço, o MongoDB tende a ter arquivos de dados muito grandes.

25. Explique o que é um mecanismo de armazenamento no MongoDB?


Um mecanismo de armazenamento é uma parte do banco de dados responsável por gerenciar a maneira como os dados são armazenados no disco. Por exemplo, um mecanismo de armazenamento pode oferecer suporte a uma taxa de transferência mais alta para operações de gravação versáteis, enquanto outro mecanismo de armazenamento oferece melhor desempenho, garantindo eficiência ao lidar com cargas de trabalho pesadas

26. Explique como o journaling funciona no MongoDB


O MongoDB armazena e aplica os operadores de gravação no diário e na memória do disco antes de emular as alterações nos arquivos de dados ao executar com diário. As gravações de diário são atômicas, o que significa que garantem consistência em todos os arquivos registrados em disco. O MongoDB pode criar um subdiretório journal dentro do diretório definido por dbpath sempre que o journaling estiver habilitado.

27. Nomeie os dois mecanismos de armazenamento usados ​​pelo MongoDB


Os dois mecanismos de armazenamento usados ​​pelo MongoDB são:
  • Tigre com fio
  • MMAPv1

28. Explique como o bloqueio e a transação são obtidos no MongoDB


Para alcançar os conceitos de bloqueio e transação no MongoDB, você pode usar o aninhamento de documentos, também conhecido como documentos incorporados. Além disso, o MongoDB suporta operações atômicas sempre que estiver trabalhando em um único documento.

29. O que é GridFS no MongoDB?


Um GridFS é uma especificação para recuperação e armazenamento de arquivos que excedem o tamanho máximo recomendado do BSON de 16 MB. O GridFS divide os arquivos que excedem o limite normalmente recomendado em duas partes ou partes e os armazena como arquivos separados sempre que excederem o limite de armazenamento.

30. Explique como a simultaneidade afeta os conjuntos de réplicas primárias?


O MongoDB sempre grava no oplog primário enquanto grava em uma coleção no primário durante a replicação. O oplog primário é uma coleção especial encontrada no banco de dados local. Portanto, o MongoDB precisa bloquear os bancos de dados locais e de coleções nesses casos.

31. Explicar o significado de um namespace em relação ao MongoDB


Um namespace, em resumo, é conhecido como a concatenação da coleção e do nome do banco de dados. por exemplo, foss.linux com foss sendo o banco de dados e linux sendo a coleção.

32. Explique a estrutura ObjectID no MongoDB?


Um ObjectID é um tipo de documento BSON de 12 bytes que contém:
  • Contador de 3 bytes
  • ID do processo de 2 bytes
  • valor de 4 bytes apresentando segundos
  • identificador de máquina de 3 bytes

33. Explique como o MongoDB é considerado melhor do que outros bancos de dados SQL.


O MongoDB é conhecido por permitir estruturas de documentos altamente escaláveis ​​e flexíveis. Por exemplo, um único documento de dados pode conter cinco colunas e outros documentos na mesma coleção podem conter dez colunas. Os bancos de dados MongoDB são muito mais rápidos que os bancos de dados SQL, pois possuem técnicas eficientes de armazenamento e indexação.

34. Nomeie todos os idiomas que podem ser usados ​​com o MongoDB?


Ao escrever essas perguntas da entrevista, o MongoDB suporta as seguintes linguagens oficiais C, C#, Java, C++, Python, PHP, Ruby, Scala, Erlang, Go e Perl. Todas as linguagens mencionadas podem ser usadas com o MongoDB. No entanto, isso não impede que mais linguagens possam ser introduzidas no futuro para oferecer suporte ao MongoDB.

35. O MongoDB oferece suporte a restrições de chave estrangeira?


MongoDB não suporta restrições de chave estrangeira e relacionamentos relacionados

36. Destaque os pontos que precisam ser considerados ao criar um esquema no MongoDB


Os pontos aqui fornecidos devem ser levados em consideração:
  • Você deve fazer junções quando estiver em modo de gravação, não em modo de leitura
  • Se você estiver usando documentos juntos, é aconselhável separá-los; no entanto, combine os objetos em um único documento
  • Otimize seu esquema para casos de uso frequentes
  • Sempre verifique se o esquema foi projetado de acordo com seus requisitos
  • Agregações complexas devem ser feitas no esquema

37. Forneça as sintaxes usadas para criar e descartar uma coleção no MongoDB


A sintaxe usada para criar uma coleção é:db.createCollection(name,options)

A sintaxe usada para excluir uma coleção é:db.collection.drop()

38. Do que é composto o ObjectID no MongoDB?


ObjectID é composto pelos seguintes componentes:
  • ID de máquina do cliente
  • Carimbo de data e hora
  • ID do processo do cliente
  • Contador incrementado de 3 bytes

39. Nomeie os tipos de dados usados ​​no MongoDB


O MongoDB oferece uma ampla variedade de tipos de dados como valores nos documentos. Os documentos do MongoDB são semelhantes aos objetos em JavaScript. Juntamente com a natureza do par de valores essenciais do JSON, o MongoDB também suporta vários tipos de dados adicionais. Os principais tipos de dados no MongoDB são:
  • Booleano
{"x" : true}
  • Número
{"x" : 4}
  • Nulo
{"x" : null}
  • Sequência
{"x" : "foobar"}
  • Data
{"x" : new Date()}
  • Matriz
{"x" : ["a", "b", "c"]}
  • Expressão regular
{"x" : /foobar/i}
  • ID do objeto
{"x" : ObjectId()}
  • Dados binários
Binary data is a concatenation of arbitrary bytes
  • Código
{"x" : function() { /* ... */ }}
  • Documento incorporado
{"x" : {"foo" : "bar"}}

40. Quando você deve usar o MongoDB?


MongoDB pode ser usado para várias coisas. Primeiro, ao criar aplicativos de Internet, você pode usar o MongoDB. Em segundo lugar, o MongoDB pode ser usado para criar aplicativos de negócios destinados a evoluir rapidamente e dimensionar com elegância. Os desenvolvedores que criam aplicativos escaláveis ​​usando metodologias ágeis estão familiarizados com o MongoDB, pois é uma excelente opção para criar aplicativos escaláveis. Se você precisar fazer o seguinte, o MongoDB deve ser sua primeira escolha:
  • Escale seus repositórios de dados para vários tamanhos massivos gerenciáveis
  • Evolua o tipo de implantação devido às rápidas mudanças nos negócios
  • Gerencie, pesquise e armazene dados usando dimensões geoespaciais, de texto e de série temporal.
  • Apoiar a construção de um desenvolvimento iterativo rápido
  • Escalona para níveis mais altos de tráfego de gravação e leitura – o MongoDB suporta dimensionamento horizontal por meio de fragmentação, distribuição de dados em máquinas distintas e facilita operações de maior taxa de transferência contendo grandes conjuntos de dados.

Conclusão


Este artigo cobriu de forma abrangente quase todas as principais perguntas de entrevista que você pode encontrar em uma entrevista. Esperamos que as perguntas o ajudem a se preparar adequadamente para sua próxima entrevista. Se você tiver alguma pergunta perdida, poste-a na seção de comentários, pois seu público significa muito para nós. Obrigado por ler.