Κορυφαίες ερωτήσεις συνέντευξης 22 Java Design Patterns & Απαντήσεις

Anonim

Λήψη PDF

1) Εξηγήστε τι είναι το Java Design Pattern;

Ένα σχέδιο σχεδιασμού είναι μια ανεξάρτητη από τη γλώσσα στρατηγική για την επίλυση κοινών αντικειμενοστρεφών προβλημάτων σχεδιασμού. Περιγράφει πώς να δομήσετε τάξεις για να ικανοποιήσετε μια δεδομένη απαίτηση.

2) Εξηγήστε τι είναι τα σχέδια δημιουργικής σχεδίασης και το εργοστάσιο;

Σχέδιο δημιουργικής σχεδίασης : Αυτό το μοτίβο χρησιμοποιείται για τον καθορισμό και την περιγραφή του τρόπου δημιουργίας αντικειμένων κατά την ώρα της κατηγορίας.

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

3) Ποιο σχέδιο σχεδίασης χρησιμοποιείται για να αποκτήσετε έναν τρόπο πρόσβασης στα στοιχεία ενός αντικειμένου συλλογής με διαδοχικό τρόπο;

Το μοτίβο Iterator χρησιμοποιείται για να πάρει έναν τρόπο πρόσβασης στα στοιχεία ενός αντικειμένου συλλογής με διαδοχικό τρόπο.

4) Όταν χρησιμοποιείται το μοτίβο εντοπισμού υπηρεσίας;

Όταν θέλουμε να εντοπίσουμε διάφορες υπηρεσίες χρησιμοποιώντας το JNDI χρησιμοποιούμε μοτίβο εντοπισμού υπηρεσιών.

5) Αναφέρετε με πόσους τρόπους μπορείτε να δημιουργήσετε μοτίβο singleton;

Για να δημιουργήσετε μεμονωμένα αντικείμενα υπάρχουν δύο διάσημοι τρόποι

  • Τεμπέλη φόρτωση
  • Πρόθυμος φόρτωση

6) Αναφέρετε ποιο μοτίβο χρησιμοποιείται όταν πρέπει να αποσυνδέσουμε μια αφαίρεση από την εφαρμογή του;

Όταν θέλουμε να αποσυνδέσουμε μια αφαίρεση από την εφαρμογή της, ώστε δύο να μπορούν να διαφέρουν ανεξάρτητα, χρησιμοποιούμε το σχέδιο γέφυρας

7) Αναφέρετε ποιο σχέδιο σχεδίασης θα είναι χρήσιμο για την προσθήκη νέων λειτουργιών σε ένα υπάρχον αντικείμενο;

Ένα μοτίβο διακοσμητή επιτρέπει στον χρήστη να προσθέσει νέες λειτουργίες σε ένα υπάρχον αντικείμενο χωρίς να αλλάξει τη δομή του.

8) Εξηγήστε πώς μπορείτε να δημιουργήσετε μια τάξη Singleton στην Java;

Είναι διαδικασία δύο βημάτων,

  • Πρώτα, κάντε τον κατασκευαστή ιδιωτικό, ώστε να μην μπορεί να χρησιμοποιηθεί νέος χειριστής για να δημιουργήσει την τάξη
  • Επιστρέψτε ένα αντικείμενο του αντικειμένου, αν όχι μηδέν, δημιουργήστε το αντικείμενο και επιστρέψτε το ίδιο μέσω μιας μεθόδου.

9) Είναι δυνατόν να γράψετε ένα νήμα ασφαλές singleton στην Java;

Για να γράψετε ένα νήμα ασφαλές singleton στην Java υπάρχουν πολλοί τρόποι για παράδειγμα χρησιμοποιώντας στατικό singleton instance που αρχικοποιήθηκε κατά τη φόρτωση της τάξης, γράφοντας singleton χρησιμοποιώντας διπλό ελεγχόμενο κλείδωμα. Το Java Enum είναι ο απλούστερος τρόπος για να δημιουργήσετε ένα μόνο νήμα ασφαλές.

10) Αναφέρετε πώς πρέπει να περιγράψετε ένα σχέδιο σχεδίασης;

Για να περιγράψετε ένα σχέδιο σχεδίασης, πρέπει να προσέξετε τα ακόλουθα πράγματα

  • Όνομα και ταξινόμηση μοτίβου
  • Πρόβλημα και λύση
  • Συνέπειες: Θα πρέπει επίσης να αντιμετωπιστούν εναλλακτικές λύσεις που εξαρτώνται από τη διαφοροποίηση και τη γλώσσα
  • Γνωρίστε τις χρήσεις: Προσδιορίστε τις χρήσεις στα πραγματικά συστήματα και την αποτελεσματικότητά του

11) Αναφέρετε γιατί η πρόσβαση στη μη στατική μεταβλητή δεν επιτρέπεται από τη στατική μέθοδο στην Java;

Δεν μπορείτε να αποκτήσετε πρόσβαση σε μη στατικά δεδομένα από στατικό περιβάλλον, επειδή η μη στατική μεταβλητή σχετίζεται με μια συγκεκριμένη παρουσία ενός αντικειμένου, ενώ η στατική δεν σχετίζεται με καμία παρουσία.

12) Αναφέρετε ποιο μοτίβο είναι χρήσιμο όταν κάποιος πρέπει να μεταβιβάσει δεδομένα με πολλαπλά χαρακτηριστικά σε μία λήψη από πελάτη σε διακομιστή;

