Introduzione alle domande di intervista Java per i candidati più freschi

Se stai cercando un lavoro correlato a Java, devi prepararti per le domande di intervista Java per i candidati più freschi. Sebbene ogni intervista sia diversa e anche l'ambito di un lavoro sia diverso, possiamo aiutarti con le migliori domande e risposte sull'intervista Java, che ti aiuteranno a fare il salto e ottenere successo nella tua intervista Java.

Di seguito sono riportate le principali domande di intervista Java che vengono poste frequentemente in un'intervista

1. Differenza tra String Buffer e String Builder in Java

Risposta:
Questa è una delle domande preferite dagli intervistatori, tuttavia spesso hanno risposto miseramente ai candidati.

Qui ci sono alcune differenze notevoli su String Buffer e String Builder per una migliore comprensione

1) StringBuilder è una versione non sincronizzata della classe StringBuffer. Metodi in StringBuilder
Ad esempio, tutte le versioni sovraccaricate del metodo append () non sono sincronizzate.
2) StringBuilder funziona più velocemente di StringBuffer a causa del sovraccarico di acquisizione e rilascio di blocchi associati a metodi sincronizzati.
3) StringBuffer è considerato thread-safe e StringBuilder non lo è perché se è richiesta tale sincronizzazione è meglio usare la classe StringBuffer. Le istanze della classe StringBuilder non possono essere condivise tra più thread
4) StringBuffer è la vecchia classe; è incorporato in JDK dalla sua prima versione, mentre StringBuilder è una classe relativamente più recente
5) Il fatto più importante su StringBuffer e StringBuilder è che, quando la concatenazione di stringhe viene eseguita utilizzando l'operatore +, Java converte internamente quella chiamata nella corrispondente classe di metodo append () StringBuilder. Ad esempio, "uno" + "due" + "tre" verrà convertito in nuovo StringBuilder () .append ("uno"). Append ("due"). Append ("tre").

2. Programma Java per trovare il numero più grande e più piccolo in un array intero

Risposta:
Un semplice 5 puntatore per rispondere a questa domanda

  • Crea un file sorgente Java con nome MaximumMinimumArrayDemo.java e copia il codice per compilare ed eseguire il tuo IDE preferito
  • Creare un metodo chiamato numeri più grandi e più piccoli (int ()) per stampare il numero più grande e più piccolo di array int passato al programma.
  • Utilizzare due variabili più grandi e più piccole per memorizzare i valori massimo e minimo dell'array. Inizialmente, il più grande viene inizializzato con Integer.MIN_VALUE e il più piccolo viene inizializzato con Integer.MAX_VALUE.
  • Con tutte le iterazioni del loop, confronta il numero corrente con il più grande con il più piccolo e aggiornalo di conseguenza.
  • Se un numero è più grande del più grande, non può essere più piccolo del più piccolo, il che significa che non è necessario verificare se la prima condizione è vera, ecco perché abbiamo usato un blocco di codice if-else, dove altrimenti solo la parte eseguire se la prima condizione non è vera.

La logica per trovare l'elemento più grande da un array in Java è riportata di seguito.

Invece di assegnare una variabile con Integer.MAX_VALUE, abbiamo assegnato il primo elemento dall'array.

3. Qual è la differenza tra C ++ e Java?

Risposta:
C ++ e Java sono simili solo nei confronti sintattici. Di seguito sono indicate le differenze:

    • Java è multithread
    • Java non ha puntatori
    • Java ha una gestione automatica della memoria (garbage collection)
    • Java è indipendente dalla piattaforma
    • Java ha il supporto integrato per la documentazione dei commenti
    • Java non ha sovraccarico dell'operatore

Java non fornisce più eredità

  • Non ci sono distruttori in Java

4. Differenza tra classe astratta e interfaccia?

Risposta:
Ereditarietà multipla:

Una classe astratta può ereditare solo una classe astratta; tuttavia, nell'interfaccia, una classe può implementare diverse interfacce. Ciò dimostra che l'interfaccia supporta l'ereditarietà multipla, mentre la classe astratta no.

