14 Συχνές ερωτήσεις και απαντήσεις συνέντευξης Java [2022]

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

Το 1982, ο James Gosling επένδυσε μια γλώσσα υψηλού επιπέδου Java που ακολουθεί τις αρχές του αντικειμενοστρεφούς προγραμματισμού. Είναι μια από τις πιο δημοφιλείς και ευρέως χρησιμοποιούμενες γλώσσες προγραμματισμού. Οι αρχάριοι και οι επαγγελματίες προγραμματιστές λογισμικού το επιλέγουν ως πιθανή επιλογή σταδιοδρομίας.

Η Java αφορά την κλάση, την κληρονομικότητα, το JSON, τον επαναλήπτη, την απαρίθμηση, τις πτητικές μεταβλητές, τη μεταβατική, την αδρανοποίηση, τη διοχέτευση HTTP και την αφηρημένη κλάση. Προέρχεται από τη σύνταξη από τις γλώσσες προγραμματισμού C++ και C. Ωστόσο, είναι σημαντικό να γνωρίζετε τις ζωτικής σημασίας ερωτήσεις που μπορεί να κάνουν οι συνεντευκτής.

Για να βοηθήσετε τους προγραμματιστές Java, ακολουθούν μερικές από τις σημαντικές ερωτήσεις και απαντήσεις συνέντευξης.

Είναι η Java μια καθαρή αντικειμενοστραφή γλώσσα; Εξήγησε την απάντησή σου.

Όχι, η Java δεν είναι μια καθαρή αντικειμενοστραφή γλώσσα. Υποστηρίζει πρωτόγονους τύπους δεδομένων όπως short, byte, double, float, long, char, boolean κ.λπ. που δεν είναι αντικείμενα. Ωστόσο, ικανοποιεί πολλές από τις αντικειμενοστρεφείς πτυχές.

  Πώς να επαναφέρετε τη λειτουργία αδρανοποίησης στο Ubuntu

Η γλώσσα προγραμματισμού Java δεν εξαρτάται από κανένα λογισμικό και υλικό λόγω του μεταγλωττιστή με το περιβάλλον χρόνου εκτέλεσης (JRE). Ο μεταγλωττιστής Java μεταγλωττίζει τον κώδικα αμέσως και τον μετατρέπει σε κώδικα byte (ανεξάρτητο από την πλατφόρμα). Εξαιτίας αυτού, ο κώδικας μπορεί να εκτελεστεί σε πολλά συστήματα, καθιστώντας τον εξαιρετικά δημοφιλή.

Εξηγήστε τη βασική διαφορά μεταξύ JDK, JRE και JVM.

Java Development KitJava Runtime EnvironmentJava Virtual MachineJDK είναι το εργαλείο που απαιτείται για την τεκμηρίωση, τη μεταγλώττιση και τη συσκευασία προγραμμάτων Java. Ο bytecode Java εκτελείται χρησιμοποιώντας το JRE.JVM είναι μια αφηρημένη μηχανή που παρέχει ένα περιβάλλον χρόνου εκτέλεσης για να διευκολύνει την εκτέλεση του Java bytecode. Έρχεται με ένα εργαλείο ανάπτυξης και JRE. Με αυτό, η υλοποίηση JVM είναι πιο προσιτή και μπορεί να υπάρχει φυσικά. Το JVM περιλαμβάνει περιπτώσεις υλοποίησης, προδιαγραφών και χρόνου εκτέλεσης. Εφαρμόζει πλατφόρμες Java τυπικής έκδοσης, micro edition και εταιρικής έκδοσης. Περιέχει πολλά αρχεία και βιβλιοθήκες, διευκολύνοντας τη χρήση του JVM. Εκτελεί την εκτέλεση κώδικα, την επαλήθευση και τη φόρτωση.

Δώστε μια ματιά στους προσδιοριστές πρόσβασης για τάξεις Java;

Η λέξη-κλειδί που χρησιμοποιεί κάποιος πριν από ένα όνομα κλάσης είναι ο προσδιοριστής πρόσβασης στην Java. Υποδηλώνει το εύρος πρόσβασης χρησιμοποιώντας διαφορετικούς τύπους:

  • Προστατευμένο – Αυτό έχει πρόσβαση σε πεδία ή μεθόδους από την ίδια κλάση και το ίδιο πακέτο (υποκλάσεις ή όπου ανήκουν) αλλά όχι από οποιαδήποτε άλλη κλάση.
  • Ιδιωτικό – Αυτό έχει πρόσβαση στα πεδία ή τις μεθόδους από την ίδια κλάση και από όπου ανήκουν.
  • Δημόσιο – Η μέθοδος, η κλάση και το πεδίο είναι εύκολα προσβάσιμα σε όλο τον κώδικα.
  • Προεπιλογή – Μπορεί κανείς να έχει πρόσβαση στην κλάση, το πεδίο και τη μέθοδο από το ίδιο πακέτο, όχι από το εγγενές πακέτο ή από έξω.
  Πώς να ελέγξετε εάν κάποιος διαβάζει το email σας

Τι εννοείτε με μια τοπική μεταβλητή και μια μεταβλητή παρουσίας;

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

