Κορυφαίες ερωτήσεις συνέντευξης MongoDB

Koryphaies Eroteseis Synenteuxes Mongodb



Το MongoDB είναι ένα σύστημα διαχείρισης βάσεων δεδομένων NoSQL ανοιχτού κώδικα. όχι μόνο παρέχει ευκολία στην αποθήκευση μη δομημένων δεδομένων αλλά και τα διαχειρίζεται. Κάθε φορά που τίθεται το ερώτημα πώς να διαχειριστείτε εκατομμύρια σειρές μη δομημένων δεδομένων, συνιστάται η MongoDB.

Η πρώτη έκδοση του MongoDB κυκλοφόρησε τον Φεβρουάριο του 2007 από 10 γεν Η εταιρεία λογισμικού, αργότερα το 2013, η 10gen άλλαξε το όνομα της εταιρείας σε MongoDB Inc.

Το MongoDB είναι μια βάση δεδομένων NoSQL που χρησιμοποιείται για την αποθήκευση δεδομένων στη φόρμα εγγράφων JSON, λόγω αυτής της δυνατότητας, ένας τεράστιος όγκος μη δομημένων δεδομένων μπορεί εύκολα να αποθηκευτεί και να διαχειριστεί στο MongoDB. Το σύνολο αυτών των εγγράφων που έχουν τα δεδομένα είναι γνωστά ως συλλογές. Και αυτές οι συλλογές είναι παρόμοιες με τους πίνακες που χρησιμοποιούνται σε σχεσιακές βάσεις δεδομένων για την αποθήκευση δεδομένων.







Υπάρχουν πολλοί λόγοι για τους οποίους το MongoDB είναι τόσο δημοφιλές σε σύγκριση με άλλες σχεσιακές βάσεις δεδομένων και βάσεις δεδομένων NoSQL, μερικοί από αυτούς είναι:



  • Οι προγραμματιστές μπορούν να ορίσουν τη δομή σύμφωνα με τα ζεύγη κλειδιών-τιμών
  • Όπως και οι σχεσιακές βάσεις δεδομένων, οι γραμμές και οι στήλες δεν χρειάζονται για τα δεδομένα
  • Η ιεραρχική δομή MongoDB επιτρέπει την αποθήκευση δεδομένων σε μορφή πινάκων και επίσης μπορεί να αποθηκεύσει πολύπλοκα δεδομένα
  • Κάνει τους προγραμματιστές του να διαχειρίζονται εύκολα βάσεις δεδομένων καθώς υποστηρίζει πολλές γλώσσες προγραμματισμού
  • Υποστηρίζει επίσης τις δυνατότητες του gridFS και της αναπαραγωγής

Λόγω της δημοτικότητάς του, υπάρχουν πολλές ευκαιρίες εργασίας για τους προγραμματιστές που εργάζονται με το MongoDB. Αυτό το άρθρο σχετίζεται με τις πιο σημαντικές ερωτήσεις και τις πιο συνηθισμένες ερωτήσεις από πολλούς οργανισμούς με κορυφαία βαθμολογία.



Ερωτήσεις συνέντευξης MongoDB

Οι πιο συχνές ερωτήσεις χωρίζονται σε τρία επίπεδα: Βασικό επίπεδο, Μέσο επίπεδο και Επίπεδο εμπειρογνωμόνων.





Βασικό επίπεδο

Αυτές οι ερωτήσεις σχετίζονται με τις βασικές έννοιες και ορολογίες του MongoDB και σε μια συνέντευξη, αναμένεται ότι κάθε υποψήφιος θα πρέπει να απαντήσει σε αυτές τις ερωτήσεις.

Ερώτηση 1: Τι γνωρίζετε για τις βάσεις δεδομένων NoSQL και τους τύπους τους;
Οι βάσεις δεδομένων NoSQL είναι εκείνες οι βάσεις δεδομένων που δεν αποθηκεύουν δεδομένα σε πίνακες όπως οι βάσεις δεδομένων SQL αντί να αποθηκεύουν δεδομένα σε άλλες μορφές, όπως έγγραφα και φόρμες κλειδιών-τιμών.



