În procesul de pregătire pentru un interviu la distanță, am compilat o listă de întrebări posibile pe Net. Ca rezultat, răspunsurile la o treime din întrebări erau deja pregătite. Întrebări și răspunsuri la katami. Sper că vor ajuta :)
Sus Întrebări despre reumplere
Aspecte generale
1. C # suportă mai multe moșteniri?
gdr_live: C # suportă mai multe moșteniri sub formă de moștenire dintr-o clasă și mai multe interfețe sau doar din mai multe interfețe.
Dar nu suportă moștenirea din mai multe clase.
2. Cui sunt variabilele cu modificatorul protejat disponibile la nivel de clasă?
Orice moștenitor de clasă.
3. Sunt variabilele cu modificatorul privat moștenite?
Da, dar nu sunt disponibile.
4. Descrieți modificatorul "protejat intern".
Membrii cu un astfel de modificator sunt disponibili pentru clasele care se află în aceeași adunare și sunt moștenite din această clasă.
5. Ce este clasa .NET din care sunt moștenite toate clasele?
System.Object.
6. Ce înseamnă termenul imuabil?
Aceasta înseamnă că datele stocate în variabila nu pot fi modificate. Rețineți totuși că valoarea unei variabile poate fi modificată - prin faptul că nu se utilizează date vechi care pot fi modificate.
Datele inițiale rămân în memorie, iar noi valori sunt create din nou, într-o zonă nouă de memorie. Exemplu de tip String
7. Care este diferența dintre clasele System.String și System.Text.StringBuilder?
Datele stocate în clasa System.String sunt imuabile. Clasa System.StringBuilder a fost proiectată astfel încât o mulțime de operații să poată fi efectuate pe un șir de variabile. Asta este, cu fiecare operație pe obiectul de clasă System.String, datele sunt transferate într-o nouă zonă de memorie, care afectează performanța programului.
8. Care este avantajul folosirii clasei System.Text.StringBuilder inainte de System.String?
Clasa StringBuilder este mai eficientă atunci când lucrați cu mai multe rânduri. Obiectele din clasa System.String sunt imuabile, deci de fiecare dată când linia este schimbată, un nou obiect este creat în memorie.
9. Pot să stochez diferite tipuri de date într-un obiect System.Array?
az_spb_ru
Întrebări de clasă
Întrebări despre metode și proprietăți
1. Care este numele explicit al parametrului trecut la metoda setată a proprietății clasei?
valoare. Tipul acestui parametru este determinat de tipul proprietății.
2. Ce înseamnă cuvântul cheie "virtual" pentru o metodă sau o proprietate?
Faptul că o metodă sau o proprietate poate fi suprimată.
3. Cum diferă metoda suprapusă față de metoda supraîncărcată?
Atunci când metoda este suprascrisă, îi schimbăm comportamentul în clasa moștenitorului. Suprasolicitarea metodei duce pur și simplu la utilizarea unei alte metode cu același nume în interiorul clasei.
4. Este posibil să se declare o metodă suprapusă statică dacă metoda suprapusă nu este statică?
Nu, nu este. Semnătura metodei virtuale trebuie să rămână constantă, cu excepția înlocuirii cuvântului cheie virtual cu suprascrierea cuvântului cheie.
5. În ce mod poate fi suprasolicitat metoda?
Un alt tip de parametru, un alt număr de parametri, o ordine diferită de parametri. De fapt, totul poate fi diferit, cu excepția numelui.
6. Dacă în clasa de bază, există o serie de constructori supraîncărcate în clasa derivată are mai multe constructori supraîncărcate, putem apela constructorul clasei de baza a constructorului de clasă derivată?
Da, poți.
Evenimente și delegații
Întrebări despre documentația XML
Întrebări despre depanare și testare
1. Ce instrumente de depanare sunt incluse în .NET SDK?
CorDBG - debugger de linie de comandă. Pentru a utiliza acest utilitar, trebuie să compilați fișierul C # cu tasta / debug.
DbgCLR este un program de depanare cu o interfață grafică. Visual Studio .NET utilizează DbgCLR.
2. Care este diferența dintre clasele Debug și Trace?
Documentația arată la fel. Cu toate acestea, este recomandat să utilizați clasa Debug pentru a construi modul de depanare și Trace este folosit pentru depanare și pentru asamblarea finală.
3. De ce are clasa System.Diagnostics.TraceSwitcher nevoie de cinci nivele de urmărire?
Drumurile pot fi foarte mari. Prin urmare, există riscul lipsei de spațiu pe disc pentru aplicațiile care rulează în mod constant. Cinci niveluri de urmărire de la Nici unul (nici unul) până la Verbose (toate) vă permit să configurați informațiile trasate stocate exact în funcție de nevoile noastre.
4. Unde este redirecționată ieșirea din clasa TextWriter-TraceListener?
Pe consolă sau într-un fișier text, în funcție de parametrul transmis proiectantului.
5. Cum se depanează aplicația ASP.NET?
Prin conectarea procesului aspnet_wp.exe la depanatorul DbgClr.
6. Ce tipuri de teste trebuie să efectuați în timpul testului de construcție?
1. Test pozitiv (date corecte - ieșire corectă).
2. Test negativ (date incorecte sau incomplete - procesare corectă).
3. Examinare exclusivă (generarea de excepții și prelucrarea lor corectă).
7. Pot schimba valoarea unei variabile în timpul depanării unei aplicații C #?
Da.
8. Ce va conduce acest cod (nu priviți în studio):
---
XmlDocument x = nou XmlDocument ();
x.LoadXml ("");
Console.WriteLine (x.ToString ());
Console.ReadKey ();
---
marat_yuldashev: exemplu exemplu - obiect - șir