Въпроси към позицията на младши
Само, когато започнете да ходите на въпроса за интервю, но това, което искат от мен? Какви въпроси ще бъде поискано? Голяма тема и всички наведнъж е малко вероятно да се повтори, ако не знаете какво да се повтаря. В края на краищата, това е .Net и CLR и C #, и само на бази данни. Предлагам списък с въпроси, които аз трябваше да се изправят.
Обектно-ориентираното програмиране
Парадигмата на програмиране, основните понятия, които са предмет и класове.
Основни понятия в обектно-ориентиран?
Капсулирането. Полиморфизъм. Наследяването. Абстракция. Важно е да се назоват концепцията в този ред. Защото това е начина, по който се предполага, PLO. Важно е да се помни, и никога не трябва да се бърка.
Капсулирането. Какво е това и по този начин се реализира?
Капсулирането - механизъм за скриване на кода. Платформата на .Net се осъществява с използването на модификатори за достъп.
- публична - обектът е на разположение в някоя част от кода
- вътрешно - обектът е на разположение в рамките на монтаж
- защитен - обект е достъпна за класовете клас и производни
- защитен вътрешния - обектът е на разположение на класа в сглобяването и извлечения клас във всеки възел
- лично - обект само в рамките на наличното класа
Полиморфизъм. Какво е това и по този начин се реализира?
Полиморфизъм - е възможността да работи, за да се справят с различни типове данни. Има два вида на полиморфизъм: ад-хок и параметричен полиморфизъм. Временна анкетна полиморфизъм включва изпълнението на различен код за различните типове данни, както и параметричен полиморфизъм включва изпълнението на един и същ код за всички допустими видове входни данни.
За изпълнението на първия вид полиморфизъм в C # език използва виртуалната ключовата дума и отмяната, а за втората - нов. При отговора на този въпрос, трябва да сте сигурни, за да ви дам един пример, всъщност ето го:
публична виртуална булев равно (обект OBJ) // определя дали Посоченият обект е текущия обект
публично статично булев равно (обект objA. възрази objB) // Определя дали разглежда като равен на Посоченият обект инстанции
защитена виртуална невалидни Finalize () // Позволява даден обект да се опита за освобождаване на ресурси
публичен виртуална Int GetHashCode () // служи като хеш функция за определен вид
обществен Вид GetType () // Взима Вид класа на текущата инстанция
защитен MemberwiseClone обект () // Създава "повърхност" копие на текущия обект
обществени статични BOOL ReferenceEquals (обект objA. възражение objB) // Определя дали посочените обекти случаи са същия модел
публична виртуална низ ToString () // Връща низ представителство на този обект
Как да работим с низове?
System.String е неизменна тип. Ако промените низ, той създава нов обект. Ето защо, ако вашата програма е необходимо да се направят промени линия да използват Sustem.StringBuilder.
Какво е атрибут?
Атрибути - механизъм, който ви позволява да се сдружават метаданни с конкретни елементи от програмата. Тези метаданни са създадени по време на компилация и са интегрирани в събранието.
Можете да създадете потребителски дефинирани атрибути, е необходимо да наследи един клас от потребителски атрибут System.Attribute.
Какво е отражение?
Reflection - общ термин, описващ възможност да учат и да се манипулират елементите на програмите по време на изпълнение. Например, отражение ви позволява да:
- Списък с термини като
- създаване на нови случаи на обекта
- извличане на информация за вида на
- извличане на информация за възел
- изследват, прилагани към вида на персонализирани атрибути
- създаване и компилиране на нови възли
Каква е разликата финализира и да се разпорежда?
Вие не можете да се обадите изрично финализиране, можете да го замените само като деструктор
CLR деструктор се нарича автоматично преди обекта. Изхвърлете () може да бъде извикан ръчно, за да се освободят средства. Но след покана да се разпорежда () GC да се обадите на деструктор, който трябва да се извърши двойна работа, за да се избегне Microsoft препоръчва да се използва модел ResourceWrapper.
Основната идея е, че ако се обадите на метода на Изхвърлете () на причината не е нужно да се финализира. Ако сте пропуснали да се обадя Изхвърлете () тя продължава да работи финализира.
На повърхността, копиране копия на стойностите на един клас от области, в това число на ефекта от всички указатели или препратки, използвайки метод Object.MemberwiseClone. В този случай, копираните стойностите на тези насоки и препоръки за едни и същи обекти като оригиналния обект, което често води до грешки. Оттам идва и името на метода на копиране: ние копирате само референциите, а не да прави копия на тези вътрешни обекти и се отнасят до тях. С дълбоко копие създава ново копие на обекта. Deep копие IClonable клас трябва да изпълни интерфейса (препоръка Micrsoft).
ArrayList (всеки тип обект), Queue (FIFO: първо-в, първа изходяща), Stack (LIFO: последната, първи навън), StringCollection (като ArrayList, но елементи - линии), BitArray (събиране на булеви стойности) , Hashtable,
Каква е разликата масив от списъка?
Разликата се състои в това как данните се съхраняват в паметта. В случай на масив - данните са в непрекъснат код област. Предимствата на този склад, който осигурява бърз достъп до всеки елемент. Недостатъкът е, че в случай на увеличение на масива, е необходимо да се разпределят памет за нов, по-голям масив, и след това да копирате оригиналния масив и добавяне на нови елементи.
Списъкът също съхранява действителните данни, както и линкове към околните данни. Това леко увеличава времето за достъп, но значително намалява времето за добавяне на нов елемент към списъка.
Каква е разликата HashTable и речник?
На първо място, речник - Generic и Hashtable - не. На второ място, речник магазини двойки ключ-стойност, както и HashTable магазините списък с елементи подредени по неговата хеш стойност.
Данни на Guide-Bulgaria.com
Какво е база данни?
База данни - набор от данни, организирани в съответствие с концептуална структура, описващ характеристиките на данните и връзките между тях, с колекция от данни, който поддържа един или повече приложения.
Какво е индекс?
Индекси - обект на базата данни, която е създадена с цел подобряване на данните за ефективността на търсене. Има два вида индекси: скупчени и не-скупчени. Ако има индекс клъстер маса на реда са подредени по стойност на клавиша индекс. Ако таблицата не е групирана индекс, на масата се нарича купчина. Non-струпани индекс, създаден за таблица, която съдържа само указатели към записите в таблицата. Клъстер индекс може да бъде само един за всяка маса, но всяка таблица може да има няколко различни не-клъстерирани индекси, всеки от които определя собствената си заповед на записите.
Какви са предпоставките?
Trigger - е специален вид на съхранена процедура изпълнява автоматично, когато настъпи събитие на сървъра на базата данни. Събитията са процедури INSERT, UPDATE или DELETE, приложена към масата или гледката.
Каква е идеята?
Представителство - виртуалната маса, чието съдържание (на редове и колони) се определя от заявката. Освен това, представянето може да се използва като обикновен маса.
Какво е съхранена процедура?
Съхранявана процедура - тази функция се съхранява на сървър в компилирана форма.
Присъединете - оператор за извършване на заявки над 2 маси. Има няколко разновидности: Outter присъединяване, Rigth присъединяване, Left присъединяване, Full присъединяване.
Редица грешки и неточности в отговорите - за разликата между класове и структури naprimer.Struktury наследи от ValueType, те не могат да наследят от и това не е маркиране запечатани в едно цяло число и двойно. От обичай структури не могат да наследят също.
Следваща - структурите, които са в областта на референтен тип са поставени в една купчина с него:
обществени клас А
частен поле вътр;
// ---- Създаване на обект във всеки метод ----------
А Например = нов А (5); // където да се постави полета при създаването на референтната например
// тип А? В купчината разбира се
Освен това, ясно прилагане интерфейс (Explicit implementaton) не позволява да се определи модификатори за достъп
Пример клас. A, B
/ * Личен - модификатори за достъп предизвика грешка при компилация. * / Отпада A.Method () <>
/ * Личен - модификатори за достъп предизвика грешка при компилация. * / Отпада B.Method () <>
>
За абстрактен клас твърде лесно чар. Доста грешки в отговорите. По-добре е да не се фокусира върху тях.