Μεταβλητή παρουσίας – Όλες οι μέθοδοι μπορούν να έχουν πρόσβαση σε αυτές τις μεταβλητές στην κλάση που δηλώνεται εντός και εκτός των μεθόδων. Οι μεταβλητές δείχνουν μια ματιά στις ιδιότητες του αντικειμένου. Μόνο η παρουσία επηρεάζεται χωρίς να επηρεάζονται όλες οι άλλες περιπτώσεις κλάσης σε περίπτωση οποιασδήποτε τροποποίησης.

Τι είναι το JIT Compiler;

Το Just In Time Compiler χρησιμοποιείται για τη βελτίωση της απόδοσης της εφαρμογής που μεταγλωττίζει τον bytecode, μειώνοντας την κατανάλωση χρόνου. Βοηθά επίσης στη μετάφραση του κώδικα από το JVM στο σύνολο εντολών της CPU.

Εξηγήστε την τάξη singleton σε μία γραμμή.

Είναι ένας μοναδικός τύπος κλάσης που αποδίδει μια παρουσία ή ένα αντικείμενο τη φορά.

Τι είναι η κλωνοποίηση αντικειμένων;

Η κλωνοποίηση αντικειμένων σημαίνει τη δημιουργία ενός αντιγράφου κλώνου αντικειμένων Java, βοηθώντας τους προγραμματιστές να το εφαρμόσουν αργότερα. Οι προγραμματιστές Java μπορούν να χρησιμοποιήσουν τη μέθοδο clone() για να εφαρμόσουν εύκολα τη διεπαφή java.lang.Cloneable.

Εξηγήστε τους κατασκευαστές.

Οι κατασκευαστές είναι μπλοκ κώδικα που μπορούν να αρχικοποιήσουν ένα αντικείμενο με το ίδιο όνομα με μια κλάση. Μαζί με αυτό, το αντικείμενο δημιουργείται αυτόματα και δεν έχει τύπο επιστροφής. Έχει δύο είδη κατασκευαστών όπως:

  • Παραμετροποιημένος κατασκευαστής – Ο κατασκευαστής μπορεί να προετοιμάσει τις μεταβλητές στιγμιότυπου που λαμβάνουν τα ορίσματα και χρησιμοποιεί τις παρεχόμενες τιμές.
  • Προεπιλεγμένος κατασκευαστής – Ο κατασκευαστής αρχικοποιεί τις μεταβλητές στιγμιότυπων, δεν δημιουργεί κανένα όρισμα ανάδοχο από προεπιλογή και δεν λαμβάνει εισόδους. Δεν ορίζεται άλλος κατασκευαστής.
  Πώς να παίξετε το Couch Co-Op στο "Animal Crossing: New Horizons" (με One Switch Console)

Ποια είναι η διαφορά μεταξύ == και equals() στην Java;

Ο τελεστής ισότητας (==) είναι ο δυαδικός τελεστής που συγκρίνει αντικείμενα και πρωτόγονα στη γλώσσα προγραμματισμού Java. Η κλάση Object παρέχει τη μέθοδο ως δημόσιο δυαδικό ίσο (Object o). Ταυτόχρονα, η equals() ελέγχει την ισότητα δύο αντικειμένων και ορίζει την κλάση Objects στην Java που ορίζεται από την επιχειρηματική λογική.

Διαφοροποίηση μεταξύ TreeSet και HashSet.

TreeSetHashSetΔιατηρεί τα στοιχεία σε ταξινομημένη σειρά. Τα στοιχεία δεν διατηρούνται σε ταξινόμηση. Επιτρέπει ένα ετερογενές αντικείμενο. Δεν επιτρέπει ένα ετερογενές αντικείμενο. Υλοποιεί τη διεπαφή SortedSet χρησιμοποιώντας δέντρα για αποθήκευση δεδομένων. Υλοποιείται μέσω πίνακα κατακερματισμού.

Εξηγήστε την Εκκίνηση Διπλού Σιδερώματος.

Στην Java, η εκκίνηση διπλής αγκύλης συνδυάζει δύο ανεξάρτητες διεργασίες. Το Double Brace Initialization χρησιμοποιεί δύο άγκιστρα για να δημιουργήσει μια ανώνυμη εσωτερική κλάση και μπλοκ αρχικοποίησης, αντίστοιχα. Ο δείκτης “Αυτός” βοηθά την εσωτερική κλάση να αναφέρεται στην εξωτερική κλάση τόσο για αρχικοποίηση όσο και για δημιουργία σε μία μόνο πρόταση.

Ορισμός Java String Pool.

Η συλλογή των Strings είναι γνωστή ως ταξινόμηση Java String Pool στη μνήμη σωρού, όπου δημιουργείται ένα νέο αντικείμενο. Το String Pool ελέγχει τη διαθεσιμότητα των αντικειμένων και, στη συνέχεια, η ίδια αναφορά επιστρέφεται στις μεταβλητές. Διαφορετικά, γίνεται νέο αντικείμενο με την επιστροφή στις αντίστοιχες αναφορές.

Τι σημαίνει η τάξη συλλογής στην Java;

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

Τελικές Λέξεις

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

Για να κατακτήσετε την Java, σκεφτείτε να εγγραφείτε σε ένα από αυτά τα διαδικτυακά μαθήματα Java.