QCM C# – Framework .NET – Partie 1

QCM sur C# avec des réponses pour la préparation des entretiens d’embauche, des tests en ligne, aux examens et aux certifications. Ces questions et réponses sur C# comprennent divers sujets(.NET, les structures, les tableaux, les interfaces, etc …). Et sont tirés d’un vrai entretien écrit et certaines parties sont en direct. Cette méthode d’apprentissage systématique préparera facilement toute personne pour réussir son test sur C#.
 
 

1. CLR signifie __________ ?

A Common Local Runtime

B Common Language Runtime

C Common Language Realtime

D Common Local Realtime

B
Le CLR (Common Language Runtime) est un environnement d’exécution faisant partie du framework .NET de Microsoft. CLR gère l’exécution des programmes écrits dans différentes langages prises en charge.

CLR transforme le code source en une forme de code secondaire appelée CIL (Common Intermediate Language). Au moment de l’exécution, CLR gère l’exécution du code CIL.

 

2. CLR est responsable de __________ ?

A Garbage-collector

B Sécurité d’accès au code

C Vérification du code

D Tout les réponses sont vrais

D
Le CLR (Common Language Runtime) est responsable du garbage-collector(ramasse-miettes), sécurité d’accès et vérification du code

 

3. GAC signifie __________ ?

A Global Assembly Cache

B Global Assembly Store

C Garbage Assemble Cache

D Global Advanced Cache

A
Le Global Assembly Cache (GAC) est un dossier du répertoire Windows (\windows\assembly) dans lequel sont stockés les « assembly » .NET spécifiquement désignés pour être partagés par toutes les applications exécutées sur un système.

Le concept de GAC est le résultat de l’architecture .NET dont la conception répond au problème de « DLL » qui existait dans COM (Component Object Model). Contrairement à COM, il n’est pas nécessaire que le montage dans GAC soit enregistré avant son utilisation. L’accès à chaque « assembly » est global, sans conflit, en identifiant son nom, sa version, son architecture et sa clé publique.

 

 

4. GAC __________ ?

A Stocke les « assembly » .net partagés entre plusieurs applications.

B Stocke les dll globales.

C Mettre en cache les données d’application.

D Aucune de ces réponses

A
Global Assembly Cache (GAC) stocke les « assembly » .NET partagés entre plusieurs applications.

 

5. Quels sont les types de JIT?

A Pre-JIT

B Econo-JT

C Normal-JIT

D Tout les réponses sont vrais

D
Just-in-time (JIT) est un terme utilisé pour décrire une action telle que la compilation ou l’activation d’un objet uniquement au moment où cela devient nécessaire. Ce terme est principalement associé à la compilation de logiciels. La compilation JIT est principalement conçue pour l’exécution de code à grande vitesse et la prise en charge de plusieurs plates-formes.

La compilation JIT est née de la nécessité pour un compilateur d’assumer des responsabilités en plus de la conversion en code objet (instructions machine) à partir d’un langage de haut niveau. Les compilateurs JIT facilitent la portabilité vers plusieurs systèmes d’exploitation et plates-formes matérielles. Des langages tels que Java et C# prennent en charge la compilation JIT.

Il existe trois types de compilateurs JIT:

  • Pre-JIT: Compile l’intégralité du code source lors de la compilation et est utilisé au moment du déploiement.
  • Econo-JIT: Compile les méthodes appelées lors de l’exécution.
  • Normal-JIT: Compile uniquement les méthodes appelées lors de l’exécution (au moment de leur premier appel) et stocke le code compilé dans la mémoire cache à utiliser lors des appels suivants.

 

6. Garbage collector (GC) comprend _______ générations.

A Un

B Deux

C Trois

D Cinq

C
Il y a trois générations:

  • La génération 0 identifie un objet nouvellement créé qui n’a jamais été marqué pour la collecte.
  • La génération 1 identifie un objet qui a survécu à un GC (marqué pour la collecte mais non supprimé parce qu’il y avait suffisamment d’espace de tas)
  • La génération 2 identifie un objet ayant survécu à plus d’un balayage du GC.

 

7. Comment forcer le garbage-collector à s’exécuter?

A Utilisation de la méthode GC.Run()

B Utilisation de la méthode GC.Collect()

C Utilisation de la méthode GC.Collection()

D Utilisation de la méthode GC.Finalize()

B
System.GC.Collect() force l’exécution du garbage-collector.

 

 

8. IL en .Net signifie ________?

A Intermediate Language

B International Language

C Interoperate Language

D Intermediate Local

A
Intermediate language (IL) ou le langage intermédiaire est un langage de programmation orienté objet conçu pour être utilisé par les compilateurs pour le Framework .NET. Le Framework .NET utilise IL pour générer du code indépendant de la machine en tant que sortie de la compilation du code source écrit dans n’importe quel langage de programmation .NET.

 

9. Quel outil est utilisé pour voir le code IL?

A Util.exe

B IL.exe

C GACUtil.exe

D IDASM.EXE

D
ILDASM (IL Disassembler) est un excellent outil pour ceux qui veulent voir le code IL. Cet outil est utilisé pour afficher Le contenu de l’assembly pour tous les composants de code. Cet outil est installé avec votre Visual Studio et peut être accessible de manière traditionnelle à l’invite de commande de Visual Studio.

Pour ouvrir l’ILDASM:
1- Ouvrez l’invite de commandes de Visual Studio.
2- Exécuter la commande ILDASM.

 

10. Que signifie le terme « boxing » en .net?

A Convertit le type de valeur en objet

B Convertit le type de référence en type de valeur

C Convertit le type primitif en type valeur

D Aucune de ces réponses n’est vraie.

A
Boxing est le processus de conversion d’un type de valeur en type d’objet ou en tout type d’interface implémenté par ce type de valeur. Lorsque le CLR encadre un type de valeur, il encapsule la valeur dans un « System.Object » et la stocke dans le segment de mémoire géré. Unboxing extrait le type de valeur de l’objet.

Boxing
int n = 123;
object obj = n;

 

Unboxing
obj = 123;
i = (int)obj;

 

L’image suivante montre le résultat des déclarations précédentes.

 

Exercice C# Corrigé - Partie 1

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *