wayground logo

Free Printable Worksheets

Font size

S
M
L
XL
Worksheets

Quiz de Programmation Java

Total questions: 42

Worksheet time: 14mins

Name
Class
Date
1.

Laquelle de ces affirmations sur les constructeurs est vraie ?

a)

Les constructeurs ne doivent pas avoir des arguments si la classe mère n'a pas de constructeur avec des arguments.

b)

Les constructeurs ne sont pas hérités.

c)

Les constructeurs peuvent être surchargés.

d)

La première déclaration de chaque constructeur est un appel égal à super() ou this().

2.

Combien d'instances de la classe A crée le code suivant ? A x, u, v; x=new A(); A y=x; A z=new A();

a)

Aucune.

b)

Une.

c)

Trois.

d)

Deux.

3.

L'opérateur new :

a)

Sert à fabriquer un objet à l'aide d'un constructeur défini dans une classe.

b)

Sert à initialiser une nouvelle classe.

c)

Ne s'emploie que pour les accès statiques.

d)

N'est pas un opérateur.

4.

La classe A hérite de B qui hérite de C. C est une classe abstraite qui implémente une interface I. A et B ne sont pas des classes abstraites, Lesquelles de ces affirmations sont vraie ?

a)

C peut implémenter une partie des méthodes de l'interface I.

b)

A et B doivent à elles deux implémenter toutes les méthodes de I qui n'ont pas été implémentées par C.

c)

A ne peut pas implémenter des méthodes de l'interface I.

d)

B hérite toutes les méthodes de C sans avoir les redéfinir puisque elles font la même chose.

5.

Dans le cas d'une interface programmée avec Swing, de quel type peut être l'objet de plus haut niveau dans l'arbre d'instanciation des objets graphiques ?

a)

JFrame.

b)

JPanel.

c)

JComboBox.

d)

JTextArea.

6.

Quelle(s) affirmation(s) en rapport avec les composants GUI est (sont) fausse(s)?

a)

Swing existe depuis la version 1.2 de JDK.

b)

AWT veut dire Abstract Window Tools.

c)

On peut placer des composants AWT dans des containers Swing.

d)

On fait apparaître une fenêtre à l'écran avec la méthode SetVisible(Boolean b).

7.

Laquelle de ces affirmations est vraie ?

a)

Ce programme affiche une fenêtre avec une barre de menus contenant le menu unique "Toto".

b)

Ce programme provoque une erreur de compilation car on ne peut pas mélanger des composants AWT et SWING.

c)

Ce programme provoque une erreur de compilation car aucun gestionnaire de disposition n'est défini.

d)

Ce programme provoque une erreur de compilation car aucun gestionnaire d'événement n'est défini.

8.

Dans quel package se trouve la classe JPanel ?

a)

java.swing.

b)

javax.swing.

c)

java.awt.

d)

j

9.

Dans quel package se trouve la classe JPanel ?

a)

java.swing.

b)

javax.swing.

c)

java.awt.

d)

javax.awt.

10.

Quel objet nous donne des informations sur la requête SQL exécutée ?

a)

Un objet SQL.

b)

Un objet SQLInfo.

c)

Un objet ResultSetMetaData.

d)

Un objet DatabaseMetaData.

11.

Un Statement sert à :

a)

Créer une requête SQL.

b)

Exécuter une requête en lecture.

c)

Exécuter une requête en lecture ou en écriture.

d)

Il interroge la base de données et retourne les résultats.

12.

Quelle est la méthode d'un objet Statement permettant de créer une requête préparée ?

a)

Conn. getPrepareStatement('SELECT * FROM classe');

b)

Conn. preparedStatement('SELECT * FROM classe');

c)

Conn. prepareStatement('SELECT * FROM classe');

d)

Conn. createPrepareStatement('SELECT * FROM classe');

13.

Comment peut-on voir les données qui sont dans un ResultSet?

a)

En appelant la méthode get(..., String type) sur le ResultSet, où type sera le type de la base de données.

b)

En appelant la méthode get(..., Type type) sur le ResultSet, où Type est un objet qui représente un type de la BD.

c)

En appelant la méthode getValue (...), et en convertissant le résultat vers le type Java souhaité.

d)

