Innholdsfortegnelse[Gjemme seg][Forestilling]
- 1. Hva er egentlig C#?
- 2. Hva skiller C# fra C?
- 3. Hva er egentlig en klasse?
- 4. Hva er egentlig en gjenstand?
- 5. Hva er forskjellen mellom begrepene statisk, offentlig og ugyldig?
- 6. Definer konstruktører.
- 7. Hva er C# i søppelinnsamling?
- 8. Hva betyr egentlig struktur i C#?
- 9. Hvordan blir C#-koden kompilert?
- 10. Beskriv tydelig de forskjellige C#-klassene.
- 11. Hva er egentlig Jagged Arrays?
- 12. Hva er forskjellen mellom ut og ref parametere?
- 13. Hva er en destruktor i C#?
- 14. Hva er en indekser i C#?
- 15. Hva er forskjellen mellom administrert og uadministrert kode?
- 16. Beskriv serialisering.
- 17. I C#, hvordan varierer felt og egenskaper fra hverandre?
- 18. Hvordan kan du beskrive bruk av utsagn i C# i detalj?
- 19. Hvordan vil du implementere flere grensesnitt med samme metodenavn i samme klasse?
- 20. Hva er forskjellen mellom Task og Thread i C#?
- 21. Hva er finalize-funksjonen i C#?
- 22. Lag et skille mellom fullfør blokker og fullfør.
- 23. Beskriv C# dispose of-metoden i detalj.
- 24. Hva er C#-metodeoverbelastning? Belyse.
- 25. Hva er forskjellen mellom skrivebeskyttet og konstanter?
- 26. Hva er brukerkontroll og tilpasset kontroll?
- 27. Hva er en multicast-delegat i C#?
- 28. Hva er egentlig objektpooling i C#?
- 29. Hva er egentlig generikk i C#.NET?
- 30. Er det mulig å overstyre en privat virtuell metode?
- 31. Skille mellom metodeoverbelastning og metodeoverstyring i C#?
- 32. I C#, hva er forskjellen mellom String og StringBuilder?
- 33. Hva er egentlig delegater?
- 34. Når bør du bruke multithreading i C# og når bør du unngå det?
- 35. Hva er en multicast-delegat i C#?
- 36. I C#, hva er forskjellen mellom sen binding og tidlig binding?
- 37. Skille mellom Directcast og Ctype?
- 38. Hvordan brukes HashSet i C#?
- 39. Vennligst forklar Thread Pooling i C#.
- 40. Hva er forskjellen mellom søkeordene Const og ReadOnly i C#?
- 41. Hvilke detaljer angående C# XSD-filen kan du gi?
- 42. Hva betyr Get and Set Accessor-egenskaper for deg?
- 43. Hva er egentlig avhengighetsinjeksjon i C#?
- konklusjonen
C# (tidligere kjent som C sharp) er et objektorientert programmeringsspråk som ofte brukes av utviklere for å gjøre flere aktiviteter og oppnå flere mål.
Objektorienterte programmeringsspråk, som C++, Python og Java, kommer i en rekke varianter. Disse programmeringsspråkene er designet for å fungere innenfor et bestemt rammeverk. På samme måte er C# laget og utviklet for et spesifikt rammeverk, nemlig NET.
.NET-rammeverket ble laget av Microsoft. Det gir en enorm plattform for utvikling av applikasjoner, erklæringer, applikasjonsinstruksjoner og så videre. C# kan brukes til webutvikling, spill, mobile apps, Windows-applikasjoner og andre lignende prosjekter.
Med slike fordeler har bruken av C# utvidet seg, og behovet for spesialister som kan utnytte det nøyaktig har blitt doblet. Fordi C# er så populært programmeringsspråk, en mengde store og små bedrifter baserer sine produkter på det.
Så øv på grunnleggende og avanserte C#-spørsmål for å klare intervjuene.
1. Hva er egentlig C#?
Microsoft C# er en moderne, generell Objektorientert programmering Språk. C# er ment for Common Language Infrastructure (CLI), som omfatter kjørbar kode og et kjøretidsmiljø som muliggjør bruk av en rekke høynivåspråk på forskjellige datasystemer og arkitekturer.
2. Hva skiller C# fra C?
C er vanligvis kjent som det prosedyrespråk, mens C# er mer objektorientert. Hovedforskjellen er at C# tillater automatisert søppelinnsamling via Common Language Runtime (CLR), mens C ikke gjør det. C# krever at.NET-rammeverket kjøres, mens C er et plattformuavhengig språk.
3. Hva er egentlig en klasse?
En klasse fungerer som en mal for å bygge objekter. Sammen med teknikker har den attributter. Fra en enkelt klasse kan vi produsere flere forekomster av et objekt.
4. Hva er egentlig en gjenstand?
En klasseforekomst kjent som et objekt er hvordan vi får tilgang til en klasses funksjoner. For å konstruere et objekt kan vi bruke nøkkelordet "nye". Funksjonene, datamedlemmene og oppførselen til en klasse som produserer et objekt i minnet lagres.
5. Hva er forskjellen mellom begrepene statisk, offentlig og ugyldig?
Hvor som helst i programmet kan få tilgang til offentlig definerte variabler. Statiske variabler kan nås globalt uten krav om å bygge en klasseforekomst. I C# brukes en typemodifikator kalt Void for å indikere returtypen til en metode.
6. Definer konstruktører.
En konstruktør er en klassespesifikk medlemsfunksjon. Når et objekt dannes, kalles konstruktøren automatisk. Klassen konstruerer alle verdiene til datamedlemmer etter hvert som den initialiseres.
7. Hva er C# i søppelinnsamling?
Prosessen med å rydde opp i minnet som har vært okkupert av uønskede gjenstander er kjent som søppelinnsamling. En viss mengde minne tilordnes automatisk til et klasseobjekt når det opprettes i heap-minnet. Nå som du er ferdig med å jobbe med elementet, er minneplassen det tidligere opptok bortkastet. Minnet må frigjøres.
8. Hva betyr egentlig struktur i C#?
I C# er en struktur en datatype som består av en rekke datatyper, for eksempel metoder, felt, konstruktører, konstanter, egenskaper, indeksere, operatorer og til og med andre strukturer. En struktur hjelper til med å konsolidere mange datatyper til en enkelt enhet. På denne måten er de analoge med kurs. Strukturer er verdityper, mens klasser er referansetyper.
9. Hvordan blir C#-koden kompilert?
Når et prosjekt er opprettet, kompileres C#-kildekoden til Intermediate Language (IL). IL er en samling av instruksjoner som genererer maskinkode for kjøring på en maskinprosessor. Kode sendes fra forprosessoren til kompilatoren, deretter til assembleren og til slutt til linkeren i fire trinn.
10. Beskriv tydelig de forskjellige C#-klassene.
- Statisk: Det er den typen klasse som ikke kan instansieres, derfor kan vi ikke bruke det nye nøkkelordet til å lage et objekt av det, men vi kan kalle medlemmene av klassen direkte ved å bruke klassenavnet deres.
- Abstrakt: For å definere abstrakte klasser, bruk det abstrakte nøkkelordet. Ingen objekter kan opprettes for abstrakte klasser. Den må arves i en underklasse hvis du vil bruke den. Enkle definisjoner av abstrakte og ikke-abstrakte metoder er tillatt i en abstrakt klasse.
- Delvis: Denne klassen lar deg separere egenskapene, metodene og hendelsene dine i flere kildefiler, som deretter kombineres til en enkelt klasse på byggetidspunktet.
- Forseglet: En forseglet klasse kan ikke arves fra en annen klasse og har begrensede egenskaper. Tilgangsmodifikatorer kan ikke legges til den forseglede klassen.
11. Hva er egentlig Jagged Arrays?
En matrise med matriseelementer refereres til som en tagget matrise. Elementer av Jagged Arrays kan ha mange former og størrelser.
12. Hva er forskjellen mellom ut og ref parametere?
Når du gir et argument som ref, må parameteren initialiseres før den sendes til metoden. En ut-parameter trenger derimot ikke å initialiseres før den leveres til en metode.
13. Hva er en destruktor i C#?
En destruktor er en type metode i C# som er en del av en klasse. En destruktors primære funksjon er å slette forekomster av en klasse når de ikke lenger er nødvendige for å frigjøre minne. Destruktorer er noen ganger kjent som finalizers.
14. Hva er en indekser i C#?
Indeksere brukes i C# for å finne forekomster av en klasse eller struktur. De indekserte verdiene kan derfor nås på samme måte som en matrise, men uten å eksplisitt deklarere en type eller instansmedlem.
15. Hva er forskjellen mellom administrert og uadministrert kode?
Administrert kode lar deg kjøre kode i.NET-rammeverket på et administrert CLR-runtime-miljø.
Kontrollert kode kjøres på det administrerte kjøretidsmiljøet i stedet for operativsystemet. Tilbyr en rekke tjenester som søppeloppsamler, unntakshåndtering og så videre.
Uadministrert kode er kode som ikke kjøres på CLR og opererer utenfor.NET-rammeverket. De leverer ikke språktjenester på høyt nivå og opererer derfor uten dem. C++ er et slikt eksempel.
16. Beskriv serialisering.
En strøm av byte må opprettes fra elementet for å overføre det over et nettverk. Serialisering er handlingen for å transformere et element til en strøm av byte. Serialiseringsgrensesnittet må implementeres for at et element skal kunne serialiseres. Det motsatte av å konstruere et objekt fra en strøm av byte kalles de-serialisering.
17. I C#, hvordan varierer felt og egenskaper fra hverandre?
Et felt er et klassemedlem eller et objekt av noe slag som fungerer som et sted for lagring av data, mens en egenskap er et klassemedlem som tilbyr en metode for å lese, skrive og beregne verdien av et privat felt.
18. Hvordan kan du beskrive bruk av utsagn i C# i detalj?
Brukersetningen brukes til å begrense bruken av én eller flere ressurser i applikasjonen. Ressursene forbrukes og frigjøres på en konstant basis.
Denne erklæringens primære oppgave er å administrere uønskede ressurser og automatisk frigjøre dem. Når objektet som bruker ressursen er dannet, sørg for at objektets disponer-funksjon kalles for å frigjøre ressursene som kreves av det objektet; her er det nyttig å bruke utsagn.
19. Hvordan vil du implementere flere grensesnitt med samme metodenavn i samme klasse?
For å implementere flere grensesnitt med samme metodenavn, unngå å implementere dem i hoveddelen av funksjonen. I stedet vil du oppgi navnet på grensesnittet direkte i metodeteksten. Kompilatoren vil gjenkjenne hvilke grensesnittmetoder det refereres til, og løse problemet.
20. Hva er forskjellen mellom Task og Thread i C#?
En tråd er en ekte operativsystemtråd med sine egne stabel- og kjerneressurser. Tråd gir mest kontroll. Tråden lar deg avbryte (), suspendere () eller gjenoppta (). En tråds status kan observeres eller dens attributter, som stabelstørrelse, leilighetstilstand og kultur, kan angis. CLR holder en pool av tråder pakket inn av ThreadPool.
Task Parallel Library har en klasse som heter Task. I motsetning til ThreadPool, har ikke oppgaven sin egen operativsystemtråd. Oppgaver utføres av TaskScheduler, selv om standardplanleggeren utføres av ThreadPool. Det er mulig å bli varslet når en oppgave er fullført og å få et resultat.
21. Hva er finalize-funksjonen i C#?
Objektklassen som brukes til rensehandlinger definerer funksjonen finalize (). Når en referanse til et objekt ikke brukes over en lengre periode, vil søppeloppsamleren ofte kalle denne funksjonen.
Søppelsamleren frigjør automatisk kontrollerte ressurser, men hvis du ønsker å frigjøre unødvendige ressurser som filhåndtak, datatilkoblinger og så videre, må du eksplisitt implementere sluttføringsfunksjonen.
22. Lag et skille mellom fullfør blokker og fullfør.
Den ferdige blokken kalles opp etter at prøve-og-fang-blokkene er fullført siden den er nødvendig for unntakshåndtering. Kodeblokken utføres uavhengig av om unntaket ble fanget. Blokkens kode er generelt renere.
Finaliseringsmetoden påberopes rett før søppelinnsamling. Den ferdigstilte metodens hovedansvar er å rydde opp i uadministrert kode, som automatisk utløses hver gang en forekomst ikke kalles opp igjen.
23. Beskriv C# dispose of-metoden i detalj.
Disposeof()-funksjonen frigjør et objekts ubrukte ressurser. Ubrukte ressurser, som filer, datatilkoblinger og så videre. Denne funksjonen er spesifisert i grensesnittet IDisposable, som implementeres av klassen ved å deklarere grensesnittet IDisposable body.
Avhendingsfunksjonen kalles ikke automatisk; programmereren må implementere det manuelt for effektiv ressursutnyttelse.
24. Hva er C#-metodeoverbelastning? Belyse.
Metodeoverbelastning er en typisk tilnærming i C# som brukes til å konstruere en rekke metoder med samme navn og spesifiserte signaturer. Denne prosedyren gjentas med samme klasse.
Når metodeoverbelastningsprosedyren er fullført, starter kompilatoren operasjoner for å kalle spesifiserte handlinger basert på metodeoverbelastningen.
25. Hva er forskjellen mellom skrivebeskyttet og konstanter?
Konstante variabler deklareres og initialiseres under kompilering. Etter det kan denne verdien ikke endres. På den annen side brukes skrivebeskyttet når en verdi har blitt tildelt under kjøretiden.
26. Hva er brukerkontroll og tilpasset kontroll?
Kompilert kode brukes til å utvikle tilpassede kontroller. Disse kan være inkludert i verktøykassen og er enkle å bruke. Ved å dra og slippe disse kontrollene kan utviklere inkludere dem i nettskjemaene sine.
Brukerkontroller og ASP-inkluderte filer er ganske like. De er også enkle å lage. Brukerkontroller kan derimot ikke legges til verktøykassen. De kan heller ikke trekkes og slippes fra den.
27. Hva er en multicast-delegat i C#?
En multicast-delegat opprettholder referanser eller adresser til flere funksjoner samtidig. Når vi påkaller multicast-delegaten, vil den også påkalle alle de andre funksjonene den refererer til. For å kalle flere metoder, bruk hele metodesignaturen, akkurat som delegaten. Som et eksempel:
28. Hva er egentlig objektpooling i C#?
Objektpooling er en designteknikk i programvare som resirkulerer ting i stedet for å gjenoppbygge dem. Den oppnår dette ved å lagre utvalgte elementer i et basseng og gjøre dem tilgjengelige for bruk når en applikasjon ber om dem. Denne prosedyren forbedrer ytelsen ved å redusere unødvendig objektgenerering.
29. Hva er egentlig generikk i C#.NET?
Generikk brukes til å lage gjenbrukbare kodeklasser for å redusere koderedundans, forbedre typesikkerheten og forbedre hastigheten. Vi kan konstruere samlingsklasser med generikk.
I systemet bør et generisk navneområde brukes i stedet for klasser som ArrayList. Navneområde for samlinger. Bruken av parametriserte typer oppmuntres av generika.
30. Er det mulig å overstyre en privat virtuell metode?
En privat virtuell metode kan ikke overstyres siden den er privat for klassen og ikke kan nås utenfra.
31. Skille mellom metodeoverbelastning og metodeoverstyring i C#?
Metodeoverstyring er prosessen med å endre en avledet klasses grunnleggende definisjon. Metodene til den avledede klassen oppfører seg til slutt annerledes som et resultat av denne strategien.
Metodeoverbelastning, på den annen side, kan beskrives som handlingen med å generere mange metoder med samme navn, men distinkte signaturer under samme klasse.
32. I C#, hva er forskjellen mellom String og StringBuilder?
Et strengobjekt er uforanderlig, noe som betyr at det ikke kan endres når det først er opprettet. Ethvert forsøk på å endre strengobjektet vil resultere i opprettelsen av et nytt strengobjekt.
Et strengbyggerobjekt er derimot formbart og kan endres slik utvikleren finner det hensiktsmessig.
33. Hva er egentlig delegater?
I C++ er delegater fundamentalt sett det samme som funksjonspekere. Den eneste forskjellen mellom de to er at delegater er typesikre, mens funksjonspekere ikke er det. Delegater er nødvendige fordi de muliggjør konstruksjon av generiske typesikre funksjoner.
34. Når bør du bruke multithreading i C# og når bør du unngå det?
Multithreading, ofte kjent som threading, er en effektiv tilnærming for å øke hastigheten til et program der en rekke aktiviteter utføres samtidig. Det gjør det mulig for ulike tråder å kjøre uavhengig, i stedet for å vente på at det foregående trinnet skal fullføres. Dette har muligheten til å øke tempoet i et program.
Men når flere av programmets prosesser er sammenkoblet, anbefales ikke multithreading. For eksempel, hvis trinn B var avhengig av at trinn A ble fullført først, ville multithreading forårsake ytelsesbekymringer og programvarefeil. Tråding blir stadig mer følsom ettersom et program utvikler seg i kompleksitet.
35. Hva er en multicast-delegat i C#?
En multicast-delegat i C#, i motsetning til en grunnleggende delegat, refererer til en rekke målmetoder. Når en multicast-delegat brukes, kalles alle funksjonene som delegaten peker på. De implementeres ved hjelp av systemets MulticastDelegate-klasse.
36. I C#, hva er forskjellen mellom sen binding og tidlig binding?
- Tidlig binding finner sted på kompileringstidspunktet, mens sen binding finner sted under kjøring.
- Sen binding er ofte langsommere enn tidlig binding siden den skjer under kjøring.
- I motsetning til sen binding, som bruker objektet til å løse metodekall, løser tidlig binding metodekall ved hjelp av klasseinformasjon.
37. Skille mellom Directcast og Ctype?
Den typen objekt som krever at kjøretidstypen samsvarer med den angitte typen i DirectCast, konverteres ved hjelp av DirectCast.
Når en konvertering er spesifisert mellom et uttrykk og en type, brukes Ctype.
38. Hvordan brukes HashSet i C#?
I C# er et HashSet en uordnet samling av distinkte verdier. Generelt brukes det til å forhindre at dupliserte elementer settes inn i en samling, og det fungerer bedre enn en liste ved denne oppgaven.
HashSet-klassen, som stammer fra systemet, brukes til å implementere den.
39. Vennligst forklar Thread Pooling i C#.
I C# er en trådpool en samling tråder. Disse trådene brukes til å utføre oppgaver uten å forstyrre primærtrådens funksjonalitet. En tråd i en trådpool går tilbake til trådpoolen når den er ferdig.
Systemklassen inneholder klasser som håndterer tråden i trådpoolen og dens handlinger. Tråding. ThreadPool er et navneområde.
40. Hva er forskjellen mellom søkeordene Const og ReadOnly i C#?
- ReadOnly kan ikke deklareres i metoden, mens Const kan.
- Const er en kompileringstidskonstant, mens ReadOnly er en kjøretidskonstant.
- ReadOnly-verdier kan endres, men Const-verdier kan ikke.
41. Hvilke detaljer angående C# XSD-filen kan du gi?
XSD står for XML Schema Definition. Hvis ingen XSD-fil er koblet til XML-filen, kan den ha alle attributter, elementer og tagger. XSD-filen gir et rammeverk for XML-filen, og bestemmer hvilke komponenter og attributter som skal være til stede i XML-filen, samt rekkefølgen deres.
42. Hva betyr Get and Set Accessor-egenskaper for deg?
I C# har Get og Set kalt accessors siden de er laget ved hjelp av egenskaper. En egenskap tillater lesing og skriving til et privat felts verdi. Slike private felt er tilgjengelige via accessorer.
Mens Get-egenskapen brukes til å returnere verdien til en egenskap, brukes Set-egenskapen til å angi verdien.
43. Hva er egentlig avhengighetsinjeksjon i C#?
Dependency injection (DI) er en designteknikk i C# som brukes til å lage løst koblet programmering. Denne prosedyren overfører opprettelsen og bindingen av avhengige objekter utenfor klassen de er avhengige av. Hovedmålet er å gjøre fremtidige kodeendringer mer håndterbare.
konklusjonen
C# er det primære programmeringsspråket som brukes i alle programmeringsspråk på høyere nivå. C#-utviklere er etterspurt og kan finne attraktive karrieremuligheter i bransjer som front-end-utvikling, back-end-programmering og apputvikling. Og fordi Microsoft støtter det, vil C#-populariteten bare vokse.
De nevnte er de mest avgjørende C#-intervjuspørsmålene for erfarne fagfolk og nybegynnere. Se Hashdorks intervjuserie for hjelp til intervjuforberedelse.
Legg igjen en kommentar