Technical interview Flashcards

1
Q

Quels sont les deux types d’exceptions en Java ? Et quelles sont leurs différences ?

A

Java propose deux types d’exceptions :

  • les exceptions vérifiées (checked)
    doivent être déclarées dans la clause throws d’une méthode ou d’un constructeur.
  • les exceptions non vérifiées (unchecked)
    n’ont pas besoin d’être déclarées dans la clause throws d’une méthode ou d’un constructeur, si elles peuvent être lancées par l’exécution de la méthode ou du constructeur, et se propager en dehors des limites de la méthode ou du constructeur.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Quelle est la différence entre un Applet et une application Java ?

A

Un applet est un programme qui peut être inclus dans une page HTML et exécuté dans un navigateur client. Ils sont utilisés pour créer du contenu dynamique et interactif.

Les applets sont exécutées dans un navigateur, tandis qu’une application Java est un programme autonome qui peut être exécuté en dehors du navigateur.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Quelle est la différence entre JDK et JRE ?

A

JRE : machine virtuelle Java (JVM) où les programmes sont exécutés. Il comprend également des plugins de navigateur pour l’exécution des applets.

JDK : kit de développement logiciel complet pour Java qui comprend le JRE, les compilateurs et les outils (ex : debugger,…) afin que l’utilisateur puisse développer, compiler et exécuter des applications Java.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Qu’est-ce qu’un servlet ?

A
C'est une class utilisée pour traiter les demandes clients et générer du contenu web dynamique. 
Dans le modèle MVC, par exemple, le servlet serait le "controller". Il recevrait la requête client, et dispatcherait le travail.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Qu’est-ce qu’une page JSP ?

A

JSP (Java Server Page) est un document texte qui contient deux types de texte :

  • des données statiques
  • des éléments JSP.

JSP est une technologie qui peut mixer du contenu statiqueavec du contenu généré dynamiquement.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Que font les méthodes System.gc() et Runtime.gc() ?

A

Ces méthodes peuvent être utilisée comme indice pour le JVM dans le but de démarrer une ‘Garbage collection’.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Quelle est la différence entre Hashmap et Hashtable ?

A
  • HashTable est synchronisé alors que HashMap non. Cela rend HashMap meilleur pour les applications non traidées car les objets non synchronisés sont généralement plus performants que les objets synchronisés.
  • HashTable ne permet pas les clés ou les valeurs nulles. HashMap autorise une clé nulle et un nombre quelconque de valeurs nulles.
  • Une des sous-classes de HashMap est LinkedHashMap. Utile si on veut un ordre d’itération prévisible.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

Qu’est-ce que JDBC ?

A

C’est une couche d’abstraction qui permet aux utilisateurs de choisir entre les bases de données. Il permet aux développeurs d’écrire des applications de bases de données en Java, sans avoir à se préoccuper des détails sous-jacents d’une BDD particulière.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Qu’est-ce que le mot clé ‘static’ veut dire ? Peut-on override une méthode privée ou statique en java ?

A

Le mot-clé static indique qu’on peut accéder à une variable ou une méthode sans créer d’instance de la classe.

On ne peut pas override une méthode statique parce qu’elle n’est pas associée à une instance de la classe. Le concept n’est donc pas applicable.
Aussi, overrider une méthode est basé sur une liaisons dynamique au moment de l’exécution et les méthodes statiques sont liées de manière statique au moment de la compilation.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Quel est le rôle du block “finally” dans la gestion d’erreur ?

A

Un bloc ‘finally’ sera toujours exécuté, qu’une exception soit effectivement levée ou non. On l’utilise généralement pour libérer des ressources telles que les buffers d’entrée/sortie, les connexions aux BDD, etc…

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

Quelle est la différence entre une Erreur et une Exception ?

A

Une erreur indique un sérieux problème qu’on aimerait régler.
Une exception indique une condition dont on aimerait s’occuper, sans vouloir pour autant la résoudre.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

Quand est-ce qu’un objet devient éligible au Garbage Collector ?

A

lorsqu’il devient inaccessible au programme dans lequel il est actuellement utilisé.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Qu’est-ce qu’un passage par référence et par valeur ?

A

référence : signifie que c’est l’objet actuel qui est passé. Si on fait un changement sur cet objet via une méthode, cela le changera également en dehors de la méthode.

valeur : signifie qu’un copie de l’objet est passée. Ainsi, même si des changements sont faits sur l’objet, cela n’affecte pas sa valeur originelle.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Comment marche HashMap ?

A
  • stocke des paires clé-valeur
  • nécessite une fonction de hachage et utilise des méthodes hashCode et equals afin de mettre et récupérer des éléments dans une collection.
  • quand la méthode ‘put’ est invoquée, le HashMap calcule la valeur de hachage de la clé et stocke la paire dans l’index approprié de la collection.
    Si la clé existe, sa valeur est mise à jour.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Quels sont les différents genres de collections en Java ?

A
  • Collection : représente un groupe d’objets
  • Set : collection qui ne peut pas contenir d’éléments en double.
  • List : collection ordonnée qui peut contenir des éléments en double.
  • Map : objet qui associe des clés à des valeurs et qui ne peut pas contenir de clés en double.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Qu’est-ce que l’unboxing et l’autoboxing ?

A

Autoboxing : conversion automatique faite par le compilateur entre des types primitifs et leur wrappers objets correspondant. (ex : int -> Integer)

Unboxing : contraire de l’autoboxing.

17
Q

Qu’arrive-t-il à un objet Exception après avoir handle une exception ?

A

Il sera garbage collecté.

18
Q

Quelle est la différence entre une Interface et une classe Abstraite ?

A
  • Toutes les méthodes d’une interface sont implicitement abstraire. Tandis qu’une classe abstraite peut contenir des méthodes abstraites ou non.
  • Une classe peut implémenter des interfaces, mais étendre seulement une classe abstraite.
  • Pour implémenter une interface, une classe doit implémenter toutes ses méthodes. Tandis qu’on a pas besoin d’implémenter toutes les méthodes d’une classe abstraite.
  • Une interface ne peut pas être instanciée. Une interface, oui.
19
Q

Quelle est la différence entre surchage et redéfinition ?

A

surcharge : la méthode à le même nom mais pas les mêmes paramètres.

Redéfinition : la méthode à le même nom et argument mais pas le même corps.