Industriële fabricage
Industrieel internet der dingen | Industriële materialen | Onderhoud en reparatie van apparatuur | Industriële programmering |
home  MfgRobots >> Industriële fabricage >  >> Industrial programming >> C Taal

Top 50 C#-interviewvragen en -antwoorden voor ervaring en eerstejaars (2021-update)

C# is een programmeertaal voor algemene doeleinden die verschillende disciplines omvat, zoals objectgeoriënteerd programmeren, statisch typen, componentgericht programmeren, sterk typen, enz. C# wordt veel gebruikt in het ASP.NET-framework voor het maken van websites, webapplicaties en games. Er zijn enorme mogelijkheden voor C#-programmering over de hele wereld. Als je overweegt een carrière in C#-programmering op te bouwen, moet je een interview afbreken waarin je verschillende C#-basis tot C# lastige interviewvragen en antwoorden zult krijgen, zoals hieronder vermeld.

Dit is een samengestelde lijst met de belangrijkste C#-interviewvragen en -antwoorden, die waarschijnlijk tijdens het interview zullen worden gesteld. Kandidaten krijgen waarschijnlijk standaard C#-interviewvragen tot geavanceerde C#-interviewvragen, afhankelijk van hun ervaring en verschillende andere factoren. Deze lijst bevat alle C sharp-interviewvragen voor eerstejaars en C#-interviewvragen voor ervaren professionals.

Gratis PDF-download:Vragen voor sollicitatiegesprekken in C#

C#-interviewvragen en antwoorden voor eerstejaars en 2/3/5/10 jaar ervaring

Hier zijn enkele veelgestelde sollicitatievragen voor zowel eerstejaars als ervaren kandidaten voor C#-ontwikkelaars om de juiste baan te vinden.

We hebben meer dan 50 basisvaardigheden behandeld om veelgestelde vragen en antwoorden over C#-interviews te verbeteren

C# Basic sollicitatievragen voor eerstejaars

  • Wat is C#?
  • Leg typen opmerkingen in C# uit met voorbeelden
  • Kunnen er meerdere catch-blokken worden uitgevoerd?
  • Wat is het verschil tussen openbaar, statisch en ongeldig?
  • Wat is een object?
  • Configuratoren definiëren
  • Wat is Jagged Arrays?
  • Wat is het verschil tussen ref &out-parameters?
  • Wat is het gebruik van de instructie 'using' in C#?
  • Wat is serialisatie?

1. Wat is C#?

C# is een objectgeoriënteerde, typeveilige en beheerde taal die is gecompileerd door .Net-framework om Microsoft Intermediate Language te genereren.

2. Leg typen opmerkingen in C# uit met voorbeelden

Enkele regel

Voorbeeld:

//This is a single line comment

ii. Meerdere regels (/* */)

Voorbeeld:

/*This is a multiple line comment
We are in line 2
Last line of comment*/

