Simulation d’exam : Développement .
NET & Architectures
40 Questions
Simulation d’Examen
Consignes
Cet examen comporte 40 questions à choix multiples. Pour chaque question, sélectionnez la ou les
bonnes réponses. Les questions couvrent l’architecture logicielle, le fonctionnement interne de .NET, la
gestion de la mémoire, la POO et l’accès aux données.
Partie 1 : Architecture & Environ- 4. Quelle est la principale faiblesse d’une ar-
nement .NET chitecture 2-Tiers (Client ↔ BDD) ?
a) Elle est trop lente à développer
1. Quel composant de l’architecture .NET b) Problèmes de sécurité (accès direct à la BDD
est responsable de la compilation "Just-In- depuis le client)
Time" (JIT) ? c) Elle nécessite trop de serveurs
a) Le compilateur C# (Roslyn) d) Elle ne supporte pas le langage SQL
b) Le CLR (Common Language Runtime)
5. Dans l’architecture de projet "Clean
c) Le Garbage Collector Architecture" (ou N-Tiers moderne), que
d) La BCL (Base Class Library) contient la couche "Domain" ?
a) Les contrôleurs de l’API
b) La configuration d’Entity Framework
2. Quelle est la différence majeure entre le
c) Les entités métier et interfaces (Abstrac-
.NET Framework classique et .NET Core
tions), sans dépendances externes
(moderne) ?
d) Les fichiers CSS et JavaScript
a) .NET Core ne supporte que le langage C#
b) .NET Core est multiplateforme (Windows, 6. À quoi sert le fichier [Link]
Linux, macOS) dans un projet [Link] Core ?
a) À stocker le code source C# compilé
c) .NET Framework est plus rapide que .NET
Core b) À définir les routes de l’API
c) À stocker la configuration (chaînes de
d) Il n’y a aucune différence, c’est juste un
connexion, clés API...)
changement de nom
d) À gérer les styles CSS
3. Dans une architecture 3-Tiers, quel est 7. Qu’est-ce que l’Injection de Dépendances
le rôle de la couche "Business Logic Layer" (DI) ?
(BLL) ? a) Une faille de sécurité SQL
a) Gérer l’affichage des pages Web b) Un pattern permettant de fournir les objets
nécessaires à une classe plutôt que de les
b) Stocker les données dans la base SQL
créer avec new à l’intérieur
c) Contenir les règles de gestion et validations c) Une méthode pour installer des packages Nu-
métier Get
d) Envoyer les requêtes HTTP au client d) Un outil de base de données
1
Examen Blanc - Module .NET EMSI - Préparation
8. Quel est l’avantage principal d’une archi- 14. Peut-on instancier une classe abstraite
tecture Microservices par rapport à un Mo- avec new ?
nolithe ? a) Oui, toujours
a) Simplicité de déploiement (un seul fichier)
b) Non, jamais
b) Scalabilité et indépendance des services (si
c) Oui, si elle a un constructeur public
l’un plante, les autres continuent)
c) Absence de communication réseau d) Uniquement dans la classe Program
d) Utilisation d’une seule base de données pour
tout le monde 15. Quelle est la différence entre Stack et
Heap ?
9. Dans [Link] Core, qu’est-ce qu’un a) Stack stocke les objets complexes, Heap les
"Middleware" ? entiers
a) Un virus informatique b) Heap est nettoyé automatiquement à la fin
b) Un composant logiciel interceptant les re- de la méthode, pas Stack
quêtes et réponses HTTP dans le pipeline c) Stack est pour les types valeurs et réfé-
c) Une base de données intermédiaire rences locales (rapide), Heap pour les ins-
d) Le compilateur de code Razor tances d’objets (géré par GC)
d) Il n’y a pas de différence
10. Pour une API REST moderne et sca-
lable, quelle méthode de gestion d’état est 16. Que signifie l’instruction throw ?
recommandée ?
a) Attraper une exception
a) Les Sessions serveur (en mémoire RAM)
b) Lever (générer) une exception manuellement
b) Les ViewState
c) Arrêter le Garbage Collector
c) Les Tokens JWT (Stateless)
d) Sauter une itération de boucle
d) Les fichiers texte sur le serveur
17. Dans un bloc try-catch-finally, quand
Partie 2 : Langage C# & POO le bloc finally est-il exécuté ?
11. Le code C# est compilé en un langage a) Uniquement s’il y a une erreur
intermédiaire appelé : b) Uniquement s’il n’y a pas d’erreur
a) Machine Code c) Toujours, qu’il y ait une erreur ou non
b) Java Bytecode d) Jamais, c’est optionnel
c) IL (Intermediate Language) ou MSIL
d) Binary Code 18. Quelle interface doit implémenter une
classe pour être utilisée dans un bloc using ?
12. Quel mot-clé permet de rendre une mé- a) IComparable
thode modifiable dans une classe enfant ?
b) ISerializable
a) static
c) IDisposable
b) sealed
c) virtual d) IEnumerable
d) override
19. Que fait le Garbage Collector (GC) ?
13. Quel pilier de la POO consiste à mas- a) Il corrige les erreurs de syntaxe
quer la complexité interne d’un objet ? b) Il libère la mémoire du Heap occupée par les
a) Héritage objets qui ne sont plus référencés
b) Encapsulation c) Il ferme les connexions à la base de données
c) Polymorphisme automatiquement
d) Abstraction d) Il compile le code
2
Examen Blanc - Module .NET EMSI - Préparation
20. Pourquoi est-il déconseillé d’appeler 25. Quelle est la méthode la plus sécurisée
[Link]() manuellement ? pour inclure des valeurs utilisateur dans une
a) Cela peut planter l’application requête SQL ?
a) Concaténation de chaînes ("... WHERE
b) Cela coûte cher en performance et fige l’exé-
id=" + id)
cution
b) Interpolation de chaînes ($"... WHERE
c) C’est interdit par Microsoft
id={id}")
d) Cela supprime toutes les variables globales
c) Utilisation de Paramètres ([Link])
d) Encodage en Base64
Partie 3 : Flux (Streams) & Fi-
chiers 26. Quelle méthode de SqlCommand utilise-t-
on pour une requête UPDATE ou INSERT ?
21. Quelle classe est utilisée pour lire des a) ExecuteReader()
fichiers texte ligne par ligne de manière op-
b) ExecuteScalar()
timisée ?
c) ExecuteNonQuery()
a) FileStream
d) ExecuteXmlReader()
b) StreamReader
c) BinaryReader 27. Que retourne ExecuteScalar() ?
d) StringWriter a) Un SqlDataReader
b) Le nombre de lignes affectées
22. Qu’est-ce qu’un MemoryStream ? c) La première colonne de la première ligne du
a) Un flux qui stocke les données dans un fichier résultat (ex : un COUNT)
temporaire d) Un DataSet complet
b) Un flux qui stocke les données directement
en mémoire RAM 28. Le mode "Connecté" en [Link] re-
c) Un flux pour lire la mémoire de la carte gra- pose principalement sur quel objet ?
phique a) DataSet
d) Une erreur de mémoire b) DataTable
c) SqlDataReader
23. Que se passe-t-il si on oublie de fermer d) SqlDataAdapter
un FileStream (sans using) ?
a) Rien, le GC s’en occupe immédiatement 29. Comment gérer une Transaction SQL
b) Le fichier reste verrouillé par le processus et avec [Link] ?
inaccessible aux autres a) Ce n’est pas possible en C#
c) Le fichier est supprimé b) Via [Link]()
d) L’ordinateur redémarre c) En écrivant "BEGIN TRANS" dans la re-
quête texte uniquement
d) C’est automatique
Partie 4 : [Link] & Base de
Données 30. Dans un ConnectionString, que signifie
Integrated Security=True ?
24. Quel objet [Link] représente une
a) La connexion est cryptée
connexion ouverte à une base SQL Server ?
b) On utilise l’authentification Windows (ses-
a) SqlDataAdapter
sion courante) au lieu d’un User/Password
b) SqlConnection c) La base de données est en lecture seule
c) SqlCommand d) On se connecte en tant qu’administrateur
d) DbContext système
3
Examen Blanc - Module .NET EMSI - Préparation
Partie 5 : Questions Mixtes Avan- 36. Quelle est l’utilité du mot-clé using de-
cées vant une variable (ex : using var x = ...)
introduit en C# 8 ?
31. Windows CE est un OS de type : a) Importer un namespace
a) Temps Réel (RTOS) et modulaire b) Simplifier la syntaxe pour disposer l’objet à
b) Serveur uniquement la fin du scope courant sans accolades
c) Monolithique comme Windows 10 c) Créer une variable globale
d) Basé sur Linux d) Optimiser la boucle for
32. Quelle syntaxe est correcte pour l’héri- 37. Si une méthode est abstract, la classe
tage en C# ? qui la contient doit être obligatoirement :
a) class Chien extends Animal a) public
b) class Chien : Animal b) static
c) class Chien implements Animal c) abstract
d) class Chien inherits Animal d) sealed
33. Le Pattern MVC signifie : 38. Quel est le risque de concaténer des
a) Model - View - Controller strings pour une commande SQL ?
b) Microservice - View - Code a) Erreur de compilation
c) Main - Void - Class b) Injection SQL
d) Managed - Virtual - Core c) Fuite de mémoire
d) Stack Overflow
34. Que contient généralement un objet
DTO (Data Transfer Object) ? 39. Dans votre projet, où se trouvent
a) De la logique métier complexe les interfaces des Repositories (ex :
IClientRepository) ?
b) Une connexion à la base de données
a) Dans la couche Infrastructure
c) Uniquement des propriétés (données) pour le
transport b) Dans la couche Domain (Métier)
d) Des méthodes privées c) Dans la couche Presentation
d) Dans la base de données
35. Dans une architecture N-Tiers, la
couche Presentation (UI) doit-elle commu- 40. Quelle technologie .NET permet de
niquer directement avec la couche Data Ac- créer des interfaces Web dynamiques avec
cess (DAL) ? du code C# côté client (via WebAssem-
a) Oui, pour aller plus vite bly) ?
b) Non, elle doit passer par la couche Business a) [Link] MVC
Logic (BLL) b) Blazor
c) Oui, mais seulement pour la lecture c) Windows Forms
d) Cela n’a pas d’importance d) WPF