Technical interview Flashcards
Quels sont les deux types d’exceptions en Java ? Et quelles sont leurs différences ?
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.
Quelle est la différence entre un Applet et une application Java ?
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.
Quelle est la différence entre JDK et JRE ?
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.
Qu’est-ce qu’un servlet ?
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.
Qu’est-ce qu’une page JSP ?
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.
Que font les méthodes System.gc() et Runtime.gc() ?
Ces méthodes peuvent être utilisée comme indice pour le JVM dans le but de démarrer une ‘Garbage collection’.
Quelle est la différence entre Hashmap et Hashtable ?
- 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.
Qu’est-ce que JDBC ?
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.
Qu’est-ce que le mot clé ‘static’ veut dire ? Peut-on override une méthode privée ou statique en java ?
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.
Quel est le rôle du block “finally” dans la gestion d’erreur ?
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…
Quelle est la différence entre une Erreur et une Exception ?
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.
Quand est-ce qu’un objet devient éligible au Garbage Collector ?
lorsqu’il devient inaccessible au programme dans lequel il est actuellement utilisé.
Qu’est-ce qu’un passage par référence et par valeur ?
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.
Comment marche HashMap ?
- 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.
Quels sont les différents genres de collections en Java ?
- 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.