Υπάρχουν τέσσερις σημαντικοί τύποι βάσεων δεδομένων NoSQL:

  • Βάσεις δεδομένων εγγράφων: Αυτές οι βάσεις δεδομένων αποθηκεύουν δεδομένα με τη μορφή εγγράφων JSON, αυτά τα έγγραφα συνδυάζονται για να σχηματίσουν συλλογές και αυτές οι συλλογές συνδυάζονται για να σχηματίσουν μια βάση δεδομένων.
  • Βάσεις δεδομένων κλειδιού-τιμής: Αυτές οι βάσεις δεδομένων αποθηκεύουν τα δεδομένα με τη μορφή κλειδιών-τιμών, για παράδειγμα, 'Name = John', σε αυτό το παράδειγμα 'Name' είναι κλειδί και 'John' είναι τιμή.
  • Κατάστημα με ευρεία στήλη: Αυτές οι βάσεις δεδομένων αποθηκεύουν δεδομένα με τη μορφή δυναμικών πινάκων, σε αντίθεση με τις σχεσιακές βάσεις δεδομένων, αυτοί οι πίνακες δεν είναι δομημένοι.
  • Βάσεις δεδομένων γραφημάτων: Αυτές οι βάσεις δεδομένων περιέχουν ακμές και κόμβους. Οι κόμβοι χρησιμοποιούνται για την αποθήκευση πληροφοριών ενώ οι ακμές χρησιμοποιούνται για την εμφάνιση σχέσεων μεταξύ των κόμβων.

Ερώτηση 2: ποιος τύπος βάσης δεδομένων NoSQL είναι το MongoDB;
Η βάση δεδομένων MongoDB ανήκει στις βάσεις δεδομένων εγγράφων, πράγμα που σημαίνει ότι αποθηκεύει δεδομένα σύμφωνα με τα έγγραφα JSON. Δεν ακολουθεί κανένα σχήμα και επιτρέπει την εισαγωγή οποιουδήποτε τύπου δεδομένων σε αυτό.

Ερώτηση 3: Ποια είναι καλύτερη μεταξύ των βάσεων δεδομένων MongoDB και SQL;
Το MongoDB είναι καλύτερο από τις βάσεις δεδομένων SQL με τέτοιο τρόπο ώστε να μπορεί να χειρίζεται μη δομημένα δεδομένα, ενώ οι βάσεις δεδομένων SQL χειρίζονται μόνο δομημένα δεδομένα και τα αποθηκεύουν χωρίς κανέναν περιορισμό σε αντίθεση με τις σχεσιακές βάσεις δεδομένων. Λόγω του χαρακτηριστικού του χωρίς σχήματα, τα ερωτήματα αντιμετωπίζονται γρήγορα στο MongoDB σε σύγκριση με τις βάσεις δεδομένων SQL, καθώς τα δεδομένα δεν τοποθετούνται με τη μορφή πινάκων και σε έναν αριθμό πινάκων αντί για αυτό, τα δεδομένα τοποθετούνται στην ίδια θέση. εύκολο για το ερώτημα να έχει πρόσβαση στα δεδομένα και το MongoDB επιτρέπει στα δεδομένα του να αντιστοιχίζονται σε άλλες γλώσσες προγραμματισμού, γεγονός που παρέχει ευκολία στους χρήστες του να εργαστούν σε αυτά.