En appelant les méthodes spéciales "getter" sur le ResultSet: getString(...), getBoolean(...), getClob(...),...

14.

Dans le socket que fait la fonction accept(…) ?

a)

Elle accepte un client qui vient d'en faire la demande.

b)

Elle accepte un client qui vient de se connecter et crée une socket pour communiquer avec ce client.

c)

Elle récupère seulement les informations du client (adresse IP,…).

d)

Elle accepte le message arrivant et le stocke dans la structure passée en argument.

15.

lesquelles des lignes de commande sont faites cotés création d'un serveur

a)

serverSocket ss=new serverSocket(1234);

b)

Socket s=new Socket("192.168.1.23",1234);

c)

Socket s= ss.accept(); // ss de type serverSocket

d)

Aucune de ces lignes.

16.

Pour qu'un serveur puisse communiquer avec plusieurs client en même temps, il faut que:

a)

Le serveur puisse attendre une connexion à tout moment.

b)

Pour chaque connexion, il faut créer un nouveau thread associé à la socket du client connecté, puis attendre à nouveau une nouvelle connexion.

c)

Le thread créé doit s'occuper des opérations d'entrées-sorties (read/write) pour communiquer avec le client dépendamment des autres activités du serveur.

d)

Le serveur doit avoir des caractéristiques précises pour qu'il fonctionne.

17.

Laquelle de ces affirmations est vraie ?

a)

Pour envoyer une chaine de caractère a un client on utilise les BufferedReader.

b)

IL existe plusieurs types de sockets: Stream Sockets ( TCP) et Datagram Sockets (UDP).

c)

La méthode close() ferme (détruit) le socket.

d)

Le serveur doit être démarré avant le client. Dans le cas contraire, si le client se connecte à un serveur inexistant, une exception sera levée.

18.

Laquelle de ces affirmations est dès lors correcte:

a)

Lorsque l'on exécute ce programme, on reçoit toujours le résultat suivant: one two three.

b)

Lorsque l'on exécute ce programme, on reçoit toujours le résultat suivant: three one two.

c)

Le résultat de ce programme est ince

19.

En JAVA, un thread est un objet JAVA dont la classe d'appartenance

a)

Hérite de la classe Thread.

b)

Est la classe prédéfinie ThreadObject.

c)

Implémente l'interface Runnable.

d)

Implémente la classe Thread et Runnable.

20.

L'interface Runnable vous permet de :

a)

Initialiser un thread avec une tâche.

b)

Démarrer un thread.

c)

Interrompre un thread.

d)

Crée et détruit un thread.

21.

Pour créer le thread et l'exécuter, il faut faire les instructions suivantes :

a)

MonThread p = (MonThread)(new Thread()); p.start();

b)

Runnable p = new Runnable (); MonThread q = new Thread(p); q.start();

c)

MonThread p = new MonThread (); p.start();

d)

MonThread q = new Thread(); q.start();

22.

À quoi sert le pattern dao ?

a)

À créer des objets.

b)

À ajouter de nouvelles fonctionnalités à vos objets.

c)

À séparer la couche métier de la couche d'accès aux données.

d)

À donner une belle écriture à notre programme.

23.

Pourquoi la généricité en Java est-ils utilisé?

a)

Elle rend le code plus rapide.

b)

Elle rend le code plus optimisé et plus lisible.

c)

Elle ajoute de la stabilité à votre code en rendant vos bugs détectables à l'exécution.

d)

Elle ajoute de la stabilité à votre code en rendant vos bugs détectables au moment de la compilation.

24.

Laquelle des affirmations suivantes est incorrecte concernant l'utilisation de la généricité et de types paramétrés en Java?

a)

Lors de la conception de votre propre classe de collections, les types génériques et paramétrés vous permettent d'obtenir une sécurité de type avec une seule définition de classe plutôt que de définir plusieurs classes.

b)

Les types génériques et paramétrés supprime le besoin de conversions descendantes lors de l'utilisation de collections Java.

c)

La généricité en Java assurent la sécurité des types en transférant davantage de responsabilités de vérification de type au compilateur.

d)

Toutes les réponses sont bonnes.

25.

Quelle est la sortie de ce programme?

a)

Hello

b)

Erreur de compilation

c)

obj478962

d)

44

26.

