sql >> Base de Datos >  >> NoSQL >> MongoDB

Preguntas comunes de la entrevista de MongoDB

Si ha sido preseleccionado con éxito como entrevistado para el tema anterior, le recomendamos que consulte algunas de las preguntas más frecuentes que se proporcionan en esta guía de artículos. Las preguntas de la entrevista de MongoDB están diseñadas a propósito para ayudar a nuestros lectores a familiarizarse con la naturaleza y la forma de las preguntas que pueden encontrar durante una entrevista de MongoDB.

Sin embargo, un punto importante a tener en cuenta es que los buenos entrevistadores rara vez hacen preguntas específicas durante una entrevista. En cambio, ocasionalmente tienden a ser profesionales e impredecibles.

Nota: Ten siempre algún concepto básico del tema antes de una entrevista. Esto le ayudará a responder la mayoría de las preguntas planteadas por el entrevistador o el comité de entrevistas.

Esta guía de artículos mostrará algunas de las preguntas más frecuentes en una entrevista de MongoDB. Por lo tanto, permanezca atento para obtener más información.

Preguntas comunes de la entrevista de MongoDB

A continuación se encuentran algunas de las preguntas más frecuentes de las entrevistas de MongoDB:

1. ¿Qué es MongoDB?

Es una base de datos orientada a documentos que proporciona alta disponibilidad, alto rendimiento y fácil escalabilidad. MongoDB es una base de datos NoSQL.

2. ¿Qué es una base de datos NoSQL?

Una base de datos NoSQL ayuda a proporcionar una forma de recuperar y almacenar datos modelados en todos los demás medios que no sean el uso de relaciones tabulares (aquellas que se usan en bases de datos relacionales). Los diferentes tipos de bases de datos NoSQL son:

  • Valor-clave
  • Orientado a columnas
  • Orientado a documentos
  • Gráfico

3. ¿Qué tipo de base de datos NoSQL es MongoDB?

MongoDB almacena datos en forma de documentos BSON ya que es una base de datos orientada a documentos. Estos documentos BSON se almacenan en una colección.

4. ¿Explicar la fragmentación y lo que significa en MongoDB?

Sharding es una técnica utilizada en MongoDB para almacenar datos en varias máquinas. MongoDB usa fragmentación para admitir la implementación de grandes conjuntos de datos y operaciones de alto rendimiento. Sharding es un enfoque de MongoDB para cumplir con los estándares y demandas del rápido crecimiento de datos. Las particiones de datos horizontales en una base de datos o motor de búsqueda se denominan fragmento de base de datos o fragmento.

5. Nombre algunas de las características clave de MongoDB

  • Lenguaje de consulta expresivo
  • Base de datos escalable altamente ágil
  • Modelos de datos flexibles en forma de documentos
  • Mucho más rápido que otras bases de datos tradicionales.

6. Compare CouchDB y MongoDB en niveles superiores

A pesar de que tanto CouchDB como MongoDB son bases de datos orientadas a la documentación, MongoDB aún se destaca como una mejor opción para las principales aplicaciones que requieren dinamismo en sus consultas y un gran rendimiento. Sin embargo, esto no significa que CouchDB no sea eficiente, ya que también se usa para aplicaciones que ocasionalmente cambian y usan consultas predefinidas.

7. ¿Cómo se agregan datos en MongoDB?

La declaración de sintaxis "insertar" se utiliza para agregar datos a MongoDB. Por ejemplo, para insertar un solo documento, use la siguiente sintaxis de colección:

insertOne

> db.fosslinux.insertOne({“título”:“Por qué amo a Foss”})

Para insertar numerosos documentos en una colección, utilice la siguiente sintaxis:

insertmany

Este método permitirá pasar arreglos a documentos en la base de datos.

8. ¿Cómo se elimina un documento en MongoDB?

La API de CRUD se utiliza en MongoDB con fines de eliminación, ya que proporciona lo siguiente:

deleteOne
deleteMany

Sintaxis que se pueden usar para eliminar uno o varios archivos, respectivamente. Las sintaxis proporcionadas ayudan a filtrar documentos como sus primeros parámetros. Los filtros son vitales ya que especifican los criterios establecidos para compararlos con los documentos establecidos para ser eliminados.

