Uvod C # OOP Intervju Vprašanja in odgovori
C # je objektno orientiran, funkcionalen, splošen in komponentni programski jezik. Uporablja se za izdelavo najrazličnejših aplikacij, posebej močan je pri gradnji Windows namiznih aplikacij in iger. Spletni razvoj je mogoče učinkovito opraviti tudi s C # in je vedno bolj priljubljen za mobilne razvojne programe. Tako je odlična izbira za vsakega programerja, ki se želi ukvarjati z razvojem spleta in iger. Je jezik statičnega tipa, zato je napisana izvorna koda temeljito preverjena, preden se pretvori v aplikacijo. Je zapleten jezik, za učenje in obvladovanje pa lahko traja veliko časa. Na voljo so različna orodja za več platform, ki omogočajo uporabo programov, napisanih na C #, ki jih je mogoče uporabljati prek mobilnih in namiznih računalnikov.
Če iščete službo, povezano s C # OOP, se morate pripraviti na vprašanja o intervjuju C # OOP za leto 2019. Čeprav je vsak intervju drugačen in je obseg dela tudi drugačen, vam lahko pomagamo z vrhunskimi C # OOP Intervju Vprašanji z odgovori, ki vam bodo pomagali narediti preskok in doseči uspeh v intervjuju.
Spodaj je zgornji razpis za C # OOP za leto 2019, ki ga v intervjuju pogosto postavljajo. Ta zgornja vprašanja so razdeljena na dva dela:
1. del - Vprašanja za intervju o C # OOP (osnovna)
Ta prvi del zajema osnovna C # OOP Intervju Vprašanja in odgovore
1. Kakšna je razlika med vmesnikom in abstraktnim razredom?
Odgovor:
Spodaj je navedena nekaj razlike:
- Abstraktni razred ima lahko ne-abstraktne metode (konkretne metode), medtem ko morajo biti v primeru vmesnika vse metode abstraktne.
- Abstraktni razred lahko razglasi ali uporabi poljubne spremenljivke, medtem ko vmesnik tega ni dovoljen.
- V abstraktnem razredu so vsi podatki ali funkcije privzeto zasebni, medtem ko so v vmesniku vse javne, ne moremo jih ročno spremeniti.
- Abstraktni razred uporablja konstruktor, medtem ko v vmesniku nimamo nobene vrste konstruktorja.
- Razred lahko izvaja poljubno število vmesnikov, vendar lahko podrazred uporablja samo en abstraktni razred.
2. Kaj so delegati in njene uporabe?
Odgovor:
Predmet delegatov je spremenljivka referenčnega tipa, ki uporablja za zadrževanje sklicevanja na metodo. Sklic se lahko spreminja med izvajanjem, ki ga hrani predmet delegata. Objekt delegat lahko vsebuje številne referenčne funkcije, ki so znane tudi pod imenom Invocation List, ki navaja funkcije v zaporedju FIFO, nove funkcije lahko na tem seznamu ob izvajanju referira operator + = in jih lahko odstrani od -.
Delegati se posebej uporabljajo za izvajanje dogodkov in povratne klice. Vsi delegati so implicitno izpeljani iz sistema. Delegatni razred.
Pojdimo na naslednja vprašanja o intervjuju C # OOP
3. Kakšna je razlika med pozno vezavo in zgodnjo vezavo?
Odgovor:
V času polimorfizma Compile ali Early Binding bomo uporabili več metod z istim imenom, vendar drugačno vrsto parametra ali morda število ali parameter, ker lahko v istem razredu izvajamo različne naloge z istim imenom metode v istem razredu, ki je tudi znan kot metoda preobremenitev.
public class TestData
(
public int Add(int a, int b, int c)
(
return a + b + c;
)
public int Add(int a, int b)
(
return a + b;
)
)
class Program
(
static void Main(string() args)
(
TestData dataClass = new TestData();
int add2 = dataClass.Add(45, 34, 67);
int add1 = dataClass.Add(23, 34);
)
)
Dinamični / runtime polimorfizem je znan tudi kot pozna vezava. Tukaj sta ime metode in podpis metode (število parametrov in vrsta parametra morata biti enaki in ima lahko drugačno izvedbo). Prevladovanje metod je primer dinamičnega polimorfizma.
public class Drawing
(
public virtual double Area()
(
return 0;
)
)
public class Square : Drawing
(
public double Length ( get; set; )
public Square()
(
Length = 6;
)
public override double Area()
(
return Math.Pow(Length, 2);
)
)
public class Rectangle : Drawing
(
public double Height ( get; set; )
public double Width ( get; set; )
public Rectangle()
(
Height = 5.3;
Width = 3.4;
)
public override double Area()
(
return Height * Width;
)
)
class Program
(
static void Main(string() args)
(
Drawing square = new Square();
Console.WriteLine("Area :" + square.Area());
Drawing rectangle = new Rectangle();
Console.WriteLine("Area :" + rectangle.Area());
)
)
4. Kaj bi se zgodilo v primeru, če imajo podedovani vmesniki nasprotujoča si imena metod?
Odgovor:
To so pogosta vprašanja o intervjuju C # OOP, zastavljena v intervjuju. če imamo v enem razredu nasprotujoče si metode, ne moremo samostojno izvajati njihovega telesa v istem razredu zaradi istega imena in istega podpisa, zato moramo pred imenom imena uporabiti vmesniško ime, da odstranimo to metodo zmedo.
interface testInterface1 (
void Show();
)
interface testInterface2 (
void Show();
)
class Abc: testInterface1,
testInterface2 (
void testInterface1.Show() (
Console.WriteLine("For testInterface1 !!");
)
void testInterface2.Show() (
Console.WriteLine("For testInterface2 !!");
)
)
5. Kateri so različni načini, kako lahko preobremenimo metodo?
Odgovor:
Metoda preobremenitev je drugo ime za polimorfizem v času sestavljanja, kjer lahko ustvarimo metodo z istim imenom, vendar z drugačnim podpisom. Naredi se v času prevajanja in lahko to storimo na več načinov, vendar bi ime metode ostalo enako.
Številni parametri so lahko različni.
Vrsta parametra je lahko drugačna.
Vrstni red parametra je lahko drugačen.
Primer -
static int volume ( int x )(
return (x * x * x);
)
static double volume (float f, int i)(
return 3.14 * f * f * I;
)
static long volume (long l, int b, int n)(
return l * b * h;
)
2. del - Vprašanja za intervju o C # OOP (napredno)
Ta prvi del zajema napredna C # OOP Interview vprašanja in odgovore
6. Kaj je modifikator dostopnosti in koliko jih je v C #?
Odgovor:
Modifikatorji dostopa so ključne besede, ki se uporabljajo za določanje deklarirane dostopnosti člana ali vrste. V C # je 5 več vrst Modifikatorjev dostopa.
Javno - Brez omejitev za dostop do javnih članov.
Zasebni - omejen dostop znotraj definicije razreda, če ni naveden noben, potem je to privzeto.
Zaščiten - dostop je omejen na opredelitev razreda in kateri koli razred, ki podeduje od razreda.
Notranji dostop je omejen izključno na razrede, ki jih določa trenutni projekt
Do zaščitenega notranjega člana lahko dostopate kjer koli v istem sklopu in je dostopen tudi s podedovanjem tega razreda, lahko pa je dostopen tudi zunaj sklopa samo v izpeljanem razredu.
7. Kaj je virtualna metoda v C #?
Odgovor:
Navidezna metoda je metoda, ki jo je mogoče na novo definirati v izvedenih razredih. Navidezna metoda ima izvedbo v osnovnem razredu in izhaja iz razreda. Uporablja se, kadar je osnovna funkcionalnost metode enaka, včasih pa je v izpeljanem razredu potrebno več funkcionalnosti. V osnovnem razredu se ustvari virtualna metoda, ki jo je mogoče preglasiti v izpeljanem razredu. Navidezno metodo ustvarimo v osnovnem razredu z uporabo navidezne ključne besede in to metodo v izpeljanem razredu preglasimo s ključno besedo override.
Ko se prikliče virtualna metoda, se tip izvajanja predmeta preveri za prevladujočega člana. Pokliče se prevladujoči član v najbolj izpeljanem razredu, ki bi lahko bil izvorni član, če noben izpeljani razred ni preglasil člana. Privzeto so metode ne-virtualne. Ne-virtualne metode ne moremo preglasiti.
Pojdimo na naslednja vprašanja o intervjuju C # OOP
8. Kako se izogniti NULL v C #?
Odgovor:
Null ni predmet. Lahko imamo razred, vendar spremenljivka z vrednostjo NULL pomeni, da ne kaže na noben predmet. Morda bomo naleteli na delček kode, ki vsebuje veliko pogojnih stavkov, ki bi preverili, ali je vrednost spremenljivke NULL. Preverimo statično metodo:
javni statični niz DisplayUpperString (nizov) (
string upper = string.Empty;
If( s == null ) (
upper = null;
)
else (
upper = s.ToUpper();
)
return upper;
)
Ta koda je v redu in pretvori v zgornji del dani niz.
Toda z vidika OO razmislite o gradnji predmeta, ki ne predstavlja nič, namesto da bi ga ocenili za NULL.
javni statični niz String DisplayUpperString (MožnoString s) (
niz zgornji = s.ToPossibleUpper ();
vrnitev zgornja;
)
Zdaj je funkcija manj obremenjena, bolj berljiva in ne uporablja več preverjanja vrednosti NULL.
9. Kakšna je metoda razširitve v C # in kako jih uporabiti?
Odgovor:
To so pogosto zastavljena vprašanja o intervjuju C # OOP, postavljena v intervjuju. Metoda razširitve je posebna vrsta statične metode, vendar jih imenujemo, kot da bi bile metode primerka razširjenega tipa. Ta metoda vam omogoča, da dodate metode obstoječim vrstam, ne da bi ustvarili novo izpeljano vrsto, prekomponirali ali kako drugače spremenili izvirni tip. Metode razširitve so na voljo le, če imensko območje izrecno uvozite v izvorno kodo z uporabo direktive.
10. Ali je mogoče "statično" ključno besedo uporabiti v statični metodi?
Odgovor:
Ker ključna beseda “this” vrne sklic na trenutni primerek razreda, zato tega ne moremo uporabiti znotraj statične metode. In statični člani obstajajo brez vsakega primerka razreda in kličejo z imenom razreda, ne po naključju. Torej lahko rečemo, da je "ta" ključna beseda posebna vrsta referenčne spremenljivke, ki je implicitno definirana znotraj vsakega konstruktorja in nestatične metode kot prvi parameter razreda tipa, v katerem je definiran.
Priporočeni članek
To je vodnik za seznam vprašanj in odgovorov za intervju o C # OOP, tako da lahko kandidat brez težav razreši ta vprašanja o intervjuju C # OOP. Tu v tej objavi smo preučili o najboljših vprašanjih za intervju o C # OOP, ki jih pogosto postavljamo v intervjujih. Če želite izvedeti več, si oglejte tudi naslednje članke -
- Hadoop Admin Intervju Vprašanja
- 12 neverjetnih vprašanj glede intervjuja
- 10 Pomembnih vprašanj za intervju z Ab initio
- 25 Najpomembnejših vprašanj o intervjuju s področja računalništva
- Kakšne so prednosti C # in Js