Top 120 Questions d’Entretien sur Java – Partie 7

Questions d’Entretien sur Java avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses sur Java comprennent divers sujets. Et sont tirés d’un vrai entretien écrit et certaines parties sont en direct. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son entretien sur Java .
 
 

1. Quelle est la meilleure façon d’injecter une dépendance ?
Il n’y a pas de contrainte pour l’utilisation d’une injection de dépendance particulière. Mais l’approche recommandée est la suivante:

Les setters sont principalement recommandés pour l’injection de dépendances optionnelles, et les arguments de constructeur sont recommandés pour les dépendances obligatoires. En effet, l’injection par constructeur permet d’injecter des valeurs dans des champs immuables et de les lire plus facilement.

 
 

2. Quelles sont les différentes catégories du Design patterns en Java ?
Les design patterns Java sont classés dans les différents types suivants:
 
Patterns Structurels :

  • Decorator
  • Proxy
  • Composite
  • Bridge
  • Flyweight
  • Adapter
  • Facade
  • Filter

Patterns Comportementaux :

  • Visitor
  • Strategy
  • Iterator
  • Template method
  • Chain of responsibility
  • Command
  • Interpreter

Patterns J2EE :

  • MVC
  • Transfer object
  • Front controller
  • Data Access Object

Patterns de création :

  • Builder
  • Prototype
  • Singleton
  • Factory
  • Abstract Factory
 
 

3. Supposons qu’un thread soit verrouillé, l’appel de la méthode sleep() sur ce thread libère le verrou ?
Un thread qui possède un verrou ne sera pas libéré même après avoir appelé sleep(). Même si le thread dort pendant une période de temps donnée, le verrou ne sera pas libéré.
 
 

4. Quel est la sortie du code suivant ?
class Test 
{
    public void show(int n1,float n2){
        System.out.println("int-float");
    }
    public void show(float n1,int n2){
        System.out.println("float-int");
    }
    public static void main(String[] args){
        Test test = new Test();
        test.show(1,2);
    }
}

A int-float

B float-int

C Erreur de compilation

D Erreur d’exécution

C
Vous ne pouvez pas déclarer deux méthodes avec la même signature. Cela entraînerait une erreur de compilation. Si les deux méthodes ont les mêmes types de paramètres, alors ce n’est pas possible.

Java peut distinguer les méthodes dont la signature est différente, c’est-à-dire que les méthodes peuvent avoir le même nom mais avec des listes de paramètres différentes (c’est-à-dire le nombre de paramètres, l’ordre des paramètres et les types de données des paramètres) dans la même classe.

 

5. Quel est la sortie du code suivant ?
class Test
{
  public static void main(String args[])
  {
      String obj = "Bonjour";
      String obj1 = "Hello";   
      String obj2 = "Bonjour";
      System.out.println(obj.equals(obj1)+" "+obj.equals(obj2));
  }
}

A true true

B false false

C false true

D true false

C
 

6. Quelle est la fonctionnalité de Class.getInstance()?

A Elle invoque le constructeur.

B Il a la même fonctionnalité que l’opérateur new.

C Elle crée un objet si la classe n’a pas de constructeur défini.

D Aucune de ces réponses.

C
 
 

7. Pouvons-nous déclarer une interface finale?

A Oui

B Non

B
Non, nous ne pouvons pas déclarer une interface finale. En Java, le mot clé final est utilisé pour arrêter l’héritage par les classes filles. Mais l’interface est destinée à être utilisée dans l’héritage. Par conséquent, nous ne pouvons pas déclarer une interface finale, car si nous déclarons finale aucune utilisation de cette interface. C’est pourquoi le mot-clé ‘final’ est illégale pour les interfaces.

 

 

8. Les expressions lambda dans java 8 sont basées sur _____

A Programmation procédurale

B Programmation fonctionnelle

C Programmation des données

D Tout les réponses sont vrais

B
Les expressions lambda sont comme un moyen de supporter la programmation fonctionnelle en Java. La programmation fonctionnelle est un paradigme qui permet de programmer à l’aide des expressions, c’est-à-dire de déclarer des fonctions, de passer des fonctions comme arguments et d’utiliser des fonctions comme des instructions (appelées des « expressions » en Java 8).

 

 

9. Exception est une __________

A Classe

B Interface

C Classe abstraite

D Autres

A

 

 
 

10. Quel est la sortie du code suivant?
public class Main{
	public static void main(String args[]){ 
		String str = "Bob";
		System.out.println(str.indexOf('s'));
	} 
}

A true

B false

C 0

D 1

E -1

E
La méthode indexOf() renvoie la valeur de l’index s’il est présent. Sinon, il renvoie -1;

 

 

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *