Table of Contents[Ferstopje][Toanje]
- 1. Wat is krekt C #?
- 2. Wat ûnderskiedt C # fan C?
- 3. Wat is krekt in klasse?
- 4. Wat is krekt in objekt?
- 5. Wat is it ûnderskie tusken de termen statysk, iepenbier, en leechte?
- 6. Define Constructors.
- 7. Wat is C # yn garbage kolleksje?
- 8. Wat krekt betsjut struktuer yn C #?
- 9. Hoe wurdt C # koade kompilearre?
- 10. Dúdlik beskriuwe de ferskillende C # klassen.
- 11. Wat binne krekt Jagged Arrays?
- 12. Wat is it ferskil tusken de út en ref parameters?
- 13. Yn C #, wat is in destructor?
- 14. Yn C #, wat is in indexer?
- 15. Wat is it ferskil tusken managed en unmanaged koade?
- 16. Beskriuw serialization.
- 17. Yn C #, hoe ferskille fjilden en eigenskippen fan elkoar?
- 18. Hoe kinne jo beskriuwe mei help fan útspraken yn C # yn detail?
- 19. Hoe soe jo ymplemintearje tal fan ynterfaces mei deselde metoade namme yn deselde klasse?
- 20. Yn C #, wat is it ûnderskied tusken Taak en Thread?
- 21. Wat is de finalize funksje yn C #?
- 22. Meitsje in ûnderskied tusken finalize blokken en finalize.
- 23. Beskriuw de C # beskikke metoade yn detail.
- 24. Wat is C # metoade Overloading? Ferklearje.
- 25. Wat is it ferskil tusken allinnich-lêzen en konstanten?
- 26. Wat binne brûkerskontrôle en oanpaste kontrôle?
- 27. Yn C #, wat is in multicast delegate?
- 28. Wat is krekt foarwerp pooling yn C #?
- 29. Wat binne krekt generics yn C#.NET?
- 30. Is it mooglik om in privee firtuele metoade te oerskriuwen?
- 31. Ûnderskiede tusken metoade oerladen en metoade oerskriuwen yn C #?
- 32. Yn C #, wat is it ûnderskied tusken String en StringBuilder?
- 33. Wat binne delegaten krekt?
- 34. Wannear moatte jo multithreading brûke yn C # en wannear moatte jo it foarkomme?
- 35. Yn C #, wat is in multicast delegate?
- 36. Yn C #, wat is it ferskil tusken lette bining en iere bining?
- 37. Ûnderskiede tusken Directcast en Ctype?
- 38. Hoe wurdt HashSet brûkt yn C #?
- 39. Ferklearje asjebleaft Thread Pooling yn C #.
- 40. Wat is it ûnderskied tusken de Const en ReadOnly kaaiwurden yn C #?
- 41. Hokker details oangeande it C# XSD-bestân kinne jo leverje?
- 42. Wat betsjut Get and Set Accessor eigenskippen foar dy?
- 43. Wat is krekt ôfhinklikens ynjeksje yn C #?
- Konklúzje
C# (earder bekend as C sharp) is in objekt-rjochte programmeartaal dy't faak brûkt wurdt troch ûntwikkelders om ferskate aktiviteiten te dwaan en meardere doelen te berikken.
Objekt-rjochte programmeartalen, lykas C++, Python, en Java, komme yn in ferskaat oan smaken. Dizze programmeartalen binne ûntworpen om te funksjonearjen binnen in bepaald ramt. Op deselde manier wurdt C # makke en ûntwikkele foar in spesifyk ramt, nammentlik NET.
It .NET-framework is makke troch Microsoft. It biedt in grut platfoarm foar it ûntwikkeljen fan applikaasjes, deklaraasjes, applikaasje-ynstruksjes, ensfh. C# kin brûkt wurde foar webûntwikkeling, gaming, mobile apps, Windows-applikaasjes en oare ferlykbere projekten.
Mei sokke foardielen is it gebrûk fan C # útwreide, en de needsaak foar spesjalisten dy't it sekuer brûke kinne is ferdûbele. Omdat C # is sa'n populêr programmear taal, in mannichte fan grutte en lytse bedriuwen basearje har produkten derop.
Oefenje dus basis- en avansearre nivo C #-fragen om de ynterviews te ace.
1. Wat is krekt C #?
Microsoft C # is in hjoeddeistich, algemien doel, objektorientearre programmearring taal. C # is bedoeld foar de Common Language Infrastructure (CLI), dy't útfierbere koade en in runtime-omjouwing omfettet dy't it gebrûk fan ferskate talen op hege nivo's mooglik makket op ferskate kompjûtersystemen en arsjitektueren.
2. Wat ûnderskiedt C # fan C?
C is meastentiids bekend as de prosedurele taal, wylst C # mear objekt-oriïntearre is. It wichtichste ûnderskied is dat C # automatyske garbage-sammeling mooglik makket fia de Common Language Runtime (CLR), wylst C dat net docht. C# fereasket it.NET-framework om te rinnen, wylst C in platfoarm-ûnôfhinklike taal is.
3. Wat is krekt in klasse?
In klasse tsjinnet as sjabloan foar it bouwen fan objekten. Tegearre mei techniken hat it attributen. Ut in inkele klasse kinne wy produsearje ferskate eksimplaren fan in foarwerp.
4. Wat is krekt in objekt?
In klasse eksimplaar bekend as in objekt is hoe't wy tagong krije ta de funksjonaliteiten fan in klasse. Om in objekt te konstruearjen kinne wy it "nije" kaaiwurd brûke. De funksjes, gegevensleden en gedrach fan in klasse dy't in objekt yn it ûnthâld produsearret wurde opslein.
5. Wat is it ûnderskie tusken de termen statysk, iepenbier, en leechte?
Oeral yn it programma kinne tagong ta iepenbier definieare fariabelen. Statyske fariabelen kinne wrâldwiid tagonklik wurde sûnder de eask om in klasseeksimplaar te bouwen. Yn C # wurdt in typemodifier neamd Void brûkt om it returntype fan in metoade oan te jaan.
6. Define Constructors.
In konstruktor is in klasse-spesifike lidfunksje. As in objekt wurdt foarme, wurdt de konstruktor automatysk neamd. De klasse konstruearret alle wearden fan gegevens leden as it wurdt inisjalisearre.
7. Wat is C # yn garbage kolleksje?
It proses fan it opromjen fan ûnthâld dat is beset troch net winske items stiet bekend as garbage collection. In beskaat bedrach fan ûnthâld wurdt automatysk tawiisd oan in klasse foarwerp as it wurdt makke yn de heap ûnthâld. No't jo klear binne mei it wurk oan it item, is de ûnthâldromte dy't it earder besette fergriemd. It ûnthâld moat frijmakke wurde.
8. Wat krekt betsjut struktuer yn C #?
Yn C # is in struktuer in gegevenstype dat bestiet út ferskate gegevenstypen, lykas metoaden, fjilden, konstruktors, konstanten, eigenskippen, yndeksers, operators en sels oare struktueren. In struktuer helpt by de konsolidaasje fan in protte gegevenssoarten yn ien ienheid. Op dizze manier binne se analoog oan kursussen. Struktueren binne weardetypen, wylst klassen referinsjetypen binne.
9. Hoe wurdt C # koade kompilearre?
As in projekt wurdt oanmakke, wurdt de C # boarnekoade kompilearre yn Intermediate Language (IL). IL is in samling ynstruksjes dy't generearret masine koade foar útfiering op in masine prosessor. Koade wurdt stjoerd fan de preprocessor nei de kompilator, dan nei de assembler, en úteinlik nei de linker yn fjouwer stadia.
10. Dúdlik beskriuwe de ferskillende C # klassen.
- Statysk: It is it soarte fan klasse dat kin net wurde instantiated, dêrom kinne wy net brûke it nije kaaiwurd te meitsje in objekt fan it, mar wy kinne neame de leden fan de klasse direkt troch it brûken fan harren klasse namme.
- Abstrakt: Om abstrakte klassen te definiearjen, brûk it abstrakte kaaiwurd. Gjin objekten kinne makke wurde foar abstrakte klassen. It moat erfd wurde yn in subklasse as jo it brûke wolle. Ienfâldige definysjes fan abstrakte en net-abstrakte metoaden binne tastien binnen in Abstrakt klasse.
- Diel: Mei dizze klasse kinne jo jo eigenskippen, metoaden en eveneminten skieden yn ferskate boarnebestannen, dy't letter wurde kombineare yn ien klasse by de bou.
- Fersegele: In fersegele klasse kin net erfd wurde fan in oare klasse en hat beheinde skaaimerken. Tagongsmodifiers kinne net tafoege wurde oan de fersegele klasse.
11. Wat binne krekt Jagged Arrays?
In array mei array-eleminten wurdt oantsjut as in jagged array. Eleminten fan Jagged Arrays kinne fan in protte foarmen en maten wêze.
12. Wat is it ferskil tusken de út en ref parameters?
By it jaan fan in argumint as ref, moat de parameter inisjalisearre wurde foardat se trochjûn wurde oan de metoade. In út-parameter, oan 'e oare kant, hoecht net te wurde inisjalisearre foardat se wurde levere oan in metoade.
13. Yn C #, wat is in destructor?
In destructor is in soarte metoade yn C # dat diel útmakket fan in klasse. De primêre funksje fan in destruktor is om eksimplaren fan in klasse te wiskjen as se net mear nedich binne om ûnthâld frij te meitsjen. Destructors wurde soms bekend as finalizers.
14. Yn C #, wat is in indexer?
Indexers wurde brûkt yn C # om eksimplaren fan in klasse of struktuer te finen. De yndeksearre wearden kinne dêrom op deselde manier tagong wurde as in array, mar sûnder in type of eksimplaarlid eksplisyt te ferklearjen.
15. Wat is it ferskil tusken managed en unmanaged koade?
Behearde koade kinne jo koade útfiere yn it.NET-ramt op in beheare CLR-runtime-omjouwing.
Kontroleare koade wurdt útfierd op 'e behearde runtime-omjouwing ynstee fan it bestjoeringssysteem. Biedt in ferskaat oan tsjinsten lykas in jiskefetsamler, útsûnderingsôfhanneling, ensfh.
Unbehearde koade is koade dy't net útfiert op 'e CLR en wurket bûten it.NET-ramt. Se leverje gjin taaltsjinsten op heech nivo en operearje dêrtroch sûnder. C ++ is ien sa'n foarbyld.
16. Beskriuw serialization.
In stream fan bytes moat makke wurde fan it item om it oer in netwurk oer te dragen. Serialisaasje is de hanneling fan it transformearjen fan in item yn in stream fan bytes. De Serialize-ynterface moat wurde ymplementearre foar in item om serializeable te wêzen. It tsjinoerstelde fan it konstruearjen fan in objekt út in stream fan bytes wurdt de-serialisaasje neamd.
17. Yn C #, hoe ferskille fjilden en eigenskippen fan elkoar?
In fjild is in klasselid as in objekt fan hokker soart dat tsjinnet as lokaasje foar it opslaan fan gegevens, wylst in eigendom in klasselid is dat in metoade biedt foar it lêzen, skriuwen en berekkenjen fan de wearde fan in priveefjild.
18. Hoe kinne jo beskriuwe mei help fan útspraken yn C # yn detail?
De gebrûklike ferklearring wurdt brûkt om it gebrûk fan ien of mear boarnen binnen de applikaasje te beheinen. De boarnen wurde konsumearre en frijlitten op in konstante basis.
De primêre taak fan dizze ferklearring is om net winske boarnen te behearjen en se automatysk frij te litten. Sadree't it objekt dat brûkt de boarne wurdt foarme, soargje derfoar dat it foarwerp syn dispose funksje wurdt oproppen om de middels frij te freegjen troch dat objekt; hjir is wêr't it brûken fan útspraken fan pas komt.
19. Hoe soe jo ymplemintearje tal fan ynterfaces mei deselde metoade namme yn deselde klasse?
Om ferskate ynterfaces te ymplementearjen mei deselde metoadenamme, foarkomme dat se yn it lichem fan 'e funksje ymplementearje. Ynstee soene jo de namme fan 'e ynterface direkt yn it lichem fan 'e metoade leverje. De kompilator sil werkenne hokker ynterfacemetoaden wurde ferwiisd, en it probleem oanpakke.
20. Yn C #, wat is it ûnderskied tusken Taak en Thread?
In thread is in echte thread fan bestjoeringssysteem mei syn eigen stapel- en kernel-boarnen. Thread jout de measte kontrôle. De tried kinne jo ôfbrekke (), Suspend (), of Resume (). De status fan in thread kin wurde waarnommen of syn attributen, lykas stapelgrutte, appartemintstatus en kultuer, kinne wurde ynsteld. De CLR hâldt in pool fan triedden ferpakt troch ThreadPool.
De Task Parallel Library hat in klasse neamd Task. Oars as de ThreadPool hat de Taak gjin eigen thread fan bestjoeringssysteem. Taken wurde útfierd troch de TaskScheduler, hoewol de standertplanner wurdt útfierd troch de ThreadPool. It is mooglik om op 'e hichte te wurden as in taak foltôge is en in resultaat te krijen.
21. Wat is de finalize funksje yn C #?
De objektklasse dy't brûkt wurdt foar reinigingsaksjes definiearret de funksje finalize (). As in ferwizing nei in foarwerp net brûkt wurdt oer in langere perioade, sil de garbagesamler dizze funksje faak neame.
De garbage collector befrijt automatysk kontroleare boarnen, mar as jo net-nedige boarnen wolle befrije lykas bestânhandgrepen, gegevensferbiningen, ensafuorthinne, moatte jo de finalize-funksje eksplisyt ymplementearje.
22. Meitsje in ûnderskied tusken finalize blokken en finalize.
It ôfmakke blok wurdt oproppen neidat de try-and-catch-blokken binne foltôge, om't it nedich is foar útsûnderingshanneling. It blok fan koade wurdt útfierd nettsjinsteande oft de útsûndering waard fongen. De koade fan it blok is oer it generaal skjinner.
De finale metoade wurdt oproppen krekt foar ôffalopfang. De wichtichste ferantwurdlikheden fan 'e finalisearre metoade binne om net beheare koade op te heljen, dy't automatysk wurdt aktivearre as in eksimplaar net opnij wurdt neamd.
23. Beskriuw de C # beskikke metoade yn detail.
De funksje disposeof() makket de net brûkte boarnen fan in objekt frij. Net brûkte boarnen, lykas bestannen, gegevensferbiningen, ensfh. Dizze funksje wurdt oantsjutte yn de ynterface IDisposable, dy't wurdt ymplemintearre troch de klasse troch ferklearje de ynterface IDisposable lichem.
De dispose funksje wurdt net automatysk neamd; de programmeur moat it manuell ymplementearje foar effektyf gebrûk fan boarnen.
24. Wat is C # metoade Overloading? Ferklearje.
Metoade oerladen is in typyske oanpak yn C # dy't brûkt wurdt om in oantal metoaden te bouwen mei deselde namme en oantsjutte hantekeningen. Dizze proseduere wurdt werhelle mei deselde klasse.
As de metoade oerladen proseduere is foltôge, de gearstaller begjint operaasjes te roppen spesifisearre aksjes basearre op de metoade oerladen.
25. Wat is it ferskil tusken allinnich-lêzen en konstanten?
Konstante fariabelen wurde ferklearre en inisjalisearre tidens kompilaasje. Dêrnei kin dizze wearde net feroare wurde. Oan 'e oare kant wurdt allinich lêzen brûkt as ien kear in wearde is tawiisd yn' e runtiid.
26. Wat binne brûkerskontrôle en oanpaste kontrôle?
Kompilearre koade wurdt brûkt om oanpaste kontrôles te ûntwikkeljen. Dizze kinne wurde opnommen yn 'e toolbox en binne maklik te brûken. Troch dizze kontrôles te slepen en te fallen, kinne ûntwikkelders se opnimme yn har webformulieren.
Brûkerskontrôles en bestannen yn ASP binne frij ferlykber. Se binne ek ienfâldich om te meitsjen. Brûkerskontrôles, oan 'e oare kant, kinne net tafoege wurde oan' e toolbox. Se kinne der ek net fan lutsen en falle wurde.
27. Yn C #, wat is in multicast delegate?
In multicast-delegate ûnderhâldt referinsjes of adressen nei ferskate funksjes tagelyk. As wy de multicast-delegate oproppe, sil it ek alle oare funksjes oproppe wêr't it nei ferwiist. Om ferskate metoaden op te roppen, brûk dan de hiele metoade-hântekening, krekt as de ôffurdige. As in foarbyld:
28. Wat is krekt foarwerp pooling yn C #?
Objektpooling is in ûntwerptechnyk yn software dy't dingen recycleart ynstee fan opnij op te bouwen. It docht dit troch selekteare items yn in swimbad op te slaan en se beskikber te meitsjen foar gebrûk as in applikaasje se freget. Dizze proseduere ferbetteret prestaasjes troch it ferminderjen fan needleaze foarwerpgeneraasje.
29. Wat binne krekt generics yn C#.NET?
Generika wurde brûkt om werbrûkbere koadeklassen te meitsjen om koaderedundânsje te ferminderjen, typefeiligens te ferbetterjen en snelheid te ferbetterjen. Wy kinne kolleksjeklassen bouwe mei generika.
Yn it systeem moat in generike nammeromte brûkt wurde ynstee fan klassen lykas ArrayList. Nammeromte foar kolleksjes. It brûken fan parameterisearre typen wurdt stimulearre troch generika.
30. Is it mooglik om in privee firtuele metoade te oerskriuwen?
In privee firtuele metoade kin net oerskreaun wurde, om't it privee is foar de klasse en kin net tagonklik wurde fan bûten it.
31. Ûnderskiede tusken metoade oerladen en metoade oerskriuwen yn C #?
Metoade-oerwinning is it proses fan it feroarjen fan de fûnemintele definysje fan in ôflaat klasse. De metoaden fan 'e ôflaat klasse gedrage úteinlik oars as gefolch fan dizze strategy.
Metoade oerladen, oan 'e oare kant, kin wurde omskreaun as de hanneling fan it generearjen fan in protte metoaden mei deselde namme, mar ûnderskate hantekeningen ûnder deselde klasse.
32. Yn C #, wat is it ûnderskied tusken String en StringBuilder?
In tekenrige objekt is ûnferoarlik, wat betsjut dat it net feroare wurde kin as it ienris oanmakke is. Elke besykjen om it string-objekt te feroarjen sil resultearje yn it meitsjen fan in nij string-objekt.
In snaarbouwer-objekt, oan 'e oare kant, is smeedber en kin wurde feroare as de ûntwikkelder passend sjocht.
33. Wat binne delegaten krekt?
Yn C ++, ôffurdigen binne yn prinsipe itselde as funksje pointers. It ienige ûnderskied tusken de twa is dat ôffurdigen typefeilich binne, wylst funksje-oanwizers dat net binne. Delegaten binne nedich om't se de oanlis fan generyske typefeilige funksjes mooglik meitsje.
34. Wannear moatte jo multithreading brûke yn C # en wannear moatte jo it foarkomme?
Multithreading, faak bekend as threading, is in effektive oanpak om de snelheid fan in programma te ferheegjen wêryn in protte aktiviteiten tagelyk útfiere. It stelt ferskate diskusjes yn steat om selsstannich út te fieren, ynstee fan te wachtsjen op 'e foargeande stap om te foltôgjen. Dit hat de mooglikheid om it tempo fan in programma te ferheegjen.
As ferskate prosessen fan it programma lykwols meiinoar ferbûn binne, wurdt multithreading net oanrikkemandearre. Bygelyks, as stap B ôfhinklik wie fan stap A dy't earst foltôge waard, soe multithreading soargen oer prestaasjes en softwareflaters feroarsaakje. Threading wurdt hieltyd gefoeliger as in programma ûntwikkelet yn kompleksiteit.
35. Yn C #, wat is in multicast delegate?
In multicast-delegate yn C #, yn tsjinstelling ta in basisdelegate, ferwiist nei tal fan doelmetoaden. As in multicast-delegate brûkt wurdt, wurde alle funksjes oanwiisd troch de delegate neamd. Se wurde ymplementearre mei help fan it systeem MulticastDelegate klasse.
36. Yn C #, wat is it ferskil tusken lette bining en iere bining?
- Iere bining fynt plak op kompilaasjetiid, wylst lette bining plakfynt tidens runtime.
- Lette bining is faak stadiger as iere bining, om't it bart by runtime.
- Yn tsjinstelling ta lette binding, dy't brûkt it objekt te lossen metoade calls, betiid binding oplost metoade calls mei help fan klasse ynformaasje.
37. Ûnderskiede tusken Directcast en Ctype?
It soarte fan objekt dat it run-time-type fereasket om oerien te kommen mei it spesifisearre type yn DirectCast wurdt konvertearre mei DirectCast.
As in konverzje wurdt oantsjutte tusken in útdrukking en in type, wurdt Ctype brûkt.
38. Hoe wurdt HashSet brûkt yn C #?
Yn C # is in HashSet in net-oardere kolleksje fan ûnderskate wearden. Yn it algemien wurdt it brûkt om foar te kommen dat dûbele eleminten wurde ynfoege yn in kolleksje, en it docht better as in list op dizze taak.
De HashSet-klasse, dy't ôfkomstich is fan it Systeem, wurdt brûkt om it te ymplementearjen.
39. Ferklearje asjebleaft Thread Pooling yn C #.
Yn C # is in threadpool in samling threads. Dizze threaden wurde brûkt om taken te dwaan sûnder de funksjonaliteit fan 'e primêre thread te bemuoien. In tried yn in tried pool komt werom nei de tried pool as it is klear mei rinnen.
De System-klasse befettet klassen dy't de thread yn 'e threadpool en har aksjes behannelje. Threading. ThreadPool is in nammeromte.
40. Wat is it ûnderskied tusken de Const en ReadOnly kaaiwurden yn C #?
- ReadOnly kin net wurde ferklearre binnen de metoade, wylst Const kin.
- Const is in kompilaasjetiidkonstante, wylst ReadOnly in runtimekonstante is.
- ReadOnly wearden kinne wurde feroare, mar Const wearden kinne net.
41. Hokker details oangeande it C# XSD-bestân kinne jo leverje?
XSD stiet foar XML Schema Definition. As gjin XSD-bestân ferbûn is mei it XML-bestân, kin it alle attributen, eleminten en tags hawwe. It XSD-bestân biedt in ramt foar it XML-bestân, en bepaalt hokker komponinten en attributen oanwêzich wêze moatte yn 'e XML-bestân en ek har folchoarder.
42. Wat betsjut Get and Set Accessor eigenskippen foar dy?
Yn C # hawwe Get en Set accessors neamd, om't se makke binne mei eigenskippen. In pân lit lêze en skriuwen ta de wearde fan in privee fjild. Sokke partikuliere fjilden wurde tagong fia accessors.
Wylst it Get-eigenskip wurdt brûkt om de wearde fan in eigenskip werom te jaan, wurdt it Eigenskip Set brûkt om de wearde yn te stellen.
43. Wat is krekt ôfhinklikens ynjeksje yn C #?
Ofhinklikensynjeksje (DI) is in ûntwerptechnyk yn C # dy't brûkt wurdt om loskeppele programmearring te meitsjen. Dizze proseduere ferpleatst it oanmeitsjen en binen fan ôfhinklike objekten bûten de klasse wêrop se fertrouwe. It wichtichste doel is om takomstige koade-oanpassingen mear behearder te meitsjen.
Konklúzje
C # is de primêre programmeartaal dy't brûkt wurdt yn alle programmeartalen op heger nivo. C#-ûntwikkelders binne yn grutte fraach en kinne oantreklike karriêreperspektyf fine yn yndustry lykas front-end-ûntwikkeling, back-end-programmearring, en app-ûntwikkeling. En om't Microsoft it stipet, sil C # populariteit allinich groeie.
De niisneamde binne de meast krúsjale C#-ynterviewfragen foar betûfte professionals en begjinners. Sjen Hashdork's ynterviewsearje foar help mei ynterview tarieding.
Leave a Reply