Si vous recherchez un emploi lié à Java, vous devez vous préparer aux questions d'entretien Java pour les candidats les plus récents. Bien que chaque entretien soit différent et que la portée du poste soit également différente, nous pouvons vous aider avec les meilleures questions et réponses d'entretien Java 2023, qui vous aideront à franchir le pas et à réussir votre entretien Java.
Partie 1 – Questions d'entretien Java (de base)
Cette première partie couvre les questions et réponses de base de l'entretien.
Commencez votre cours de développement de logiciels libres
Développement Web, langages de programmation, tests de logiciels et autres
1. Différence entre String Buffer et String Builder en Java
Réponse :
C'est l'une des questions préférées des intervieweurs ; cependant, les candidats ont souvent répondu lamentablement.
Voici quelques différences notables entre String Buffer et String Builder pour une meilleure compréhension.
2. StringBuilder est une version non synchronisée de la classe StringBuffer. Méthodes dans StringBuilder
Par exemple, toutes les versions surchargées de la méthode append() ne sont pas synchronisées.
- StringBuilder fonctionne plus rapidement que StringBuffer en raison de l'absence de surcharge liée à l'acquisition et à la libération des verrous associés aux méthodes synchronisées.
- StringBuffer est considéré comme thread-safe, alors que StringBuilder ne l'est pas. Il est recommandé d'utiliser la classe StringBuffer lorsque la synchronisation est requise. Les instances de StringBuilder ne doivent pas être partagées entre plusieurs threads.
- StringBuffer est l'ancienne classe ; il est incorporé au JDK dès sa toute première version, tandis que StringBuilder est une classe relativement plus récente.
3. Programme Java pour trouver le nombre le plus important et le plus petit dans un tableau d'entiers
Réponse :
Un simple 5 points pour répondre à cette question
- Créez un fichier source Java nommé MaximumMinimumArrayDemo.java et copiez le code à compiler et à exécuter dans votre IDE préféré.
- Créez une méthode appelée plus grand et plus petit (nombres int []) pour imprimer le nombre le plus important et le plus petit du tableau int transmis au programme.
- Utilisez les variables les plus grandes et les plus petites pour stocker les valeurs maximales et minimales du tableau. Initialement, le plus grand est initialisé avec Integer.MIN_VALUE et le plus petit est initialisé avec Integer.MAX_VALUE.
- Pour toutes les itérations de la boucle, comparez le nombre actuel du plus grand au plus petit et mettez-les à jour en conséquence.
- Si un nombre est plus significatif que le plus grand, il ne peut pas être plus petit que le plus petit, ce qui signifie que vous n'avez pas besoin de vérifier si la première condition est exacte ; c'est pourquoi nous avons utilisé un bloc de code if-else, où la partie else ne s'exécutera que si la première condition n'est pas valide.
La logique pour trouver le plus grand élément d'un tableau en Java est donnée ci-dessous.
Au lieu d'attribuer une variable avec Integer.MAX_VALUE, nous avons attribué le premier élément du tableau.
3. Quelle est la différence entre C++ et Java ?
Réponse :
C++ et Java ne sont similaires que dans les comparaisons syntaxiques. Les différences sont indiquées ci-dessous :
- Java est multithread
- Java n'a pas de pointeurs
- Java a une gestion automatique de la mémoire (garbage collection)
- Java est indépendant de la plateforme
- Java prend en charge la documentation des commentaires
- Java n'a pas de surcharge d'opérateur
Java ne fournit pas plusieurs héritages
- Il n'y a pas de destructeurs en Java
Partie 2 – Questions d'entretien Java (avancées)
Jetons maintenant un coup d'œil aux questions d'entretien avancées.
4. Quelle est la différence entre la classe abstraite et l'interface ?
Réponse :
-
Héritage multiple : Une classe abstraite ne peut hériter que d'une seule classe abstraite ; cependant, une classe peut implémenter plusieurs interfaces dans l'interface. Cela prouve qu'Interface prend en charge l'héritage multiple, contrairement à la classe Abstract.
-
Implémentation : Une classe abstraite peut fournir du code par défaut car elle contient des membres incomplets et complets, alors qu'une interface ne peut fournir aucun code car elle contient un membre incomplet.
-
Champs : Nous pouvons définir des champs et des contraintes dans une classe abstraite, alors qu'aucun champ ne peut être défini dans une interface.
-
Vitesse : Une classe abstraite est rapide par rapport à une interface, car cette dernière nécessite plus de temps pour trouver la méthode de sa classe correspondante.
-
Utilisation : Une classe abstraite entre en scène lorsque nous souhaitons partager une fonctionnalité commune dans une relation parent-enfant, alors qu'Interface est utilisée pour définir et appliquer le polymorphisme, le découplage et la standardisation
5. Différence entre les modificateurs ou mots-clés privés, protégés, publics et de package en Java
Réponse :
privé vs public vs protégé vs package en Java
Java dispose de quatre modificateurs d'accès, à savoir le niveau privé, protégé, public et package.
Ces modificateurs d'accès fonctionnent pour restreindre l'accessibilité d'une classe, d'une méthode ou d'une variable à laquelle ils s'appliquent. Ci-dessous sont décrites les fonctionnalités de chaque modificateur d'accès et leurs différences les unes par rapport aux autres
Mot-clé privé en Java
- Le modificateur privé en Java peut être appliqué au champ membre, à la méthode ou à la classe imbriquée en Java.
- On ne peut pas utiliser le modificateur privé sur une classe de niveau supérieur.
- Les variables, méthodes et classes privées ne sont accessibles que sur la classe sur laquelle elles sont déclarées.
- Prive la forme la plus élevée d'encapsulation que l'API Java fournit et doit être utilisée autant que possible.
C'est la meilleure pratique de codage en Java de déclarer une variable privée par défaut. Une méthode privée ne peut être appelée que depuis la classe où elle a été déclarée.
Package ou niveau d'accès par défaut en Java
- Le package est un mot-clé utilisé pour déclarer un package en Java ; un package est un répertoire auquel appartient une classe en Java.
- Le niveau d'accès au package ou par défaut est le deuxième modificateur d'accès restrictif le plus élevé après privé, et toute variable, méthode ou classe déclarée comme package-private n'est accessible que sur le package auquel elle appartient.
L'avantage du modificateur par défaut est que la classe de niveau supérieur peut également être privée du package s'il n'y a pas de modificateur d'accès au niveau de la classe.
Mot-clé protégé en Java
Si vous déclarez une variable protégée signifie, n'importe qui peut l'utiliser s'il étend votre classe. La classe de niveau supérieur ne peut pas non plus être protégée.
Mot-clé public en Java
Le public est le modificateur d'accès le moins restrictif du langage de programmation Java, et c'est une mauvaise pratique de déclarer un champ, une méthode ou une classe par défaut public car une fois que vous l'avez rendu public, il est très difficile d'apporter des modifications au niveau interne. structure de la classe car elle affecte tous les clients qui l'utilisent.
En créant des variables de classe ou d'instance, le public a également violé le principe d'encapsulation, ce qui n'est pas bon du tout et affecte gravement la maintenance.
Article recommandé
Nous espérons que ces informations EDUCBA sur les « Questions d'entretien Java » vous ont été utiles. Vous pouvez consulter les articles recommandés par EDUCBA pour plus d’informations.
- Questions d'entretien pour les développeurs Java
- Questions d'entretien sur le multithreading Java
- Questions d'entretien J2EE
- Question d'entretien sur Java String
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!