Principais perguntas da entrevista do MongoDB

Principais Perguntas Da Entrevista Do Mongodb



MongoDB é um sistema de gerenciamento de banco de dados NoSQL de código aberto; ele não apenas facilita o armazenamento de dados não estruturados, mas também os gerencia. Sempre que surge a questão de como gerenciar milhões de linhas de dados não estruturados, o MongoDB é recomendado.

A primeira versão do MongoDB foi lançada em fevereiro de 2007 por 10 geração Empresa de software, no final de 2013, 10gen mudou o nome da empresa para MongoDB Inc.

O MongoDB é um banco de dados NoSQL usado para armazenar dados no formulário de documentos JSON devido a esse recurso, uma grande quantidade de dados não estruturados pode ser facilmente armazenada e gerenciada no MongoDB. O conjunto desses documentos contendo os dados são conhecidos como coleções. E essas coleções são semelhantes às tabelas usadas em bancos de dados relacionais para armazenar dados.







Existem muitos motivos pelos quais o MongoDB é tão popular em comparação com outros bancos de dados relacionais e NoSQL, alguns deles são:



  • Os desenvolvedores podem definir a estrutura de acordo com os pares chave-valor
  • Como bancos de dados relacionais, linhas e colunas não são necessárias para os dados
  • A estrutura hierárquica do MongoDB permite armazenar dados em forma de arrays e também pode armazenar dados complexos
  • Faz com que seus desenvolvedores gerenciem bancos de dados facilmente, pois suporta várias linguagens de programação
  • Ele também suporta os recursos de gridFS e replicação

Devido à sua popularidade, há muitas oportunidades de trabalho para os desenvolvedores que trabalham com o MongoDB. Este artigo está relacionado às perguntas mais importantes e comumente feitas por muitas organizações de alto nível.



Perguntas da entrevista do MongoDB

As perguntas mais frequentes são divididas em três níveis: nível básico, nível intermediário e nível especialista.





Nível básico

Essas perguntas estão relacionadas aos conceitos básicos e terminologias do MongoDB e, em uma entrevista, espera-se que todo candidato responda a essas perguntas.

Pergunta 1: o que você sabe sobre bancos de dados NoSQL e seus tipos?
Os bancos de dados NoSQL são aqueles bancos de dados que não armazenam dados em tabelas como os bancos de dados SQL, em vez de armazenar dados em outras formas, como documentos e formulários de valor-chave.



Existem quatro tipos importantes de bancos de dados NoSQL:

  • Bancos de dados de documentos: Esses bancos de dados armazenam dados na forma de documentos JSON, esses documentos se combinam para formar coleções e essas coleções se combinam para formar um banco de dados.
  • Bancos de dados chave-valor: Esses bancos de dados armazenam os dados na forma de valores-chave, por exemplo, “Nome = João”, neste exemplo “Nome” é a chave e “João” é o valor.
  • Loja de coluna larga: Esses bancos de dados armazenam dados na forma de tabelas dinâmicas, ao contrário dos bancos de dados relacionais, essas tabelas não são estruturadas.
  • Bancos de dados gráficos: Esses bancos de dados contêm arestas e nós; os nós são usados ​​para armazenar informações, enquanto as arestas são usadas para mostrar relacionamentos entre os nós.

Pergunta 2: que tipo de banco de dados NoSQL é o MongoDB?
O banco de dados MongoDB pertence aos bancos de dados de documentos, o que significa que ele armazena dados de acordo com os documentos JSON. Não segue nenhum esquema e permite a inserção de qualquer tipo de dado nele.

Pergunta 3: Qual é o melhor entre os bancos de dados MongoDB e SQL?
O MongoDB é melhor do que os bancos de dados SQL, de forma que pode lidar com dados não estruturados, enquanto os bancos de dados SQL lidam apenas com dados estruturados e os armazenam sem qualquer restrição, ao contrário dos bancos de dados relacionais. Devido ao seu recurso sem esquema, as consultas são tratadas rapidamente no MongoDB em comparação com os bancos de dados SQL, pois os dados não são colocados na forma de tabelas e em várias tabelas, em vez disso, os dados são colocados no mesmo local, portanto, fácil para a consulta acessar os dados, e o MongoDB permite que seus dados sejam mapeados em outras linguagens de programação o que proporciona facilidade para seus usuários trabalharem nele.