Implementazione:

Una classe astratta può fornire un codice predefinito in quanto contiene membri sia incompleti che completi, mentre un'interfaccia non può fornire alcun codice in quanto contiene solo membri incompleti

campi
Possiamo definire campi e vincoli in una classe astratta mentre nessun campo può essere definito in un'interfaccia

Velocità
Una classe astratta è veloce rispetto a un'interfaccia poiché quest'ultima richiede più tempo per trovare il metodo nella sua classe corrispondente

uso
Una classe astratta entra in scena quando vogliamo condividere una funzionalità comune in una relazione genitore-figlio mentre l'interfaccia viene utilizzata per definire e applicare polimorfismo, disaccoppiamento e standardizzazione

5. Differenza tra modificatore privato, protetto, pubblico e modificatore di pacchetto o parola chiave in Java

Risposta:
pacchetto privato vs. pubblico vs. protetto vs. in Java

Java ha quattro modificatori di accesso, vale a dire; livello privato, protetto, pubblico e pacchetto

l'accesso a livello di pacchetto è considerato come livello di accesso predefinito offerto da Java se non viene identificato alcun modificatore di accesso

Questi modificatori di accesso funzionano per limitare l'accessibilità di una classe, metodo o variabile a cui si applica

Di seguito sono descritte le funzionalità di ciascun modificatore di accesso e la differenza tra loro

parola chiave privata in Java

  • modificatore privato in Java può essere applicato al campo membro, metodo o classe nidificata in Java.
  • Non è possibile utilizzare il modificatore privato nella classe di livello superiore.
  • variabili private, metodi e classe sono accessibili solo sulla classe su cui sono dichiarate.
  • privatizza la forma più elevata di API Java di incapsulamento e dovrebbe essere utilizzata il più possibile.

È prassi di codifica ottimale in Java dichiarare la variabile privata per impostazione predefinita. Un metodo privato può essere chiamato solo dalla classe in cui è stato dichiarato

pacchetto o livello di accesso predefinito in Java

  • pacchetto è una parola chiave che viene utilizzata per dichiarare un pacchetto in Java; un pacchetto è una directory a cui appartiene una classe in Java.
  • pacchetto o livello di accesso predefinito è il secondo modificatore di accesso più restrittivo dopo privato e qualsiasi variabile, metodo o classe dichiarata come pacchetto-privato è accessibile solo sul pacchetto a cui appartiene.

L'aspetto positivo del modificatore predefinito è che la classe di livello superiore può anche essere privata del pacchetto se non esiste un modificatore di accesso a livello di classe.

parola chiave protetta in Java

La differenza tra parola chiave privata e parola chiave protetta è che il metodo protetto, variabile o classe nidificata non è accessibile solo all'interno di una classe, all'interno del pacchetto ma anche all'esterno del pacchetto in una sottoclasse.
Se dichiari una variabile protetta significa che chiunque può usarla se estende la tua classe. Anche la classe di livello superiore non può essere protetta.

parola chiave pubblica in Java

Il pubblico è il modificatore di accesso meno restrittivo nel linguaggio di programmazione Java e la sua cattiva pratica di dichiarare campo, metodo o classe di default pubblico perché una volta reso pubblico è molto difficile apportare qualsiasi modifica alla struttura interna della classe in quanto influenza tutti i client che utilizzano esso.

Rendere pubblica la variabile di classe o di istanza ha anche violato il principio di incapsulamento che non è affatto buono e influisce negativamente sulla manutenzione

Articolo raccomandato

Questa è stata una guida all'elenco delle domande e risposte dell'intervista Java, in modo che il candidato possa reprimere facilmente queste domande sull'intervista Java. Puoi anche consultare i seguenti articoli per saperne di più -

  1. Domande per l'intervista allo sviluppatore Java
  2. Importanti domande di intervista multi-threading Java
  3. J2EE Intervista Domande e risposte
  4. Domande e risposte sull'intervista su Java String
  5. Java 8 Intervista Domande e risposte