Top 22 Java Ερωτήσεις συνέντευξης για σχέδια σχεδίασης (2026)
Εδώ είναι Java Ερωτήσεις και απαντήσεις συνέντευξης στο Design Patterns για πιο φρέσκους αλλά και έμπειρους υποψηφίους για να πάρουν τη δουλειά των ονείρων τους.
Ερωτήσεις και Απαντήσεις Συνέντευξης για Μοτίβα Σχεδιασμού για Πρωτοεμφανιζόμενους
1) Εξηγήστε τι είναι Java Μοτίβο σχεδίασης;
Ένα σχέδιο σχεδίασης είναι μια στρατηγική ανεξάρτητη γλώσσα για την επίλυση κοινού αντικειμενοστρεφούς σχεδιαστικού προβλήματος. Περιγράφει πώς να δομηθούν οι κλάσεις για να ικανοποιήσουν μια δεδομένη απαίτηση.
2) Εξηγήστε τι είναι τα μοτίβα σχεδίασης δημιουργίας και το εργοστασιακό μοτίβο;
Δημιουργικό σχέδιο σχεδίασης: Αυτό το μοτίβο χρησιμοποιείται για τον ορισμό και την περιγραφή του τρόπου με τον οποίο δημιουργούνται τα αντικείμενα κατά την έναρξη της κλάσης.
Εργοστασιακό σχέδιο: Το εργοστασιακό μοτίβο χρησιμοποιείται για τη δημιουργία ενός αντικειμένου χωρίς να εκτίθεται η λογική δημιουργίας στον πελάτη και αναφέρεται σε ένα αντικείμενο που δημιουργήθηκε πρόσφατα χρησιμοποιώντας μια κοινή διεπαφή.
👉 Δωρεάν λήψη PDF: Java Ερωτήσεις & Απαντήσεις Συνέντευξης Μοτίβων Σχεδιασμού
3) Ποιο σχέδιο σχεδίασης χρησιμοποιείται για να βρεθεί ένας τρόπος πρόσβασης στα στοιχεία ενός αντικειμένου συλλογής με διαδοχικό τρόπο;
Το μοτίβο Iterator χρησιμοποιείται για να βρει έναν τρόπο πρόσβασης στα στοιχεία ενός αντικειμένου συλλογής με διαδοχικό τρόπο.
4) Πότε χρησιμοποιείται το μοτίβο εντοπισμού υπηρεσίας;
Όταν θέλουμε να εντοπίσουμε διάφορες υπηρεσίες χρησιμοποιώντας το JNDI χρησιμοποιούμε μοτίβο εντοπισμού υπηρεσιών.
5) Αναφέρετε με πόσους τρόπους μπορείτε να δημιουργήσετε μονότονο μοτίβο;
Για να δημιουργήσετε μεμονωμένα αντικείμενα υπάρχουν δύο διάσημοι τρόποι
- Lazy φόρτωση
- Ανυπόμονη φόρτωση

6) Αναφέρετε ποιο μοτίβο χρησιμοποιείται όταν χρειάζεται να αποσυνδέσουμε έναν κοιλιακό μυtracαπό την εφαρμογή του;
Όταν θέλουμε να αποσυνδέσουμε τους κοιλιακούς μαςtracαπό την υλοποίησή του, ώστε τα δύο να μπορούν να ποικίλλουν ανεξάρτητα, χρησιμοποιούμε μοτίβο γέφυρας.
7) Αναφέρετε ποιο σχέδιο σχεδίασης θα είναι χρήσιμο για την προσθήκη νέας λειτουργικότητας σε ένα υπάρχον αντικείμενο;
Ένα μοτίβο διακοσμητή επιτρέπει στον χρήστη να προσθέσει νέα λειτουργικότητα σε ένα υπάρχον αντικείμενο χωρίς να αλλάξει τη δομή του.
8) Εξηγήστε πώς μπορείτε να δημιουργήσετε μια τάξη Singleton στο Java?
Είναι διαδικασία δύο βημάτων,
- Πρώτα κάντε τον κατασκευαστή ιδιωτικό, έτσι ώστε ο νέος τελεστής να μην μπορεί να χρησιμοποιηθεί για να δημιουργήσει την κλάση
- Επιστρέψτε ένα αντικείμενο του αντικειμένου εάν δεν είναι μηδενικό, διαφορετικά δημιουργήστε το αντικείμενο και επιστρέψτε το ίδιο μέσω μιας μεθόδου.
9) Είναι δυνατόν να γράψετε thread safe singleton in Java?
Για να γράψετε νήμα ασφαλή singleton σε Java υπάρχουν πολλοί τρόποι, για παράδειγμα, με τη χρήση στατικής μονότονου στιγμιότυπου που έχει αρχικοποιηθεί κατά τη φόρτωση της κλάσης, γράφοντας singleton χρησιμοποιώντας διπλό κλείδωμα. Java Το Enum είναι ο απλούστερος τρόπος για να δημιουργήσετε ένα νήμα ασφαλές singleton.
10) Αναφέρετε πώς πρέπει να περιγράψει κανείς ένα σχέδιο σχεδίασης;
Για να περιγράψετε ένα σχέδιο σχεδίασης, πρέπει να προσέχετε τα ακόλουθα πράγματα
- Όνομα προτύπου και ταξινόμηση
- Πρόβλημα και λύση
- Συνέπειες: Θα πρέπει επίσης να εξεταστούν οι εναλλακτικές λύσεις που εξαρτώνται από την παραλλαγή και τη γλώσσα
- Γνωρίστε τις χρήσεις: Προσδιορίστε τις χρήσεις στα πραγματικά συστήματα και την αποτελεσματικότητά τους
11) Αναφέρετε γιατί δεν επιτρέπεται η πρόσβαση στη μη στατική μεταβλητή από τη στατική μέθοδο in Java?
Δεν μπορείτε να αποκτήσετε πρόσβαση σε μη στατικά δεδομένα από στατικό περιβάλλον επειδή οι μη στατικές μεταβλητές συσχετίζονται με μια συγκεκριμένη παρουσία ενός αντικειμένου, ενώ η στατική δεν σχετίζεται με καμία παρουσία.
12) Αναφέρετε ποιο μοτίβο είναι χρήσιμο όταν κάποιος πρέπει να περάσει δεδομένα με πολλά χαρακτηριστικά σε μία λήψη από πελάτη σε διακομιστή;
Το μοτίβο αντικειμένου μεταφοράς είναι χρήσιμο όταν κάποιος πρέπει να περάσει δεδομένα με πολλαπλά χαρακτηριστικά σε μία λήψη από τον πελάτη στον διακομιστή.
13) Ονομάστε μερικές από τις οντότητες του μοτίβου DAO;
Ορισμένες από τις οντότητες του DAO περιλαμβάνουν,
- Συγκεκριμένη κλάση αντικειμένου πρόσβασης δεδομένων
- Διεπαφή αντικειμένου πρόσβασης δεδομένων
- Μοντέλο αντικειμένου ή αντικειμένου τιμής
14) Αναφέρετε πότε μπορείτε να χρησιμοποιήσετε το μοτίβο Intercepting;
Το μοτίβο υποκλοπής χρησιμοποιείται όταν πρέπει να κάνετε κάποια προεπεξεργασία ή μεταγενέστερη επεξεργασία με αίτημα ή απάντηση της εφαρμογής.
15) Αναφέρετε πότε να χρησιμοποιήσετε ένα Factory Pattern;
Το εργοστασιακό σχέδιο μπορεί να χρησιμοποιηθεί,
- Όταν μια κλάση δεν γνωρίζει ποια κατηγορία αντικειμένων πρέπει να δημιουργήσει
- Όταν η κλάση καθορίζει τις υποκλάσεις της για να καθορίσει ποια αντικείμενα θα δημιουργήσει
- Στη γλώσσα προγραμματισμού, μπορείτε να χρησιμοποιήσετε εργοστασιακό μοτίβο όπου πρέπει να δημιουργήσετε ένα αντικείμενο οποιασδήποτε υποκλάσης ανάλογα με τα δεδομένα
Μοτίβα σχεδίασης Ερωτήσεις και απαντήσεις συνέντευξης για έμπειρους
16) Εξηγήστε σε μοτίβο singleton εάν είναι καλύτερο να συγχρονιστεί ολόκληρη η μέθοδος getinstance() ή αρκεί απλώς η κρίσιμη ενότητα; Ποιο είναι προτιμότερο;
Syncχρονισμός του συνόλου getinstance() Η μέθοδος είναι δαπανηρή και χρειάζεται μόνο κατά την αρχικοποίηση σε παράδειγμα singleton, για να σταματήσει η δημιουργία μιας άλλης παρουσίας του Singleton. Επομένως, είναι καλύτερο να συγχρονίζετε μόνο το κρίσιμο τμήμα και όχι ολόκληρη τη μέθοδο.
17) Αναφέρετε με πόσους τρόπους μπορείτε να γράψετε την τάξη singleton Java?
Μπορεί κανείς να γράψει singleton class in Java με τέσσερις τρόπους
- Singleton με δημόσιο στατικό τελικό πεδίο αρχικοποιημένο κατά τη φόρτωση της τάξης
- Singleton που δημιουργείται από στατική ένθετη κλάση, που αναφέρεται επίσης ως μοτίβο μονής υποδοχής
- Singleton με συγχρονισμό της μεθόδου get instance ().
- Από Java 5 και μετά χρησιμοποιώντας το Enums
18) Εξηγήστε πώς μπορείτε να αποτρέψετε τη δημιουργία μιας άλλης παρουσίας singleton χρησιμοποιώντας τη μέθοδο clone();
Ο προτιμώμενος τρόπος για να αποτρέψετε τη δημιουργία ενός άλλου στιγμιότυπου ενός singleton είναι να μην εφαρμόσετε τη διεπαφή Cloneable και, αν το κάνετε, απλώς δημιουργήστε μια εξαίρεση από τη μέθοδο clone() "να μην δημιουργήσετε έναν κλώνο κλάσης singleton".
19) Αναφέρετε ποια είναι η διαφορά μεταξύ «ρίψης» και «ρίψης»;
Η λέξη-κλειδί "Throw" χρησιμοποιείται για τη ρητή ρίψη ως εξαίρεση, ενώ η λέξη-κλειδί "Throws" χρησιμοποιείται για τον χειρισμό ελεγμένων εξαιρέσεων για την εκ νέου ενημέρωση του μεταγλωττιστή ότι οι εξαιρέσεις χειρίζονται. Οι ρίψεις πρέπει να χρησιμοποιούνται στον ορισμό της μεθόδου και επίσης κατά την επίκληση της μεθόδου που εγείρει ελεγμένες εξαιρέσεις.
20) Αναφέρετε ποιες κλάσεις στο JDK χρησιμοποιούν μονότονο μοτίβο;
Java.lang.Runtime Οι τάξεις χρησιμοποιούν μονότονο μοτίβο στο JDK.
21) Αναφέρετε ποιος είναι ο περιορισμός της χρήσης μονότονου μοτίβου;
Το μοτίβο singleton διασφαλίζει ότι μια κλάση έχει μόνο μία παρουσία και παρέχει ένα παγκόσμιο σημείο πρόσβασης σε αυτό. Αλλά ταυτόχρονα αυτό γίνεται ο περιορισμός του, καθώς οι περισσότερες κλάσεις σε μια εφαρμογή θα χρειαστεί να δημιουργήσετε πολλαπλές παρουσίες.
22) Αναφέρετε ποια είναι η διαφορά μεταξύ VO και JDO;
Η διαφορά μεταξύ JDO και VO είναι ότι το JDO είναι μια επίμονη τεχνολογία που ανταγωνίζεται τα beans οντοτήτων στην ανάπτυξη εταιρικών εφαρμογών. Σας δίνει τη δυνατότητα να δημιουργήσετε POJO (απλά παλιά αντικείμενα java) και να τα διατηρήσετε στη βάση δεδομένων.
Ενώ το VO αντιπροσωπεύει αντικείμενα αξίας, αντιπροσωπεύει ένα κοιλιακόtracΈνα πρότυπο σχεδίασης t που χρησιμοποιείται σε συνδυασμό με entity beans, jdbc και πιθανώς ακόμη και JDO για την αντιμετώπιση συνηθισμένων προβλημάτων απομόνωσης και συναλλαγών σε εταιρικές εφαρμογές.
Αυτές οι ερωτήσεις συνέντευξης θα βοηθήσουν επίσης στο viva (προφορικά) σας