Pergunta 4: O que é um documento e uma coleção no MongoDB?
Os dados são armazenados no MongoDB na forma de documentos, então esses documentos se combinam para formar uma coleção e várias coleções se combinam para formar um banco de dados. Para entender isso, considere um exemplo de banco de dados de school_data, um banco de dados de school_data contém coleções que possuem classes_data nelas e, além disso, esses documentos (classes_data) contêm os dados dos alunos (student_data) na forma de documentos.

Pergunta 5: Quais são os tipos de dados do MongoDB?
Existem muitos tipos de dados que o MongoDB suporta:

Corda O tipo de dados string armazena dados na forma de letras/caracteres e deve ter 8 bytes e pertencer ao UTF-8, por exemplo, Jone.
inteiro Armazena números de até 64 bits, mas o tamanho pode variar dependendo do servidor, por exemplo, 1,54.
boleano Isso é usado para armazenar valores booleanos que podem ser 0 ou 1, por exemplo, John está na aula? Sua resposta pode ser sim ou não.
Dobro Isso armazena números flutuantes como 22,8.
Teclas Mín/Máx É usado para comparar valores mínimos e máximos.
Matrizes Isso é usado para armazenar matrizes ou vários valores em uma chave.
carimbo de data/hora Quando qualquer documento é modificado, ele pode manter os registros das modificações.
Objeto Isso armazena os documentos incorporados
Nulo Ele armazena valores nulos.
Símbolo Este é o tipo de string e pode armazenar os idiomas relacionados aos símbolos
Encontro A hora e a data atuais podem ser armazenadas nesses tipos de dados
ID do objeto Os documentos têm IDs únicos, esses IDs podem ser armazenados neste tipo de dados
Dados binários Dados binários, também conhecidos como linguagem de máquina, são armazenados nele.
Código Os códigos Javascript são armazenados em documentos com a ajuda deste tipo de dados
Expressão regular Qualquer expressão pode ser armazenada neste tipo de dados

Pergunta 6: Quais são as alternativas ao MongoDB?
O MongoDB é um tipo de banco de dados NoSQL, com a ajuda do qual grandes dados distribuídos são armazenados nos documentos BSON. As alternativas de MongoDB podem ser Amazon DynamoDB, Microsoft Azure Cosmos DB, Couchbase, PostgreSQL, Redis e Cassandra.

Nível intermediário

Essas perguntas estão mais relacionadas aos conceitos avançados do que aos básicos e, em uma entrevista, espera-se que um candidato mediano responda a essas perguntas.

Pergunta 7: Como podemos comparar MongoDB e SQL em alto nível?
Bancos de dados SQL são bancos de dados relacionais que armazenam dados de forma bem estruturada e organizada na forma de linhas e colunas que formam tabelas, já os bancos de dados MongoDB são os bancos de dados NoSQL, que armazenam dados nos documentos, esses documentos são coletivamente conhecidas como coleções, e essas coleções se combinam para formar um banco de dados.

Questão 8: Existem funcionalidades como gerenciamento de transação ACID e bloqueio no MongoDB?
Não, por padrão o MongoDB não fornece nenhuma transação ACID em vários documentos, no entanto, ele pode fornecer o suporte de transações ACID em um único documento.

Pergunta 9: O que é indexação no MongoDB?
No MongoDB, o índice é uma estrutura de dados especial que ocupa alguns campos do banco de dados e contém alguns dados para fazer um índice. O índice melhora a capacidade de pesquisa do banco de dados, em vez de pesquisar uma determinada coisa de muitos documentos, um usuário pode ir diretamente para o documento especificado com a ajuda da indexação.

{
Identidade estudantil = 1
Nome do aluno = 'Paulo'
País = 'Estados Unidos'
}

No exemplo acima, o “Student_id =1” é um índice, portanto, se alguém pesquisar por Student_id ou 1, o seguinte documento será aberto.

Pergunta 10: No MongoDB, um índice pode ser criado em um campo de array?

Sim, podemos criar um índice em um campo de array no MongoDB e ele indexa cada valor do array. Na verdade, o MongoDB sozinho cria o índice multichave e você não precisa especificá-lo se algum campo de índice for um array.

Pergunta 11: É possível executar várias operações Javascript em uma única instância do MongoDB?
É possível executar várias operações Javascript em uma única instância mongod porque na versão 2.4 do MongoDB V8 o mecanismo javascript foi adicionado.