Ερώτηση 4: Τι είναι ένα έγγραφο και μια συλλογή στο MongoDB;
Τα δεδομένα αποθηκεύονται στο MongoDB με τη μορφή εγγράφων, στη συνέχεια αυτά τα έγγραφα συνδυάζονται για να σχηματίσουν μια συλλογή και μια σειρά από συλλογές συνδυάζονται για να σχηματίσουν μια βάση δεδομένων. Για να το κατανοήσετε αυτό, εξετάστε ένα παράδειγμα βάσης δεδομένων school_data, μια βάση δεδομένων school_data περιέχει συλλογές που περιέχουν classes_data και επιπλέον, αυτά τα έγγραφα (classes_data) περιέχουν τα δεδομένα των μαθητών (student_data) με τη μορφή εγγράφων.

Ερώτηση 5: Τι είναι οι τύποι δεδομένων MongoDB;
Υπάρχουν πολλοί τύποι δεδομένων που υποστηρίζει το MongoDB:

Σειρά Ο τύπος δεδομένων συμβολοσειράς αποθηκεύει δεδομένα με τη μορφή αλφαβήτων/ χαρακτήρων και πρέπει να είναι 8 byte και να ανήκουν στο UTF-8, για παράδειγμα, Jone.
Ακέραιος αριθμός Αποθηκεύει αριθμούς έως και 64 bit, αλλά το μέγεθος μπορεί να ποικίλλει ανάλογα με τον διακομιστή, για παράδειγμα, 1,54.
Boolean Αυτό χρησιμοποιείται για την αποθήκευση δυαδικών τιμών που μπορεί να είναι είτε 0 είτε 1, για παράδειγμα, ο John είναι στην τάξη; Η απάντησή του είναι είτε ναι είτε όχι.
Διπλό Αυτό αποθηκεύει κυμαινόμενους αριθμούς όπως 22.8.
Πλήκτρα Min/Max Χρησιμοποιείται για τη σύγκριση ελάχιστων και μέγιστων τιμών.
Πίνακες Χρησιμοποιείται για την αποθήκευση πινάκων ή πολλαπλών τιμών σε ένα κλειδί.
Χρονική σήμανση Όταν τροποποιείται οποιοδήποτε έγγραφο, μπορεί να διατηρεί αρχεία τροποποιήσεων.
Αντικείμενο Αυτό αποθηκεύει τα ενσωματωμένα έγγραφα
Μηδενικό Αποθηκεύει μηδενικές τιμές.
Σύμβολο Αυτός είναι ο τύπος συμβολοσειράς και μπορεί να αποθηκεύσει εκείνες τις γλώσσες που σχετίζονται με τα σύμβολα
Ημερομηνία Η τρέχουσα ώρα και ημερομηνία μπορούν να αποθηκευτούν σε αυτούς τους τύπους δεδομένων
Αναγνωριστικό αντικειμένου Τα έγγραφα έχουν μοναδικά αναγνωριστικά, αυτά τα αναγνωριστικά μπορούν να αποθηκευτούν σε αυτόν τον τύπο δεδομένων
Δυαδικά δεδομένα Σε αυτό αποθηκεύονται δυαδικά δεδομένα που είναι επίσης γνωστά ως γλώσσα μηχανής.
Κώδικας Οι κώδικες Javascript αποθηκεύονται σε έγγραφα με τη βοήθεια αυτού του τύπου δεδομένων
Κοινή έκφραση Οποιαδήποτε έκφραση μπορεί να αποθηκευτεί σε αυτόν τον τύπο δεδομένων

Ερώτηση 6: Ποιες είναι οι εναλλακτικές λύσεις στο MongoDB;
Το MongoDB είναι ένας τύπος βάσης δεδομένων NoSQL, με τη βοήθεια της οποίας αποθηκεύονται μεγάλα κατανεμημένα δεδομένα στα έγγραφα BSON. Οι εναλλακτικές λύσεις του MongoDB μπορεί να είναι το Amazon DynamoDB, το Microsoft Azure Cosmos DB, το Couchbase, το PostgreSQL, το Redis και το Cassandra.

Ενδιάμεσο επίπεδο

