Top 120 Questions d’Entretien sur Java – Partie 1

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. Qu’est-ce que Java ?
Java est un langage de programmation de haut niveau qui a été développé par James Gosling en 1982. Il est basé sur les principes de la programmation orientée objet et peut être utilisé pour développer des applications à grande échelle.
Introduction java
 
 

2. Pourquoi Java est-il un langage indépendant de la plate-forme ?
Le langage Java a été développé de telle sorte qu’il ne dépend d’aucun matériel ou logiciel, car le compilateur compile le code et le convertit ensuite en code d’octet indépendant de la plate-forme, qui peut être exécuté sur plusieurs systèmes.
 
 

3. Pourquoi Java n’est-il pas un langage purement orienté objet ?
Java prend en charge les types de données primitifs – byte, boolean, char, short, int, float, long et double – et n’est donc pas un langage purement orienté objet.
 
 

4. Quelles sont les différences entre Java et C++ ?
  • Le C++ n’est qu’un langage compilé, alors que Java est à la fois un langage compilé et un langage interprété.
  • Les programmes Java sont indépendants de la machine, alors qu’un programme C++ ne peut s’exécuter que sur la machine dans laquelle il a été compilé.
  • C++ permet aux utilisateurs d’utiliser des pointeurs dans le programme. Alors que Java ne le permet pas. Java utilise les pointeurs en interne.
  • C++ supporte le concept d’héritages multiples alors que Java ne le supporte pas. Et c’est pour éviter l’ambiguïté.
Différence entre java et C++
 
 

5. Peut-on dire que Java est le langage de programmation orienté objet par excellence ?
On peut dire que Java est le langage de programmation orienté objet par excellence. Parce que tout en Java est sous les classes. Et nous pouvons y accéder en créant des objets.

Mais aussi si nous disons que java n’est pas un langage de programmation complètement orienté objet parce qu’il a le support des types de données primitifs comme int, float, char, boolean, double, etc.

Pour la question : Java est-il un langage de programmation complètement orienté objet ? Nous pouvons dire que – Java n’est pas un langage de programmation purement orienté objet, car il a un accès direct aux types de données primitifs. Et ces types de données primitifs n’appartiennent pas directement aux classes Integer.
Quest-ce-que-la-POO-1

 
 

6. Différence entre la mémoire du tas(Heap) et la mémoire de la pile(Stack) en Java ?
Stack est la portion de mémoire qui a est assignée à chaque programme. Elle est fixée. D’autre part, la mémoire Heap est la portion qui n’a pas été allouée au programme java mais qui sera disponible pour être utilisée par le programme java quand il en aura besoin, principalement pendant l’exécution du programme.

Java utilise cette mémoire comme:

  • Lorsque nous écrivons un programme Java, toutes les variables, méthodes, etc. sont stockées dans la mémoire de pile(Stack).
  • Et lorsque nous créons un objet dans le programme Java, cet objet est créé dans la mémoire du tas(Heap). Et il est référencé à partir de la mémoire de la pile(Stack).

Exemple:


Différence entre Tas et Pile
 

7. Quelle partie de la mémoire – pile(Stack) ou tas(Heap) – est nettoyée lors du processus de garbage collection ?
tas(Heap)
 
 

8. Les pointeurs sont utilisés en C/C++. Pourquoi Java n’utilise-t-il pas les pointeurs ?
Les pointeurs sont assez compliqués et dangereux à utiliser pour les programmeurs débutants. Java se concentre sur la simplicité du code, et l’utilisation de pointeurs peut le rendre difficile. L’utilisation de pointeurs peut également provoquer des erreurs potentielles. De plus, la sécurité est également compromise si des pointeurs sont utilisés, car les utilisateurs peuvent accéder directement à la mémoire à l’aide des pointeurs.

Ainsi, un certain niveau d’abstraction est fourni en n’incluant pas les pointeurs dans Java. En outre, l’utilisation de pointeurs peut rendre la procédure de ‘garbage collection’ assez lente et erronée. Java utilise des références car elles ne peuvent pas être manipulées, contrairement aux pointeurs.

 
 

9. Quelle est la différence entre une variable d’instance et une variable locale ?
Variables d’instance

Les variables d’instance sont des variables qui sont accessibles par toutes les méthodes de la classe. Elles sont déclarées en dehors des méthodes et à l’intérieur de la classe. Ces variables décrivent les propriétés d’un objet et restent liées à celui-ci à tout prix.

Tous les objets de la classe auront leur copie de ces variables pour les utiliser. Si une modification est apportée à ces variables, seule l’instance concernée sera affectée par cette modification, et toutes les autres instances de la classe ne seront pas affectées. Voici un exemple:

class Person {
    public int id;           //variable d'instance
    public String name;      //variable d'instance
    public String address;   //variable d'instance
    public int age;          //variable d'instance
}
Variables locales

Les variables locales sont des variables présentes dans un bloc, une fonction ou un constructeur et ne sont accessibles qu’à l’intérieur de ceux-ci. L’utilisation de la variable est limitée à la portée du bloc. Lorsqu’une variable locale est déclarée dans une méthode, les autres méthodes de la classe n’ont pas connaissance de la variable locale. Voici un exemple:

public void createPerson() {
    int id;           //variable locale
    String name;      //variable locale
    String address;   //variable locale
    int age;          //variable locale
}
 
 

10. Quel est le composant utilisé pour la compilation, le débogage et l’exécution des programmes java ?

A JDK

B JVM

C JRE

D JIT

 

11. Quel composant effectue la tâche de conversion du bytecode en code machine ?

A JDK

B JVM

C JRE

D JIT

 

Laisser un commentaire

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