EXAM Java Programmation I
Validation sur 12
Section POO (6 points) :
Qu'est-ce que l'encapsulation en POO ?
a. Le fait de masquer les détails d'implémentation d'un objet.
b. Le fait de cacher des variables membres à d'autres objets.
c. Le fait d'utiliser des classes abstraites pour protéger le code.
Qu'est-ce que l'héritage en POO ?
a. Le fait de permettre à un objet d'avoir plusieurs classes parentes.
b. Le fait de permettre à une classe de déléguer certaines fonctionnalités à une autre classe.
c. Le fait de permettre à une classe de redéfinir certaines fonctionnalités d'une autre classe.
Qu'est-ce que le polymorphisme en POO ?
a. Le fait de pouvoir créer des objets de différentes classes.
b. Le fait de pouvoir appeler des méthodes de différentes classes avec un même nom.
c. Le fait de pouvoir stocker des objets de différentes classes dans une même collection.
Qu'est-ce qu'une interface en POO ?
a. Une classe abstraite qui ne contient que des méthodes vides.
b. Un ensemble de méthodes que les classes qui l'implémentent doivent fournir.
c. Un moyen de cacher les détails d'implémentation d'une classe.
Qu'est-ce qu'une classe abstraite en POO ?
a. Une classe qui ne peut pas être instanciée directement.
b. Une classe qui ne peut pas être héritée par d'autres classes.
c. Une classe qui ne peut pas contenir de méthodes abstraites.
Qu'est-ce qu'une classe finale en POO ?
a. Une classe qui ne peut pas être instanciée directement.
b. Une classe qui ne peut pas être héritée par d'autres classes.
c. Une classe qui ne peut pas contenir de méthodes abstraites.
Section JPA 6 Points
Question 1 : Quel est l'objectif principal de JPA ?
a) Mapper des objets Java vers une base de données relationnelle
b) Créer des interfaces RESTful
c) Écrire des requêtes SQL manuellement
d) Créer des fichiers JAR
Question 2 : Quel est le rôle de l'EntityManager dans JPA ?
a) Il gère les transactions entre la base de données et l'application
b) Il permet de créer de nouvelles entités
c) Il effectue le mapping des entités vers la base de données
d) Il génère automatiquement les requêtes SQL
Question 3 : Quelle est la différence entre une entité persistante et une entité détachée ?
a) Une entité persistante est attachée à une transaction, tandis qu'une entité détachée ne l'est pas.
b) Une entité persistante est stockée en mémoire vive, tandis qu'une entité détachée est stockée sur disque.
c) Une entité persistante est liée à une base de données, tandis qu'une entité détachée ne l'est pas.
d) Il n'y a pas de différence, ce sont deux termes pour la même chose.
Question 4 : Comment peut-on spécifier une relation OneToMany dans JPA ?
a) En utilisant l'annotation @OneToMany
b) En ajoutant une colonne dans la table de la relation
c) En utilisant l'annotation @ManyToOne
d) On ne peut pas spécifier une relation OneToMany dans JPA.
Question 5 : Qu'est-ce qu'un named query dans JPA ?
a) Une requête SQL stockée dans une variable
b) Une requête SQL stockée dans un fichier XML
c) Une requête SQL stockée dans une classe Java
d) Une requête SQL stockée dans une table de la base de données
Question 6 : Comment peut-on récupérer une entité par son identifiant dans JPA ?
a) En utilisant la méthode find() de l'EntityManager
b) En exécutant une requête SQL
c) En utilisant l'annotation @Id
d) En créant une nouvelle instance de l'entité.
Section JAX-RS 3 Points
Question 1 : Qu'est-ce que JAX-RS ?
a) Une spécification pour le développement d'applications Web
b) Une bibliothèque pour l'interaction avec les bases de données
c) Une spécification pour le développement d'applications mobiles
d) Une bibliothèque pour la gestion des threads.
Question 2 : Quel est le principe de base de JAX-RS ?
a) Exposer des méthodes Java comme des services Web RESTful
b) Utiliser des annotations pour définir les services Web
c) Créer des interfaces pour définir les services Web
d) Utiliser des fichiers WSDL pour définir les services Web.
Question 3 : Quelle est la différence entre @PathParam et @QueryParam dans JAX-RS ?
a) @PathParam permet de récupérer des paramètres de l'URI, tandis que @QueryParam permet de récupérer des paramètres de la requête HTTP
b) @PathParam permet de récupérer des paramètres de la requête HTTP, tandis que @QueryParam permet de récupérer des paramètres de l'URI
c) @PathParam et @QueryParam ont
Section Test 5 Points
Quel est l'avantage principal de l'utilisation des mocks dans les tests unitaires ?
a. Ils permettent de simuler des appels à des services externes.
b. Ils permettent de s'assurer que les dépendances sont correctement injectées.
c. Ils permettent de se concentrer sur une partie spécifique du code.
Quelle est la meilleure pratique pour nommer les tests unitaires ?
a. Utiliser des noms longs et descriptifs pour les tests.
b. Utiliser des noms courts et concis pour les tests.
c. Utiliser des noms humoristiques pour les tests.
Que signifie l'acronyme AAA dans le contexte des tests unitaires ?
a. Arrange, Act, Assert
b. Assert, Arrange, Act
c. Act, Arrange, Assert
Quelle est la meilleure pratique pour gérer les données de test dans une base de données ?
a. Utiliser une base de données séparée pour les tests.
b. Utiliser la même base de données que la production pour les tests.
c. Utiliser une base de données en mémoire pour les tests.
Qu'est-ce que TDD (Test-Driven Development) ?
a) Une approche de développement qui consiste à écrire les tests avant le code
b) Une approche de développement qui consiste à écrire le code avant les tests
c) Une approche de développement qui ne nécessite pas l'écriture de tests
d) Une approche de développement qui consiste à tester manuellement le code