Ejemplo:

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

9. Cómo consultar datos en MongoDB

Consultar datos en una tabla ayuda a devolver un subconjunto de documentos dentro de una colección (desde ningún documento hasta todos los documentos presentes en la colección). El "buscar El método ” se utiliza para realizar cualquier consulta en MongoDB. El primer argumento proporcionado después de la declaración de búsqueda determinará los documentos calculados o devueltos.

Ejemplo:

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

10. Explicar qué es un conjunto de réplicas en MongoDB

Un conjunto de réplicas se puede denominar una instancia de grupo mongo que aloja conjuntos de datos similares. En un conjunto de réplicas, un nodo es principal y el otro es secundario. Todos los datos se replican desde los nodos primarios a los secundarios.

11. ¿Cómo funciona la replicación en MongoDB?

La replicación es el proceso que implica la sincronización de datos entre diferentes servidores. La replicación es clave, ya que ayuda a proporcionar menos redundancia al tiempo que aumenta la disponibilidad de los datos. La replicación es clave, ya que ayuda a evitar que las bases de datos pierdan servidores individuales debido a la disponibilidad de varias copias en diferentes servidores de bases de datos. Además, la replicación permite a los usuarios recuperarse de interrupciones del servicio y fallas de hardware.

12. Resalte los roles del generador de perfiles en MongoDB

Un generador de perfiles de base de datos en MongoDB muestra el rendimiento característico de cada operación realizada en la base de datos. Para encontrar consultas de generadores de perfiles que son más lentas de lo esperado, puede utilizar el generador de perfiles.

13. Explique brevemente cómo mover archivos antiguos al directorio moveChunk en MongoDB.

Sí, los archivos antiguos se pueden mover al directorio moveChunk. Esto se puede hacer durante una operación de fragmento normal. Los archivos realizados como copias de seguridad se pueden eliminar cuando se realizan las operaciones. Mover archivos antiguos al directorio moveChunk ayuda a crear y ahorrar espacio.

14. ¿Qué función se utiliza en MongoDB para crear copias de seguridad seguras?

En MongoDB, se utiliza el registro en diario al crear copias de seguridad seguras.

15. ¿Qué son los índices en MongoDB?

Los índices en MongoDB admiten la ejecución de consultas. Si los índices no están presentes en MongoDB, se debe realizar un escaneo de la colección para escanear todos los documentos de una colección y seleccionar todos los documentos que contengan una declaración de consulta coincidente.

16. Nombre alternativas de MongoDB

A continuación se muestran algunas de las alternativas de MongoDB:

  • CouchDB
  • Casandra
  • Redis
  • Hbase
  • Riak

17. ¿MongoDB requiere mucha memoria de acceso aleatorio (RAM)?

No, esto es lo divertido de MongoDB. No necesita mucha RAM para ejecutarse, ya que desasigna y asigna RAM dinámicamente en función de otros requisitos del proceso.

18. De forma predeterminada, ¿cuántos índices crea MongoDB para una nueva colección?

MongoDB crea la colección _id por defecto para todas las colecciones nuevas.

19. Explique la importancia de una consulta cubierta en MongoDB.

Con la ayuda de la consulta cubierta, MongoDB puede hacer coincidir las condiciones de la consulta y devolver los resultados del campo utilizando el mismo índice, ya que todos los campos ya se han cubierto en el propio índice. Esto se puede hacer sin mirar dentro de los documentos que se están utilizando. Además, las consultas cubiertas se ejecutan más rápido ya que los índices se almacenan ocasionalmente en la RAM.

20. ¿Qué es una consulta cubierta?

Una consulta cubierta es una consulta que:

  • Los campos calculados en los resultados son similares al índice
  • Los campos usados ​​en la sección de consulta son parte de los índices usados ​​en la consulta

21. ¿Qué es la agregación en MongoDB?

Las operaciones de agregación ayudan a procesar registros de datos y devolver los resultados calculados. Las operaciones de agregación ayudan a agrupar valores de diferentes documentos, realizan varias operaciones en los datos agrupados y devuelven un solo resultado. MongoDB tiene tres formas alternativas de realizar la agregación:

  • Uso de la función de reducción de mapa
  • Uso de la canalización de agregación
  • Uso de comandos y métodos de agregación de propósito único.