Η μεταφορά αντικειμένου μοτίβου είναι χρήσιμη όταν κάποιος πρέπει να μεταβιβάσει δεδομένα με πολλά χαρακτηριστικά σε μία λήψη από τον πελάτη στον διακομιστή.

13) Ονομάστε μερικές από τις οντότητες του μοτίβου DAO;

Μερικές από τις οντότητες του DAO περιλαμβάνουν,

  • Κατηγορία συγκεκριμένων αντικειμένων πρόσβασης δεδομένων
  • Διεπαφή αντικειμένου πρόσβασης δεδομένων
  • Αντικείμενο μοντέλου ή αντικείμενο αξίας

14) Αναφέρετε πότε μπορείτε να χρησιμοποιήσετε το μοτίβο παρακολούθησης;

Το μοτίβο αναχαίτισης χρησιμοποιείται όταν πρέπει να κάνετε κάποια προ-επεξεργασία ή μετά την επεξεργασία με αίτημα ή απάντηση της εφαρμογής.

15) Αναφέρετε πότε να χρησιμοποιήσετε ένα Factory Factory;

Το εργοστάσιο μπορεί να χρησιμοποιηθεί,

  • Όταν μια τάξη δεν γνωρίζει ποια κατηγορία αντικειμένων πρέπει να δημιουργήσει
  • Όταν η κλάση καθορίζει τις υποκατηγορίες της για να καθορίσει ποια αντικείμενα θα δημιουργηθούν
  • Στη γλώσσα προγραμματισμού, μπορείτε να χρησιμοποιήσετε το εργοστασιακό μοτίβο όπου πρέπει να δημιουργήσετε ένα αντικείμενο οποιασδήποτε υποκατηγορίας ανάλογα με τα δεδομένα δεδομένα

16) Εξηγήστε σε μονότονο μοτίβο εάν είναι καλύτερο να κάνετε ολόκληρη τη μέθοδο getinstance () συγχρονισμένη ή απλώς κρίσιμη ενότητα είναι αρκετή; Ποιο είναι προτιμότερο;

Ο συγχρονισμός ολόκληρης της μεθόδου getinstance () είναι δαπανηρός και απαιτείται μόνο κατά την αρχικοποίηση στην παρουσία singleton, για να σταματήσει η δημιουργία μιας άλλης παρουσίας του Singleton. Επομένως, είναι καλύτερο να συγχρονίζετε μόνο κρίσιμη ενότητα και όχι ολόκληρη τη μέθοδο.

17) Αναφέρετε με πόσους τρόπους μπορείτε να γράψετε μαθήματα singleton στην Java;

Κάποιος μπορεί να γράψει τάξη singleton στην Java με τέσσερις τρόπους

  • Singleton με δημόσιο στατικό τελικό πεδίο που αρχικοποιήθηκε κατά τη φόρτωση της τάξης
  • Το Singleton δημιουργήθηκε από στατική ένθετη τάξη, που αναφέρεται επίσης ως μοτίβο κατόχου singleton
  • Singleton συγχρονίζοντας τη μέθοδο get instance ()
  • Από το Java 5-wards χρησιμοποιώντας το Enums

18) Εξηγήστε πώς μπορείτε να αποτρέψετε τη δημιουργία μιας άλλης παρουσίας του singleton χρησιμοποιώντας τη μέθοδο clone ();

Ο προτιμώμενος τρόπος για να αποτρέψετε τη δημιουργία μιας άλλης παρουσίας ενός singleton είναι να μην εφαρμόσετε τη διεπαφή Cloneable και εάν απλώς ρίξετε μια εξαίρεση από τη μέθοδο κλώνου () «να μην δημιουργήσετε έναν κλώνο της κατηγορίας singleton»

19) Αναφέρετε ποια είναι η διαφορά μεταξύ «ρίψης» και «ρίψεων»;

Η λέξη-κλειδί "Throw" χρησιμοποιείται για ρητή ρίψη ως εξαίρεση, ενώ το "Throws" χρησιμοποιείται για το χειρισμό ελεγμένων εξαιρέσεων για εκ νέου εκτίμηση του μεταγλωττιστή ότι οι εξαιρέσεις αντιμετωπίζονται. Οι ρίψεις πρέπει να χρησιμοποιηθούν στον ορισμό της μεθόδου και επίσης κατά την επίκληση της μεθόδου που δημιουργεί ελεγμένες εξαιρέσεις

20) Αναφέρετε ποιες τάξεις στο JDK χρησιμοποιεί μοτίβο singleton;

Τα μαθήματα Java.lang.Runtime χρησιμοποιούν μοναδικό μοτίβο στο JDK.

21) Αναφέρετε ποιος είναι ο περιορισμός της χρήσης μονού μοτίβου;

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

22) Αναφέρετε ποια είναι η διαφορά μεταξύ VO και JDO;

Η διαφορά μεταξύ JDO και VO είναι ότι το JDO είναι μια επίμονη τεχνολογία που ανταγωνίζεται τους κόκκους οντοτήτων στην ανάπτυξη εφαρμογών επιχειρήσεων. Σας επιτρέπει να δημιουργήσετε POJO (απλά παλιά αντικείμενα java) και να τα διατηρήσετε στη βάση δεδομένων.

Ενώ το VO σημαίνει αντικείμενα αξίας αντιπροσωπεύει ένα αφηρημένο σχέδιο σχεδίασης που χρησιμοποιείται σε συνδυασμό με φασόλια οντοτήτων, jdbc και πιθανώς ακόμη και JDO για να ξεπεραστούν τα προβλήματα απομόνωσης και συναλλαγών που εντοπίστηκαν συνήθως σε εταιρικές εφαρμογές.