Maison  >  Article  >  développement back-end  >  Questions et réponses d'entretien C#

Questions et réponses d'entretien C#

PHPz
PHPzoriginal
2024-09-03 15:35:37492parcourir

Il s'agit d'un langage sécurisé et géré. De nombreux systèmes d'exploitation l'utilisent, il faut donc bien comprendre ce langage. Il est très demandé et, grâce à sa polyvalence, il peut prendre en charge de nombreux systèmes d'exploitation.

Vous avez enfin trouvé l'emploi de vos rêves en C#, mais vous vous demandez comment réussir l'entretien C# 2023 et quelles pourraient être les questions probables de l'entretien C#. Chaque entretien est différent, et le périmètre du poste est également différent. En gardant cela à l'esprit, nous avons conçu les questions et réponses d'entretien C# les plus courantes pour vous aider à réussir votre entretien.

Partie 1 – Questions d'entretien C# (de base)

Cette première partie couvre les questions et réponses de base de l'entretien C#.

Q1. Qu'est-ce que le code géré et non géré ?

Réponse :

Le code managé est exécuté sur la plateforme .Net. Il utilise CLR (Common Language Runtime) pour tout le code d'application basé sur cette plateforme. L'application, une fois exécutée, est responsable de la gestion de facteurs tels que la mémoire, la sécurité et les performances. Ce sont parmi les questions clés d'entretien C# auxquelles on peut s'attendre lors d'un entretien.

Q2. Quels sont les différents types de classes en C# ? Expliquez chaque cours en bref.

Réponse :

Il existe quatre types de classes en C#. Ils sont les suivants :

1) Classe statique : Cette classe n'autorise pas l'héritage. Les membres de cette classe sont statiques et identifiés par le mot-clé « static ».

2) Classe abstraite : Cette classe est désignée par le mot-clé abstract. Les objets de ces classes ne peuvent pas être instanciés. Cette classe ne peut être héritée que et doit contenir au moins une méthode.

3) Classe scellée : Cette classe ne peut pas être héritée. Pour y accéder, un objet de cette classe doit être créé. Il est réalisé en utilisant le mot-clé Sealed.

4) Classe partielle : En utilisant le mot-clé « partial », une classe peut être désignée comme « partielle », ce qui permet à ses membres d'être divisés ou partagés entre plusieurs fichiers .cs.

Passons aux questions d'entretien C# suivantes.

Q3. Que sont les classes d'E/S C# ?

Réponse :

C# utilise l'espace de noms System.IO, qui se compose de classes qui effectuent diverses opérations telles que créer, supprimer, ouvrir, fermer, etc. Les classes d'E/S couramment utilisées sont :

  • Fichier : Aide à effectuer plusieurs opérations sur un fichier. Il aide à la création et à la manipulation de fichiers.
  • StreamWriter : Pour écrire des caractères dans un flux.
  • StreamReader : Utilisé pour lire les caractères d'un flux.
  • StringWriter : Utilisé pour écrire une chaîne dans un tampon.
  • StringReader : Utilisé pour lire une ligne à partir d'un pad.
  • Chemin : Utilisé lorsqu'un utilisateur souhaite effectuer des opérations liées au cours.

Q4. Expliquez la classe StreamReader/ StreamWriter.

Réponse :

Ces deux classes appartiennent à l'espace de noms System.IO. La classe StreamReader comprend des membres tels que : close(), read(), Readline(). La classe StreamWrier comprend des membres comme close(), write(), writeline().

class Program1
{
using(StreamReader sr = new StreamReader("C:\ReadMe.txt")
{
//----------------code to read-------------------//
}
using(StreamWriter sw = new StreamWriter("C:\ReadMe.txt"))
{
//-------------code to write-------------------//
}
}

Q5. Expliquez le concept de Boxing et Unboxing ?

Réponse :

La boxe est une valeur convertie en un type de référence.

Exemple :

int value -= 20;
//-----------Boxing------------//
Object boxValue= value;

Ici, boxValue fait référence à « valeur ».
Le déballage est le processus de conversion explicite d'un type référence en un type valeur.

Exemple :

//————UnBoxing——————//
int UnBoxing = int (boxedValue);

Déballage des références à leur valeur d'origine.

Partie 2 – Questions d'entretien C# (avancées)

Jetons maintenant un coup d'œil aux questions avancées d'entretien C#.

Q6. Que sont les expressions régulières ? Écrivez une expression régulière pour trouver une chaîne en utilisant ?

Réponse :

Modèles d'expressions régulières vers des modèles pour correspondre à un ensemble d'entrées donné. Ces modèles peuvent contenir des opérateurs, des caractères littéraux, des symboles, etc. Les développeurs utilisent généralement des expressions régulières (regex) pour analyser des chaînes ou y remplacer des caractères spécifiques. Grâce aux regex, les développeurs peuvent rechercher n'importe quel modèle dans un fichier d'entrée ou une chaîne donnée, ce qui en fait un outil puissant pour traiter des données textuelles.
Exemple :

static void Main(string[] args)
{
string[] lang = { "C#", "Python", "Java" };
foreach(string s in lang)
{
if(System.Text.RegularExpressions.Regex.IsMatch(s,"Python"))
{
Console.WriteLine("Match found");
}
}
}

Cet exemple de code utilise Python pour rechercher un langage spécifique dans un tableau. Cette méthode permet aux développeurs d'utiliser des expressions régulières pour localiser des correspondances spécifiques dans l'entrée.

Q7. Quels sont les différents types de délégués ?

Réponse :

Les différents types de délégués sont :

  • Délégué unique : Lorsqu'un délégué appelle une seule méthode, il s'agit d'un seul délégué.
    • Délégué de multidiffusion : Lorsqu'un délégué appelle plusieurs méthodes, il s'agit d'un délégué de multidiffusion. Un utilisateur peut utiliser les opérateurs + et – pour s'abonner et se désabonner.
    • Délégué générique : Les délégués génériques sont de trois types. Ce sont des actions, des fonctions et des prédicats.

Q8.  Qu'est-ce qu'une expression lambda en C# ?

Réponse : Une expression lambda est un moyen concis de définir des méthodes anonymes en C#. Il est souvent utilisé dans les requêtes LINQ et pour définir des délégués ou des gestionnaires d'événements. Les expressions lambda rendent le code plus lisible et expressif.

Q9. Que sont les délégués en C# ?

Réponse : Un délégué est un type qui représente des références à des méthodes avec une liste de paramètres et un type de retour particuliers. Les délégués sont utilisés pour définir les méthodes de rappel et implémenter la gestion des événements et constituent un élément fondamental des événements et des rappels C#.

Q10. Expliquez le concept de boxing et de unboxing en C#.

Réponse : La boxe est le processus de conversion d'un type valeur en un type référence, et le déballage est le processus inverse de conversion d'une valeur encadrée en un type valeur. Le boxing et le unboxing peuvent avoir un impact sur les performances, ils doivent donc être utilisés judicieusement.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Article précédent:Chaîne inversée en C#Article suivant:Chaîne inversée en C#