22. Explique qué es la replicación y cómo funciona en MongoDB.

La replicación en MongoDB es el proceso de sincronizar datos entre servidores. La replicación aumenta la disponibilidad de los datos y, por otro lado, proporciona redundancia. Las ayudas de replicación evitan que una base de datos pierda un solo servidor, ya que varias copias de datos se encuentran en diferentes servidores de base de datos. En caso de interrupciones del servicio y del hardware, la replicación de fallas lo ayudará a recuperarse.

23. Conjuntos de réplicas primarias y secundarias en MongoDB

En MongoDB, la replicación se denomina "maestro único", lo que significa que solo un nodo tiene la capacidad de aceptar operaciones de escritura a la vez. Los nodos principal y maestro aceptan escrituras. Todos los nodos secundarios (esclavos) se replican desde los nodos primarios (solo lectura. Solo pueden estar listos pero no escribir).

24. Explique por qué los archivos de datos en MongoDB son grandes

Debido a su mecanismo para preasignar archivos de datos para evitar la fragmentación del sistema de archivos y reservar espacio, MongoDB tiende a tener archivos de datos muy grandes.

25. Explique qué es un motor de almacenamiento en MongoDB.

Un motor de almacenamiento es una parte de la base de datos responsable de administrar la forma en que se almacenan los datos en el disco. Por ejemplo, un motor de almacenamiento puede admitir un mayor rendimiento para operaciones de escritura versátiles, mientras que otro motor de almacenamiento ofrece un mejor rendimiento, lo que garantiza la eficiencia al manejar cargas de trabajo pesadas.

26. Explicar cómo funciona el registro en diario en MongoDB

MongoDB almacena y aplica los operativos de escritura en el diario y la memoria en disco antes de emular los cambios en los archivos de datos cuando se ejecuta con diario. Las escrituras en el diario son atómicas, lo que significa que generan coherencia en todos los archivos registrados en el disco. MongoDB puede crear un subdirectorio de diario dentro del directorio definido por dbpath siempre que el diario esté habilitado.

27. Nombre los dos motores de almacenamiento utilizados por MongoDB

Los dos motores de almacenamiento utilizados por MongoDB son:

  • Tigre cableado
  • MMAPv1

28. Explicar cómo se logra el bloqueo y la transacción en MongoDB

Para lograr los conceptos de bloqueo y transacción en MongoDB, puede utilizar el anidamiento de documentos, también denominados documentos incrustados. Además, MongoDB admite operaciones atómicas cuando se trabaja dentro de un solo documento.

29. ¿Qué es GridFS en MongoDB?

Un GridFS es una especificación para la recuperación y el almacenamiento de archivos que exceden el tamaño máximo recomendado por BSON de 16 MB. GridFS divide los archivos que exceden el límite normalmente recomendado en dos partes o fragmentos y los almacena como archivos separados cada vez que exceden el límite de almacenamiento.

30. ¿Explicar cómo afecta la simultaneidad a los conjuntos de réplicas principales?

MongoDB siempre escribe en el registro de operaciones principal mientras escribe en una colección en el principal durante la replicación. El oplog principal es una colección especial que se encuentra en la base de datos local. Por lo tanto, MongoDB tiene que bloquear las bases de datos locales y de colecciones en tales casos.

31. Explicar el significado de un espacio de nombres en relación con MongoDB

Un espacio de nombres, en resumen, se conoce como la concatenación del nombre de la colección y la base de datos. por ejemplo, foss.linux siendo foss la base de datos y linux la colección.

32. ¿Explicar la estructura de ObjectID en MongoDB?

Un ObjectID es un tipo de documento BSON de 12 bytes que contiene:

  • Contador de 3 bytes
  • ID de proceso de 2 bytes
  • Valor de 4 bytes que presenta segundos
  • identificador de máquina de 3 bytes

33. Explique cómo se considera que MongoDB es mejor que otras bases de datos SQL.

MongoDB es conocido por permitir estructuras de documentos altamente escalables y flexibles. Por ejemplo, un único documento de datos puede contener cinco columnas y otros documentos de la misma colección pueden contener diez columnas. Las bases de datos MongoDB son mucho más rápidas que las bases de datos SQL ya que tienen técnicas de indexación y almacenamiento eficientes.

34. Nombre todos los idiomas que se pueden usar con MongoDB?

Al escribir estas preguntas de la entrevista, MongoDB admite los siguientes lenguajes oficiales C, C#, Java, C++, Python, PHP, Ruby, Scala, Erlang, Go y Perl. Todos los lenguajes mencionados se pueden usar con MongoDB. Sin embargo, esto no impide que se introduzcan más idiomas en el futuro para admitir MongoDB.

35. ¿MongoDB admite restricciones de clave externa?

MongoDB no admite restricciones de clave externa ni relaciones relacionadas

36. Resalte los puntos que deben tenerse en cuenta al crear un esquema en MongoDB

Los puntos previstos en el presente son obligatorios para ser tomados en consideración:

  • Debe hacer uniones cuando está en escritura, no en modo de lectura
  • Si está utilizando documentos juntos, es recomendable separarlos; sin embargo, combine los objetos en un solo documento
  • Optimiza tu esquema para casos de uso frecuente
  • Asegúrese siempre de que el esquema esté diseñado de acuerdo con sus requisitos
  • Las agregaciones complejas deben hacerse en el esquema

37. Proporcione las sintaxis utilizadas para crear y soltar una colección en MongoDB

La sintaxis utilizada para crear una colección es:db.createCollection(nombre,opciones)

La sintaxis utilizada para eliminar una colección es:db.collection.drop()

38. ¿De qué está compuesto el ObjectID en MongoDB?

ObjectID se compone de los siguientes componentes:

  • ID de máquina del cliente
  • Marca de tiempo
  • ID del proceso del cliente
  • Contador incrementado de 3 bytes

39. Nombre los tipos de datos utilizados en MongoDB

MongoDB ofrece una amplia gama de tipos de datos como valores en los documentos. Los documentos de MongoDB son similares a los objetos en JavaScript. Además de la naturaleza de par de valores esenciales de JSON, MongoDB también admite varios tipos de datos adicionales. Los principales tipos de datos en MongoDB son:

  • Booleano
{"x" : true}
  • Número
{"x" : 4}
  • Nulo
{"x" : null}
  • Cadena
{"x" : "foobar"}
  • Fecha
{"x" : new Date()}
  • matriz
{"x" : ["a", "b", "c"]}
  • Expresión regular
{"x" : /foobar/i}
  • ID de objeto
{"x" : ObjectId()}
  • Datos binarios
Binary data is a concatenation of arbitrary bytes
  • Código
{"x" : function() { /* ... */ }}
  • Documento incrustado
{"x" : {"foo" : "bar"}}

40. ¿Cuándo debería utilizar MongoDB?

MongoDB se puede usar para varias cosas. Primero, al crear aplicaciones de Internet, puede usar MongoDB. En segundo lugar, MongoDB se puede utilizar para crear aplicaciones comerciales destinadas a evolucionar rápidamente y escalar con elegancia. Los desarrolladores que crean aplicaciones escalables utilizando metodologías ágiles están familiarizados con MongoDB, ya que es una excelente opción para crear aplicaciones escalables. Si necesita hacer lo siguiente, MongoDB debería ser su primera opción:

  • Escale sus repositorios de datos a muchos tamaños masivos manejables
  • Evolucione el tipo de implementación debido a los rápidos cambios comerciales
  • Administre, busque y almacene datos utilizando dimensiones geoespaciales, de texto y de series temporales.
  • Apoyar la construcción de un desarrollo iterativo rápido
  • Se escala a niveles más altos de tráfico de escritura y lectura:MongoDB admite el escalado horizontal a través de la fragmentación, la distribución de datos en distintas máquinas y facilita las operaciones de mayor rendimiento que contienen grandes conjuntos de datos.

Conclusión

Este artículo ha cubierto de manera integral casi todas las principales preguntas de la entrevista que uno puede encontrar durante una entrevista. Esperamos que las preguntas le ayuden a prepararse adecuadamente para su próxima entrevista. Si tiene alguna pregunta perdida, publíquela en la sección de comentarios, ya que su audiencia significa mucho para nosotros. Gracias por leer.