La sérialisation est un procédé qui permet :

a)

De faire passer l'état d'un objet dans un flux.

b)

De convertir un objet en un autre objet.

c)

De convertir un objet en un document XML.

d)

De mettre en série un objet.

27.

Qu'est ce qu'il fait le programme au dessus :

a)

Ce code crée un fichier de nom 'ListeDouble.bin' contenant la liste de doubles.

b)

Ce code crée un fichier dont les informations sont dans un format texte.

c)

Ce code crée un fichier dont les informations sont dans un format binaire

d)

Il provoque un erreur à l'exécution

28.

Que signifie le mot clé "transient" associé à un attribut ?

4 lines
29.

Que signifie le mot clé "transient" associé à un attribut ?

a)

Rend cet attribut invisible hors du package où il est défini

b)

Cet attribut est à la fois un type de base et un objet

c)

Permet de ne pas le sauvegarder quand on utilise le mécanisme de sérialisation

d)

Rien de tout ça

30.

Quel type de flux est l'objet System. out ?

a)

Java. io. PrintStream

b)

Java. io. BufferedWriter

c)

Java. io. FileWriter

d)

Java. io. OutputStreamWriter

31.

Un itérateur sert à

a)

Supprimer un élément d'une collection.

b)

Parcourir une collection.

c)

Parcourir ou à supprimer des éléments d'une collection.

d)

Aucune de ces affirmations.

32.

Laquelle des affirmations suivantes est incorrecte

a)

SAX offre une bibliothèque simple pour la représentation et la manipulation de documents XML

b)

JDOM Propose différentes fonctionnalités comme la création de documents XML, la représentation DOM et les ses évènements SAX.

c)

La classe XMLOutputter permet d'envoyer le document XML dans un flux.

d)

SAX est un Parseur basés sur un mode événementiel permettant de réagir à des événements comme le début d'un élément ou la fin d'un élément.

33.

Comment transformer un fichier XML en une arborescence JDOM?

a)

En utilisant la classe DOMSource.

b)

En utilisant la classe XMLOutputter.

c)

En utilisant la classe org.jdom.Attribut.

d)

En utilisant le constructeur SAXBuilder.

34.

Document XML bien formé si

a)

Le document ne possède qu'une seule racine.

b)

Tous les éléments du document sont fermés.

c)

Les éléments contenus et contenant sont imbriqués.

d)

La valeurs des attributs s'écrit entre guillemets.

35.

Quel mécanisme garantit une communication sécurisée entre microservices ?

a)

OAuth2

b)

TLS

c)

RBAC

d)

JWT

36.

Qu'est-ce que Spring Security ?

a)

Un outil pour la gestion de bases de données

b)

Un serveur de gestion d'API

c)

Une framework pour sécuriser les applications Spring Boot

d)

Un framework pour l'analyse de données

37.

Quel type d'attaque Spring Security aide-t-il à prévenir ?

a)

Injection SQL

b)

Cross-Site Scripting (XSS)

c)

Attaque par force brute

d)

Toutes les réponses ci-dessus

38.

Lequel de ces concepts est essentiel pour l'authentification ?

a)

Token JWT

b)

Serveur Redis

c)

OAuth 2.0

d)

Les deux A et C

39.

Quel mécanisme permet de gérer les permissions utilisateur dans Spring Security ?

a)

Les rôles

b)

Les cookies

c)

Les sessions HTTP

d)

Les objets Request

40.

Quelle annotation est utilisée pour sécuriser une méthode en exigeant qu'un utilisateur ait un rôle spécifique ?

a)

@PermitAll

b)

@PreAuthorize

c)

@Override

d)

@Service

41.

Quelles sont les bonnes pratiques pour éviter les attaques SQL Injection ?

a)

Utiliser des requêtes préparées (Prepared Statements)

b)

Chiffrer toutes les données utilisateurs

c)

Utiliser des ORM comme Hibernate et Spring DATA

d)

Valider les entrées utilisateur

42.

Quel est le rôle de la classe JwtAuthorizationFilter dans cette configuration ?

a)

Gérer les sessions utilisateur

b)

Vérifier les identifiants utilisateur au moment de la connexion

c)

Valider et extraire les informations du token JWT dans chaque requête

d)

Générer les tokens JWT