Αυτές οι ερωτήσεις σχετίζονται περισσότερο με τις προχωρημένες έννοιες παρά με τις βασικές και σε μια συνέντευξη, αναμένεται ότι ένας μέσος υποψήφιος θα πρέπει να απαντήσει σε αυτές τις ερωτήσεις.

Ερώτηση 7: Πώς μπορούμε να συγκρίνουμε MongoDB και SQL σε υψηλό επίπεδο;
Οι βάσεις δεδομένων SQL είναι σχεσιακές βάσεις δεδομένων που αποθηκεύουν δεδομένα με καλά δομημένο και οργανωμένο τρόπο με τη μορφή γραμμών και στηλών που δημιουργούν πίνακες, από την άλλη πλευρά, οι βάσεις δεδομένων MongoDB είναι οι βάσεις δεδομένων NoSQL, οι οποίες αποθηκεύουν δεδομένα στα έγγραφα, αυτά τα έγγραφα είναι συλλογικά γνωστές ως συλλογές και αυτές οι συλλογές συνδυάζονται για να σχηματίσουν μια βάση δεδομένων.

Ερώτηση 8: Υπάρχουν λειτουργίες όπως η διαχείριση συναλλαγών ACID και το κλείδωμα στο MongoDB;
Όχι, από προεπιλογή το MongoDB δεν παρέχει καμία συναλλαγή ACID σε πολλά έγγραφα, ωστόσο, μπορεί να παρέχει την υποστήριξη συναλλαγών ACID σε ένα μόνο έγγραφο.

Ερώτηση 9: Τι είναι η ευρετηρίαση στο MongoDB;
Στο MongoDB, το ευρετήριο είναι μια ειδική δομή δεδομένων που καταλαμβάνει ορισμένα πεδία της βάσης δεδομένων και διατηρεί ορισμένα δεδομένα για τη δημιουργία ευρετηρίου. Το ευρετήριο βελτιώνει την ικανότητα αναζήτησης της βάσης δεδομένων, αντί να αναζητά ένα συγκεκριμένο πράγμα από πολλά έγγραφα, ένας χρήστης μπορεί να μεταβεί απευθείας στο καθορισμένο έγγραφο με τη βοήθεια της ευρετηρίασης.

{
Student_id = 1
Ονομα μαθητή = 'Παύλος'
Χώρα = 'Ηνωμένες Πολιτείες'
}

Στο παραπάνω παράδειγμα, το 'Student_id =1' είναι ένα ευρετήριο, οπότε αν κάποιος πραγματοποιήσει αναζήτηση είτε με Student_id είτε με 1, θα ανοίξει το ακόλουθο έγγραφο.

Ερώτηση 10: Στο MongoDB, μπορεί να δημιουργηθεί ένα ευρετήριο σε ένα πεδίο πίνακα;

Ναι, μπορούμε να δημιουργήσουμε ένα ευρετήριο σε ένα πεδίο πίνακα στο MongoDB και αυτό ευρετηριάζει κάθε τιμή του πίνακα. Στην πραγματικότητα, το MongoDB από μόνο του δημιουργεί το ευρετήριο πολλαπλών κλειδιών και δεν χρειάζεται να το καθορίσετε εάν κάποιο πεδίο ευρετηρίου είναι πίνακας.

Ερώτηση 11: Είναι δυνατή η εκτέλεση πολλαπλών λειτουργιών Javascript σε μία μόνο παρουσία MongoDB;
Είναι δυνατή η εκτέλεση πολλαπλών λειτουργιών Javascript σε μία μόνο παρουσία mongod επειδή στην έκδοση 2.4 του MongoDB V8 προστίθεται η μηχανή Javascript.

Ερώτηση 12: Τι είναι το journaling στο MongoDB;
Όταν το journaling είναι ενεργοποιημένο στο MongoDB, δημιουργεί έναν υποκατάλογο του Journal, μέσα στον κατάλογο του /data/db , που είναι η διαδρομή που ορίζεται από το dbPath, από προεπιλογή. Ενώ εκτελείται το journaling, το MongoDB επεξεργάζεται και αποθηκεύει τα δεδομένα στη μνήμη και στο δίσκο, πριν μεταφερθούν οι αλλαγές δεδομένων στο δίσκο. Είναι πολύ χρήσιμο σε περίπτωση που παρουσιαστεί κάποιο σφάλμα λόγω του οποίου δεν έχουν αποθηκευτεί αλλαγές στα δεδομένα, το MongoDB μπορεί να ανακτήσει τις αλλαγές από το αρχείο Journal και να διασφαλίσει την ανθεκτικότητα των αρχείων.

Επίπεδο εμπειρογνωμόνων

Αυτές οι ερωτήσεις σχετίζονται με τις πιο προηγμένες έννοιες του MongoDB, αναμένεται ότι ένας υποψήφιος ειδικός θα πρέπει να απαντήσει σε αυτές τις ερωτήσεις.

Ερώτηση 13: Τι είναι η διαδικασία διαμοιρασμού MongoDB;
Στο MongoDB, η κοινή χρήση είναι η διαδικασία διανομής των δεδομένων μιας τεράστιας βάσης δεδομένων μεταξύ πολλών διακομιστών MongoDB. Έτσι, είναι εύκολο να χειριστείτε τα δεδομένα και επίσης να απαντήσετε στα ερωτήματα με υψηλή ταχύτητα. Το MongoDB υποστηρίζει οριζόντια κλιμάκωση μέσω διαμοιρασμού.

Το σύμπλεγμα MongoDB αποτελείται από τρία μέρη τα οποία είναι θραύσματα ; είναι επίσης γνωστό ως το αντίγραφο και είναι διαθέσιμο σε κάθε διακομιστή, μάνγκο ; ενεργούν ως διερμηνέας μεταξύ του διακομιστή και του θραύσματος, και διακομιστές διαμόρφωσης ; αποθηκεύουν τις ρυθμίσεις διαμόρφωσης του συμπλέγματος και των μεταδεδομένων.

Ερώτηση 14: Τι είναι το scale-out και πώς συμβαίνει στο MongoDB;
Όταν υπάρχουν πολλά δεδομένα σε έναν μόνο κόμβο, οι πολλαπλοί κόμβοι πλησιάζουν τον φορτωμένο κόμβο, για να κατανείμουν το φορτίο του. Αυτή η διαδικασία κοινής χρήσης ενός φορτίου ενός μόνο κόμβου σε διαφορετικούς κόμβους ονομάζεται scale-out και είναι επίσης γνωστή ως οριζόντια κλιμάκωση.

Ερώτηση 15: Πώς μπορούμε να λάβουμε πληροφορίες για τα σχέδια ερωτημάτων χρησιμοποιώντας τη γλώσσα ερωτημάτων MongoDB;
ο εξηγώ() χρησιμοποιείται η εντολή και υποστηρίζει τις λειτουργίες που είναι 'allPlansExecution, executionStats και queryPlanner'. Για παράδειγμα:

db . εστιατόρια . εξηγώ ( 'executionStats' ) . εύρημα (
{ 'κουζίνα' : 1 , 'δήμος' : 'Μπρούκλιν' }
) ;

Στο παραπάνω παράδειγμα, τα δεδομένα του εστιατορίου ανακτώνται από την εντολή εξηγεί().

Ερώτηση 16: Εξηγήστε το MongoDB Aggregation Framework.
Στο MongoDB, η ανάκτηση δεδομένων από διαφορετικές συλλογές και μετά τον υπολογισμό επιστροφή ενός συνδυασμένου αποτελέσματος που είναι γνωστό ως Συνάθροιση. Έχει τρία βήματα, πρώτα, θα λάβει την είσοδο και θα φιλτράρει τα έγγραφα που χρειαζόμαστε από τα έγγραφα χρησιμοποιώντας το $match(), μετά κάνουμε τη δουλειά συγκέντρωσης στις φιλτραρισμένες πληροφορίες χρησιμοποιώντας την ομάδα $group() και, τέλος, ταξινομούμε τα αποτελέσματά μας χρησιμοποιώντας το $sort().