Pergunta 12: O que é registro no diário no MongoDB?
Quando o journaling está habilitado no MongoDB, ele cria um subdiretório de Journal, dentro do diretório de /data/db , que é o caminho definido por dbPath, por padrão. Enquanto o registro no diário está em execução, o MongoDB edita e armazena os dados na memória e no disco, antes que as alterações de dados sejam transferidas para o disco. É muito útil caso ocorra algum erro devido ao qual as alterações nos dados não foram salvas, o MongoDB pode recuperar as alterações do arquivo Journal e garantir a durabilidade dos arquivos.

Nível Especialista

Essas perguntas estão relacionadas aos conceitos mais avançados do MongoDB, espera-se que um candidato especialista responda a essas perguntas.

Pergunta 13: Qual é o processo de fragmentação do MongoDB?
No MongoDB, sharding é o processo de distribuição dos dados de um enorme banco de dados entre muitos servidores MongoDB. Portanto, é fácil lidar com os dados e também pode responder às consultas com alta velocidade. O MongoDB oferece suporte ao dimensionamento horizontal por meio de sharding.

O cluster MongoDB consiste em três partes que são cacos ; também é conhecido como réplica e está disponível em todos os servidores, mangas ; eles agem como o intérprete entre o servidor e o shard, e servidores de configuração ; eles armazenam as definições de configuração do cluster e metadados.

Pergunta 14: O que é scale-out e como ele ocorre no MongoDB?
Quando há muitos dados em um único nodo, os múltiplos nodos se aproximam do nodo carregado, para distribuir sua carga. Esse processo de compartilhar uma carga de um único nó para diferentes nós é chamado de expansão e também é conhecido como escala horizontal.

Questão 15: Como podemos obter informações sobre os planos de consulta usando a linguagem de consulta MongoDB?
o explique() O comando é usado e suporta os modos que são “allPlansExecution, ImplementationStats e queryPlanner”. Por exemplo:

banco de dados . restaurantes . explique ( 'estatísticas de execução' ) . achar (
{ 'cozinha' : 1 , 'bairro' : 'Brooklyn' }
) ;

No exemplo acima, os dados do restaurante são recuperados do comando Explain().

Pergunta 16: Explique a estrutura de agregação do MongoDB.
No MongoDB, busca dados de diferentes coleções e após o cálculo retorna um resultado combinado conhecido como Agregação. Tem três passos, primeiro, ele vai pegar a entrada e filtrar os documentos que precisamos dos documentos usando $match(), depois fazemos o trabalho de agregação nas informações filtradas usando $group() e, finalmente, classificamos nossos resultados usando o $sort().

Questão 17: É possível bloquear mais de um banco de dados usando a operação do MongoDB?
Sim, o MongoDB pode bloquear mais de um banco de dados, para bloquear vários bancos de dados instantaneamente, usamos a operação MongoDB db.copyDatabase() , enquanto a operação, db.repairDatabase() aplicar um bloqueio global na edição do banco de dados e também restringir outras operações a serem implementadas até que ele seja removido.

Pergunta 18: O que é GridFS no MongoDB?
Arquivos grandes que excedem os 16 MBs como imagens, arquivos de vídeo e arquivos de áudio são gerenciados no MongoDB usando o GridFS e armazenados em partes e blocos do arquivo em vez de um único documento, por padrão o MongoDB suporta apenas dois formatos que são fs. arquivos e fs.chunks para armazenar pedaços e metadados de arquivos.

Pergunta 19: Como você pode descrever os fenômenos de replicação no MongoDB?
A replicação é o processo de sincronização de dados entre vários servidores, enquanto o MongoDB copia os dados e os replica para diferentes servidores, portanto, em caso de falha do servidor, os dados podem ser recuperados de qualquer outro servidor que garanta a segurança dos dados.

Pergunta 20: O que é Mongo Shell?
Um shell mongo é uma plataforma JavaScript, por meio da qual podemos interagir com o MongoDB e também fazer modificações nos dados usando as consultas. Também é usado para fins administrativos, como manter as instâncias do banco de dados. Por padrão, o shell mongo está incluído no arquivo de instalação, mas se não estiver instalado, você pode instalá-lo a partir do servidor MongoDB.

Conclusão

O MongoDB é um banco de dados NoSQL popular, usado para gerenciar dados na forma de documentos e é muito fácil de manusear, pois não tem esquema. É usado por muitas empresas conhecidas como Twitter e Facebook. Devido à sua popularidade, existem inúmeras oportunidades de trabalho para os desenvolvedores que trabalham na interface do MongoDB. Neste artigo, as perguntas mais frequentes sobre entrevistas do MongoDB foram compartilhadas com suas respostas apropriadas.