iii. XML-opmerkingen (///).

Bijv.:

/// summary;
/// Set error message for multilingual language.
/// summary

3. Kunnen meerdere catch-blokken worden uitgevoerd?

Nee, meerdere catch-blokken van hetzelfde type kunnen niet worden uitgevoerd. Zodra de juiste catch-code is uitgevoerd, wordt de besturing overgedragen naar het definitieve blok en wordt de code die volgt op het definitieve blok uitgevoerd.

4. Wat is het verschil tussen openbaar, statisch en ongeldig?

Openbaar gedeclareerde variabelen of methoden zijn overal in de toepassing toegankelijk. Statisch gedeclareerde variabelen of methoden zijn wereldwijd toegankelijk zonder een instantie van de klasse te maken. Statische leden zijn standaard niet wereldwijd toegankelijk, dit hangt af van het type gewijzigde toegang dat wordt gebruikt. De compiler slaat het adres van de methode op als het ingangspunt en gebruikt deze informatie om de uitvoering te starten voordat er objecten worden gemaakt. En Void is een typemodifier die stelt dat de methode of variabele geen waarde retourneert.

5. Wat is een object?

Object in C#

Een object is een instantie van een klasse waarmee we toegang krijgen tot de methoden van die klasse. Het trefwoord "Nieuw" wordt gebruikt om een ​​object te maken. Een klasse die een object in het geheugen maakt, bevat de informatie over de methoden, variabelen en het gedrag van die klasse.

6. Definieer constructeurs

Een constructor is een lidfunctie in een klasse die dezelfde naam heeft als zijn klasse. De constructor wordt automatisch aangeroepen wanneer een objectklasse wordt gemaakt. Het construeert de waarden van gegevensleden terwijl de klasse wordt geïnitialiseerd.

7. Wat is Jagged Arrays?

De array die elementen van het type array heeft, wordt jagged array genoemd. De elementen kunnen verschillende afmetingen en afmetingen hebben. We kunnen gekartelde array ook een array van arrays noemen.

8. Wat is het verschil tussen ref &out-parameters?

Een argument dat als ref wordt doorgegeven, moet worden geïnitialiseerd voordat het wordt doorgegeven aan de methode, terwijl de parameter out niet hoeft te worden geïnitialiseerd voordat het wordt doorgegeven aan een methode.

9. Wat is het gebruik van de instructie 'using' in C#?

Het 'gebruikende' blok wordt gebruikt om een ​​bron te verkrijgen en te verwerken en vervolgens automatisch te verwijderen wanneer de uitvoering van het blok is voltooid.

10. Wat is serialisatie?

Wanneer we een object door een netwerk willen transporteren, dan moeten we het object omzetten in een stroom van bytes. Het proces van het omzetten van een object in een stroom van bytes wordt serialisatie genoemd. Om een ​​object serialiseerbaar te maken, moet het ISerialize Interface implementeren. De-serialisatie is het omgekeerde proces van het maken van een object uit een stroom van bytes.

11. Kunnen we "this" commando gebruiken binnen een statische methode?

We kunnen 'This' niet gebruiken in een statische methode omdat we alleen statische variabelen/methoden kunnen gebruiken in een statische methode.

12. Wat is het verschil tussen constanten en alleen-lezen?

Constante variabelen worden tijdens het compileren gedeclareerd en geïnitialiseerd. De waarde kan daarna niet meer worden gewijzigd. Alleen-lezen wordt alleen gebruikt als we de waarde tijdens runtime willen toewijzen.

C# geavanceerde sollicitatievragen voor 3/5/10 jaar ervaring

13. Wat is een interfaceklasse? Geef er een voorbeeld van

Een interface is een abstracte klasse die alleen openbare abstracte methoden heeft, en de methoden hebben alleen de verklaring en niet de definitie. Deze abstracte methoden moeten worden geïmplementeerd in de overgeërfde klassen.

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
namespace DemoApplication
{
 interface Guru99Interface
 {
  void SetTutorial(int pID, string pName);
  String GetTutorial();
 }

 class Guru99Tutorial : Guru99Interface
 {
  protected int TutorialID;
  protected string TutorialName;

  public void SetTutorial(int pID, string pName)
  {
   TutorialID = pID;
   TutorialName = pName;
  }

  public String GetTutorial()
  {
   return TutorialName;
  }

  static void Main(string[] args)
  {
   Guru99Tutorial pTutor = new Guru99Tutorial();

   pTutor.SetTutorial(1,".Net by Guru99");

   Console.WriteLine(pTutor.GetTutorial());

   Console.ReadKey();
  }
 }
}

14. Wat zijn waardetypes en referentietypes?

Een waardetype bevat een gegevenswaarde binnen zijn eigen geheugenruimte. Voorbeeld

int a = 30;

Referentietype slaat het adres op van het object waar de waarde wordt opgeslagen. Het is een verwijzing naar een andere geheugenlocatie.

string b = "Hello Guru99!!";

15. Wat zijn Custom Control en User Control?

Aangepaste besturingselementen zijn besturingselementen die worden gegenereerd als gecompileerde code (Dll's), die gemakkelijker te gebruiken zijn en aan de toolbox kunnen worden toegevoegd. Ontwikkelaars kunnen besturingselementen naar hun webformulieren slepen en neerzetten. Attributen kunnen, in ontwerptijd. We kunnen eenvoudig aangepaste besturingselementen toevoegen aan meerdere toepassingen (indien gedeelde dll's). Dus als ze privé zijn, kunnen we naar de dll-map van de webtoepassing kopiëren en vervolgens een referentie toevoegen en ze gebruiken.

User Controls lijken erg op ASP include-bestanden en zijn eenvoudig te maken. Gebruikersbesturingselementen kunnen niet in de gereedschapskist worden geplaatst en er worden gesleept - eruit gehaald. Ze hebben hun ontwerp en code achter de hand. De bestandsextensie voor gebruikersbesturing is ascx.

16. Wat zijn verzegelde klassen in C#?

We maken verzegelde klassen wanneer we de over te nemen klasse willen beperken. Verzegelde modifier die wordt gebruikt om afleiding van een klasse te voorkomen. Als we met kracht een verzegelde klasse specificeren als basisklasse, treedt er een compileerfout op.

17. Wat is methode-overbelasting?

Overbelasting van methoden is het creëren van meerdere methoden met dezelfde naam met unieke handtekeningen in dezelfde klasse. Wanneer we compileren, gebruikt de compiler overbelastingsresolutie om de specifieke methode te bepalen die moet worden aangeroepen.

18. Wat is het verschil tussen Array en Arraylist?

In een array kunnen we alleen items van hetzelfde type hebben. De grootte van de array is vast bij vergelijking. Een arraylist is vergelijkbaar met een array, maar heeft geen vaste grootte.

19. Kan een privé virtuele methode worden overschreven?

Nee, omdat ze niet buiten de klas toegankelijk zijn.

20. Beschrijf de toegankelijkheidsmodifier "beschermd intern".

Beveiligde Interne variabelen/methoden zijn toegankelijk binnen dezelfde assembly en ook vanuit de klassen die zijn afgeleid van deze bovenliggende klasse.

21. Wat zijn de verschillen tussen de klassen System.String en System.Text.StringBuilder?

System.String is onveranderlijk. Wanneer we de waarde van een stringvariabele wijzigen, wordt een nieuw geheugen toegewezen aan de nieuwe waarde en wordt de vorige geheugentoewijzing vrijgegeven. System.StringBuilder is ontworpen om een ​​concept te hebben van een veranderlijke string waar een verscheidenheid aan bewerkingen kan worden uitgevoerd zonder aparte geheugenlocatie voor de gewijzigde string toe te wijzen.

22. Wat is het verschil tussen de System.Array.CopyTo() en System.Array.Clone() ?

Met behulp van de Clone()-methode maken we een nieuw array-object met alle elementen in de originele Array en met behulp van de CopyTo()-methode. Alle elementen van een bestaande array worden gekopieerd naar een andere bestaande array. Beide methoden voeren een ondiepe kopie uit.

23. Hoe kunnen we de elementen van de array in aflopende volgorde sorteren?

Met behulp van Sort()-methoden gevolgd door Reverse()-methode.

24. Noteer de C#-syntaxis om een ​​uitzondering op te vangen

Om een ​​uitzondering op te vangen, gebruiken we try-catch-blokken. Catch-blok kan een parameter van het type system.Exception hebben.

Bijv.:

try {
    GetAllData();
} 
catch (Exception ex) {
}

In het bovenstaande voorbeeld kunnen we de parameter weglaten uit het catch-statement.

25. Wat is het verschil tussen een interface en een abstracte klasse?

Interfaces hebben alle methoden met alleen declaratie maar geen definitie. In een abstracte klasse kunnen we enkele concrete methoden hebben. In een interfaceklasse zijn alle methoden openbaar. Een abstracte klasse kan privémethoden hebben.

26. Wat is het verschil tussen de methoden Finalize() en Dispose()?

Dispose() wordt aangeroepen wanneer we willen dat een object onbeheerde bronnen ermee vrijgeeft. Aan de andere kant wordt Finalize() voor hetzelfde doel gebruikt, maar het zorgt niet voor het verzamelen van afval van een object.

27. Wat zijn kringverwijzingen?

Cirkelverwijzing is een situatie waarin twee of meer bronnen van elkaar afhankelijk zijn, waardoor de vergrendelingsconditie wordt veroorzaakt en de bronnen onbruikbaar worden.

28. Wat zijn generieke geneesmiddelen in C#.NET?

Generieken worden gebruikt om herbruikbare codeklassen te maken om de coderedundantie te verminderen, de typeveiligheid en de prestaties te verhogen. Met behulp van generieke geneesmiddelen kunnen we verzamelingsklassen maken. Als u een generieke verzameling wilt maken, moet de naamruimte System.Collections.Generic worden gebruikt in plaats van klassen zoals ArrayList in de naamruimte System.Collections. Generics promoot het gebruik van geparametriseerde typen.

29. Wat is een objectpool in .NET?

Een objectpool is een container met objecten die klaar zijn om te worden gebruikt. Het volgt het object dat momenteel in gebruik is, het totale aantal objecten in de pool. Dit vermindert de overhead van het maken en opnieuw maken van objecten.

30. Maak een lijst van de veelgebruikte soorten uitzonderingen in .net

ArgumentException, ArgumentNullException, ArgumentOutOfRangeException, ArithmeticException, DivideByZeroException, OverflowException, IndexOutOfRangeException, InvalidCastException, InvalidOperationException, IOEndOfStreamException, NullReferenceException, OutOfOverflowException enz.

31. Wat zijn aangepaste uitzonderingen?

Soms zijn er enkele fouten die moeten worden afgehandeld volgens de vereisten van de gebruiker. Aangepaste uitzonderingen worden voor hen gebruikt en zijn gedefinieerde uitzonderingen.

32. Wat zijn afgevaardigden?

Afgevaardigden zijn hetzelfde als functieaanwijzers in C++, maar het enige verschil is dat ze typeveilig zijn, in tegenstelling tot functieaanwijzers. Afgevaardigden zijn vereist omdat ze kunnen worden gebruikt om veel meer algemene typeveilige functies te schrijven.

33. Hoe erf je een klasse in een andere klasse in C#?

Colon wordt gebruikt als overervingsoperator in C#. Plaats gewoon een dubbele punt en dan de klasnaam.

openbare klasse DerivedClass :BaseClass

34. Wat is de basisklasse in .net waarvan alle klassen zijn afgeleid?

System.Object

35. Wat is het verschil tussen methodeoverschrijving en methodeoverbelasting?

Bij het overschrijven van methoden wijzigen we de methodedefinitie in de afgeleide klasse die het methodegedrag verandert. Overbelasting van methoden is het creëren van een methode met dezelfde naam binnen dezelfde klasse met verschillende handtekeningen.

36. Wat zijn de verschillende manieren waarop een methode kan worden overbelast?

Methoden kunnen overbelast worden door verschillende datatypes voor een parameter, verschillende volgorde van parameters en verschillend aantal parameters te gebruiken.

37. Waarom kun je de toegankelijkheidsmodifier voor methoden in de interface niet specificeren?

In een interface hebben we virtuele methoden die geen methodedefinitie hebben. Alle methoden zijn er om te worden overschreven in de afgeleide klasse. Daarom zijn ze allemaal openbaar.

38. Hoe kunnen we instellen dat de klasse wordt overgenomen, maar voorkomen dat de methode wordt overschreven?

Verklaar de klasse als openbaar en verzegel de methode om te voorkomen dat deze wordt overschreven.

39. Wat gebeurt er als de overgenomen interfaces conflicterende methodenamen hebben?

Implementeren is aan jou, want de methode bevindt zich in je eigen klasse. Er kan een probleem zijn wanneer de methoden van verschillende interfaces verschillende gegevens verwachten, maar voor zover de compiler er om geeft, zit je goed.

40. Wat is het verschil tussen een structuur en een klasse?

Structuren zijn variabelen van het waardetype en klassen zijn referentietypes. Structuren die op de stapel zijn opgeslagen, veroorzaken extra overhead, maar sneller ophalen. Structuren kunnen niet worden geërfd.

41. Hoe gebruik je nullable-typen in .Net?

Waardetypen kunnen hun normale waarden of een null-waarde aannemen. Dergelijke typen worden nullable-typen genoemd.

Int? someID = null;
If(someID.HasVAlue)
{
}

42. Hoe kunnen we een array maken met niet-standaardwaarden?

We kunnen een array maken met niet-standaardwaarden met Enumerable.Repeat.

43. Wat is het verschil tussen de operators "is" en "as" in c#?

De operator "is" wordt gebruikt om de compatibiliteit van een object met een bepaald type te controleren en geeft het resultaat als Booleaans terug.

"as" operator wordt gebruikt voor het casten van een object naar een type of een klasse.

44. Wat is een multicast-afgevaardigde?

Een gedelegeerde waaraan meerdere handlers zijn toegewezen, wordt multicast-afgevaardigde genoemd. Elke handler is toegewezen aan een methode.

45. Wat zijn indexeerders in C# .NET?

Indexers staan ​​bekend als slimme arrays in C#. Hiermee kunnen de instanties van een klasse op dezelfde manier worden geïndexeerd als een array.

Bijv.:

public int this[int index]    // Indexer declaration

46. Wat is het verschil tussen de "throw" en "throw ex" in .NET?

"Throw" -instructie behoudt de originele foutstack, terwijl "throw ex" de stacktracering heeft vanaf hun werppunt. Het wordt altijd aangeraden om "gooien" te gebruiken omdat dit nauwkeurigere foutinformatie geeft.

47. Wat zijn C#-kenmerken en de betekenis ervan?

C# biedt ontwikkelaars een manier om declaratieve tags op bepaalde entiteiten te definiëren, bijv. Klasse, methode, etc. worden attributen genoemd. De informatie van het attribuut kan tijdens runtime worden opgehaald met Reflection.

48. Hoe implementeer je een singleton-ontwerppatroon in C#?

In een singleton-patroon kan een klasse slechts één instantie hebben en biedt deze wereldwijd een toegangspunt.

Bijv.:

Public sealed class Singleton
{
Private static readonly Singleton _instance = new Singleton();
}

49. Wat is het verschil tussen directcast en ctype?

DirectCast wordt gebruikt om het type object te converteren waarvoor het runtime-type hetzelfde moet zijn als het opgegeven type in DirectCast.

Ctype wordt gebruikt voor conversie waarbij de conversie wordt gedefinieerd tussen de expressie en het type.

50. Is C#-code beheerde of onbeheerde code?

C# is beheerde code omdat de runtime van Common Language C#-code kan compileren naar een tussentaal.

51. Wat is Console-applicatie?

Een consoletoepassing is een toepassing die kan worden uitgevoerd in de opdrachtprompt in Windows. Voor elke beginner op .Net is het bouwen van een consoletoepassing idealiter de eerste stap om mee te beginnen.

52. Geef een voorbeeld van het verwijderen van een element uit de wachtrij

De dequeue-methode wordt gebruikt om een ​​element uit de wachtrij te verwijderen.

using System;
using System.Collections;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace DemoApplication
{
 class Program
 {
  static void Main(string[] args)
  {
   Queue qt = new Queue();
   qt.Enqueue(1);
   qt.Enqueue(2);
   qt.Enqueue(3);

   foreach (Object obj in qt)
   {
    Console.WriteLine(obj);
   }
    Console.WriteLine(); Console.WriteLine();
    Console.WriteLine("The number of elements in the Queue " + qt.Count);
    Console.WriteLine("Does the Queue contain " + qt.Contains(3));
    Console.ReadKey();
   }
 }
}

C Taal

  1. Onze top 5 bronnen voor systeemingenieurs en architecten uit 2017
  2. Topstatistieken voor het meten van de ervaring van eindgebruikers in uw cloudapplicaties
  3. De belangrijkste vragen en antwoorden over cloudinterviews voor 2020
  4. De vijf belangrijkste problemen en uitdagingen voor 5G
  5. 10 Beste C# IDE voor Windows, Linux, Mac (2021 Update)
  6. Supply Chain Finance:trends, uitdagingen en vragen voor 2019
  7. Awards-update:Robotics and Automation News Awards 2021 gaat door
  8. meo klasse 4 elektrische mondelinge vragen en antwoorden
  9. 5G en Edge zorgen voor nieuwe uitdagingen op het gebied van cyberbeveiliging voor 2021
  10. Vragen en antwoorden over Lights Out-productie
  11. Top 5 perslucht- en gasartikelen van 2021