Ερώτηση 17: Είναι δυνατό να κλειδώσετε περισσότερες από μία βάσεις δεδομένων χρησιμοποιώντας τη λειτουργία MongoDB;
Ναι, το MongoDB μπορεί να κλειδώσει περισσότερες από μία βάσεις δεδομένων, για να κλειδώσει πολλές βάσεις αμέσως, χρησιμοποιούμε τη λειτουργία MongoDB db.copyDatabase() , ενώ η λειτουργία, db.repairDatabase() εφαρμόστε ένα καθολικό κλείδωμα κατά την επεξεργασία της βάσης δεδομένων και επίσης περιορίστε άλλες λειτουργίες που πρέπει να υλοποιηθούν μέχρι να αφαιρεθεί.

Ερώτηση 18: Τι είναι το GridFS στο MongoDB;
Τα μεγάλα αρχεία που υπερβαίνουν τα 16 MB, όπως εικόνες, αρχεία βίντεο και αρχεία ήχου, διαχειρίζονται στο MongoDB χρησιμοποιώντας το GridFS και αποθηκεύονται σε μέρη και κομμάτια του αρχείου αντί για ένα μεμονωμένο έγγραφο, από προεπιλογή το MongoDB υποστηρίζει μόνο δύο μορφές που είναι fs. αρχεία και fs.chunks για αποθήκευση κομματιών και μεταδεδομένων αρχείων.

Ερώτηση 19: Πώς μπορείτε να περιγράψετε τα φαινόμενα αναπαραγωγής στο MongoDB;
Η αναπαραγωγή είναι η διαδικασία συγχρονισμού δεδομένων μεταξύ πολλών διακομιστών, ενώ η MongoDB αντιγράφει τα δεδομένα και τα αναπαράγει σε διαφορετικούς διακομιστές, οπότε σε περίπτωση σφάλματος διακομιστή, τα δεδομένα μπορούν να ανακτηθούν από οποιονδήποτε άλλο διακομιστή που διασφαλίζει την ασφάλεια των δεδομένων.

Ερώτηση 20: Τι είναι το Mongo Shell;
Το mongo shell είναι μια πλατφόρμα JavaScript, μέσω της οποίας μπορούμε να αλληλεπιδράσουμε με το MongoDB και μπορούμε επίσης να κάνουμε τροποποιήσεις στα δεδομένα χρησιμοποιώντας τα ερωτήματα. Χρησιμοποιείται επίσης για διοικητικούς σκοπούς, όπως η διατήρηση των παρουσιών της βάσης δεδομένων. Από προεπιλογή, το mongo shell περιλαμβάνεται στο αρχείο εγκατάστασης, αλλά αν δεν είναι εγκατεστημένο, μπορείτε να το εγκαταστήσετε από τον διακομιστή MongoDB.

συμπέρασμα

Το MongoDB είναι μια δημοφιλής βάση δεδομένων NoSQL, η οποία χρησιμοποιείται για τη διαχείριση δεδομένων με τη μορφή εγγράφων και είναι πολύ εύκολος ο χειρισμός της καθώς είναι χωρίς σχήματα. Χρησιμοποιείται από πολλές γνωστές εταιρείες όπως το Twitter και το Facebook. Λόγω της δημοτικότητάς του, υπάρχουν πολλές ευκαιρίες εργασίας για τους προγραμματιστές που εργάζονται στη διεπαφή MongoDB. Σε αυτό το άρθρο, οι πιο συχνές ερωτήσεις συνέντευξης στο MongoDB έχουν κοινοποιηθεί με τις κατάλληλες απαντήσεις.