Κορυφαίες 20 ερωτήσεις και απαντήσεις συνέντευξης Neo4j (2025)
Ακολουθούν ερωτήσεις και απαντήσεις συνέντευξης Neo4j για νεοφώτιστους καθώς και έμπειρους υποψηφίους για να πάρουν τη δουλειά των ονείρων τους.
1) Εξηγήστε τι είναι το Neo4j;
Το Neo4j είναι μια βάση δεδομένων γραφημάτων NOSQL ανοιχτού κώδικα, που υλοποιείται σε Java. Αποθηκεύει δεδομένα δομημένα σε γραφήματα και όχι σε πίνακες.
2) Για ποιους λόγους χρησιμοποιείται ευρέως το Neo4j;
Το Neo4j χρησιμοποιείται ευρέως για
- Δεδομένα υψηλής σύνδεσης – Κοινωνικό δίκτυο
- Σύσταση- ( e-comerce)
- Εύρεση Διαδρομών
- Πρώτα Σχήμα Δεδομένων (από κάτω προς τα πάνω)
- Εξέλιξη Σχήματος
- A* (Διαδρομή χαμηλότερου κόστους)
Δωρεάν λήψη PDF: Neo4j Συνέντευξη Ερωτήσεις και Απαντήσεις
3) Αναφέρετε ποια είναι η διαφορά μεταξύ της βάσης δεδομένων γραφημάτων Neo4j και MySQL?
neo4j | MySQL |
---|---|
Αποτελείται από κορυφές και ακμές. Κάθε κορυφή ή κόμβος αντιπροσωπεύει μια βασική τιμή ή χαρακτηριστικό | Στις σχεσιακές βάσεις δεδομένων, τα χαρακτηριστικά προστίθενται σε μορφή απλού πίνακα |
Είναι δυνατή η αποθήκευση δυναμικού περιεχομένου όπως εικόνες, βίντεο, ήχος, | Σε σχεσιακές βάσεις δεδομένων, όπως η MySQL, είναι δύσκολο να αποθηκεύσετε βίντεο, ήχους, εικόνες, |
Έχει τη δυνατότητα για βαθιά αναζήτηση στη βάση δεδομένων χωρίς να επηρεάζει την απόδοση μαζί με αποτελεσματικό χρονισμό | Χρειάζεται περισσότερος χρόνος για την αναζήτηση της βάσης δεδομένων και επίσης άβολος σε σύγκριση με το neo4j |
Μπορούμε να συσχετίσουμε οποιαδήποτε δύο αντικείμενα στο neo4j με τον τρόπο δημιουργίας σχέσης μεταξύ οποιωνδήποτε δύο κόμβων | Δεν υπάρχει σχέση και είναι δύσκολο να χρησιμοποιηθούν για συνδεδεμένα γραφήματα και δεδομένα |
4) Αναφέρετε μερικά από τα σημαντικά χαρακτηριστικά του neo4j;
Μερικά σημαντικά χαρακτηριστικά του neo4j περιλαμβάνει
- Υλοποίηση της σχέσης κατά το χρόνο δημιουργίας, με αποτέλεσμα να μην υπάρχουν κυρώσεις για τα ερωτήματα χρόνου εκτέλεσης
- Συνεχείς διαβάσεις χρόνου για σχέση στο γράφημα τόσο σε πλάτος όσο και σε βάθος λόγω της διπλής σύνδεσης στο επίπεδο αποθήκευσης μεταξύ κόμβων και σχέσεων
- Η σχέση στο Neo4j είναι γρήγορη και καθιστά δυνατή την υλοποίηση και τη χρήση νέων σχέσεων αργότερα για να "συντομεύσετε" και να επιταχύνετε τα δεδομένα τομέα όταν προκύψουν νέες απαιτήσεις
- Μπορεί να κάνει προσωρινή αποθήκευση μνήμης για γραφήματα και παρέχει συμπαγή αποθήκευση, με αποτέλεσμα την αποτελεσματική κλιμάκωση
- Είναι γραμμένο στην κορυφή του JVM
5) Εξηγήστε το ρόλο των δομικών στοιχείων όπως οι κόμβοι, οι σχέσεις, οι ιδιότητες και οι ετικέτες στο Neo4j;
Ο ρόλος των δομικών στοιχείων
- Κόμβοι: Είναι οντότητες
- Σχέση: Συνδέει οντότητες και τομέα δομής
- Ιδιότητες: Αποτελείται από μεταδεδομένα και χαρακτηριστικά
- Ετικέτες: Ομαδοποιεί κόμβους ανά ρόλο
6) Εξηγήστε πώς μπορείτε να εκτελέσετε εντολές CQL στο Neo4j;
Χρησιμοποιείτε την προτροπή "$" για να εκτελέσετε όλες τις εντολές CQL στο Neo4j.
7) Αναφέρετε ποιοι είναι οι διαφορετικοί τύποι κρυφής μνήμης αντικειμένων στο Neo4j;
Υπάρχουν δύο διαφορετικοί τύποι κρυφής μνήμης αντικειμένων στο Neo4j
- Κρυφές μνήμες αναφοράς: Με αυτήν την κρυφή μνήμη, το Neo4j θα χρησιμοποιήσει όση ποσότητα μνήμης σωρού JVM έχει εκχωρηθεί, όση μπορεί να κρατήσει κόμβους και σχέσεις
- Προσωρινές μνήμες υψηλής απόδοσης: Του εκχωρείται ένας ορισμένος μέγιστος χώρος στο σωρό JVM και θα διαγράφει αντικείμενα όποτε μεγαλώνει περισσότερο.
Η σχέση και οι κόμβοι προστίθενται στην κρυφή μνήμη αντικειμένων μόλις αποκτήσουν πρόσβαση
8) Αναφέρετε ποια γλώσσα ερωτήματος χρησιμοποιεί το Neo4j και από τι αποτελείται;
Το Neo4j χρησιμοποιεί τη γλώσσα ερωτημάτων Cypher, η οποία είναι μοναδική για το Neo4j. Η διέλευση του γραφήματος απαιτεί να γνωρίζετε πού θέλετε να ξεκινήσετε (Έναρξη), τους κανόνες που επιτρέπουν τη διέλευση (αντιστοιχία) και ποια δεδομένα περιμένετε πίσω (Επιστροφή). Το βασικό ερώτημα αποτελείται από
- ΕΝΑΡΞΗ n
- ΑΓΩΝΑΣ n-[r]- m
- ΕΠΙΣΤΡΟΦΗ r;
9) Είναι δυνατόν με το Neo4j να μπορείτε να το ρωτήσετε μέσω Διαδικτύου;
Ως εκ τούτου, το Neo4j πήρε RESTful API, μπορείτε να υποβάλετε ερώτημα μέσω διαδικτύου ή μπορείτε να το εκτελέσετε τοπικά. Εκτελείται στο Heroku ή στο Cloud.
10) Εξηγήστε πώς μπορείτε να δημιουργήσετε/διαγράψετε βάσεις δεδομένων στο Neo4j;
Για να διαγράψετε/αφαιρέσετε ολόκληρο τον κατάλογο γραφημάτων μπορείτε να χρησιμοποιήσετε την εντολή rm –rf δεδομένα/* Ως εκ τούτου, το Neo4j δεν αποθηκεύει τίποτα εκτός αυτού.
11) Εξηγήστε πώς το Neo4j μπορεί να είναι χρήσιμο στην ανίχνευση της επίθεσης Brute Force;
Το Neo4J επιτρέπει την αποθήκευση και ανάκτηση πολλαπλών σύνθετων σχέσεων. Η δυνατότητα του Neo4j να εκτελεί σύνθετα ερωτήματα σε πραγματικό χρόνο είναι πραγματικά χρήσιμη για την ταχύτερη αναγνώριση επιθέσεων βίας. Το πιο κρίσιμο πράγμα στην ανίχνευση τέτοιων επιθέσεων είναι η συλλογή επαρκών πληροφοριών για κάθε αίτημα, όπως
- Η πραγματική διεύθυνση IP του πελάτη και όχι ο διακομιστής μεσολάβησης
- Αποτυχία σύνδεσης ή πληροφορίες επιτυχίας απόπειρας
- Timestamp
12) Αναφέρετε πώς γίνεται η ευρετηρίαση στο Neo4j;
Δεν υπήρχε ευρετηρίαση τις προηγούμενες ημέρες για το Neo4j, αλλά αργότερα εισήχθη με τη νέα δυνατότητα Automatic Indexes χρησιμοποιώντας την εντολή
START n=node:node_auto_index(name='abc') RETURN n
13) Αναφέρετε πώς αποθηκεύονται τα αρχεία στο Neo4j;
Το Neo4j αποθηκεύει δεδομένα γραφήματος σε έναν αριθμό διαφορετικών αρχείων αποθήκευσης και κάθε αρχείο αποθήκευσης αποτελείται από τα δεδομένα για ένα συγκεκριμένο μέρος του γραφήματος για παράδειγμα σχέσεις, κόμβους, ιδιότητες κ.λπ. για παράδειγμα Neostore.nodestore.db, neostore.propertystore.db και ούτω καθεξής.
14) Αναφέρετε σε τι χρησιμοποιείται η εντολή Neo4j CQL;
Η εντολή Neo4j CQL μπορεί να χρησιμοποιηθεί για
- Για τη δημιουργία κόμβων με και χωρίς ιδιότητες
- Για να δημιουργήσετε μια σχέση μεταξύ κόμβων με ιδιότητες
- Για να δημιουργήσετε μια σχέση μεταξύ κόμβων χωρίς ιδιότητες
- Για να δημιουργήσετε πολλαπλές ή μεμονωμένες ετικέτες σε έναν κόμβο ή μια σχέση
15) Εξηγήστε σε τι χρησιμοποιείται η εντολή Neo4j CQL MATCH;
Η εντολή CQL MATCH στο NEO4j χρησιμοποιείται για
- Για λήψη δεδομένων σχετικά με ιδιότητες και κόμβους από τη βάση δεδομένων
- Για να λάβετε δεδομένα σχετικά με τη σχέση, τους κόμβους και τις ιδιότητες από τη βάση δεδομένων
16) Εξηγήστε τι είναι η σύνταξη της εντολής MATCH και ποιος είναι ο κανόνας χρήσης της;
Η σύνταξη για την εντολή MATCH είναι
MATCH ( <node-name>:<label-name> )
Ο κανόνας για τη χρήση της εντολής MATCH είναι ότι δεν μπορείτε να χρησιμοποιήσετε αυτήν την εντολή μόνη της για την ανάκτηση δεδομένων από τη βάση δεδομένων, διαφορετικά θα εμφανίσει μη έγκυρο συντακτικό σφάλμα.
17) Εξηγήστε σε τι χρησιμοποιείται η ρήτρα SET στο Neo4j;
Το Neo4j CQL χρησιμοποιεί τον όρο SET για τον ακόλουθο σκοπό
- Ενημέρωση ή Προσθήκη τιμών ιδιοτήτων
- Προσθέστε νέες ιδιότητες στην υπάρχουσα σχέση ή κόμβο
18) Εξηγήστε για ποιο σκοπό χρησιμοποιείται η ρήτρα Neo4j CQL LIMIT;
Ο όρος Neo4j CQL LIMIT χρησιμοποιείται για τον περιορισμό ή το φιλτράρισμα του αριθμού των γραμμών που επιστρέφονται από ένα ερώτημα.
19) Αναφέρετε τη σύνταξη IN Operator στο Neo4i;
Η σύνταξη IN Operator στο NEO4j θα ήταν κάπως έτσι
IN[ <Collection-of-values>]
20) Εξηγήστε πώς το Neo4j αποθηκεύει τα πρωτόγονα παράταξη?
Το Neo4j αποθηκεύει τον πρωτόγονο πίνακα με συμπιεσμένο τρόπο για να εξοικονομήσει χώρο στο δίσκο, για να το κάνει αυτό χρησιμοποιεί έναν αλγόριθμο εξοικονόμησης bit.
Αυτές οι ερωτήσεις συνέντευξης θα βοηθήσουν επίσης στο viva (προφορικά) σας