Вопросы к собеседованию по .NET

Типичные вопросы для начинающих .NET разработчиков на интервью

1. Вопросы по платформе .Net

a. Что такое .Net Framework

b. Из чего состоит .Net Framework (CLR, IL, etc)

c. Что такое сборка (assembly)

d. Какие бывают сборки по типу развертывания (local, GAC)


2. Вопросы по языку С#

a. Типы данных С# (value type, reference type), где хранятся и т.д. Могут быть еще вопросы типа : string - это value или reference type?

b. Можно ли value type преобразовать в reference type и наоборот

c. Что такое GC (Garbace Collector), типы поколений и общий принцип работы. Сюда же вопрос, можно ли его вызвать в ручную, и если можно, то как?

d. Что такое delegate?

e. Что такое event? В чем отличие event от делегата?

f. Для чего нужна конструкция using (во что она преобразовывается?)? Какие типы объектов можно использовать внутри этой конструкции.

g. Что такое методы расширения и для чего они нужны?

h. Когда вызывается статический конструктор объекта?

i. В чем отличие класса string от класса StringBuilder

j. Возможно ли множественное наследование в c#?

k. У тебя есть 2 интерфейса с одинаковыми методами, и класс, который реализует 2 этих интерфейса. Можно ли как-то указать, метод какого из интерфейсов используется.

l. Какие элементы может содержать в себе интерфейс?

m. Какие модификаторы доступа ты знаешь, зачем они нужны? Какие модификаторы доступа можно использовать в интерфейсе?

o. Абстрактные, виртуальные, интерфейсные методы - в чём разница?

2. Вопросы по WPF

a. Что такое WPF?

b. В чем отличие WPF от WinForms?(тут про графическую подсистему и т.д)

c. Какой паттерн предлагается использовать вместе с WPF? В чём суть паттерна?(MVVM)

d. Что такое VisualTree и LogicalTree? (зачем нужно, как можно посмотреть и что с этим можно делать)

e. Что такое маршрутизируемые события в WPF? Как они работают?

f. Что такое команда? Зачем нужна, из чего состоит?

g. Что такое свойства зависимостей (dependency property)? Зачем нужно это ?

h. Что такое привязка (binding), какие типы привязок есть?

i. Что такое конвертеры типов (type converter)?

j. Что такое словари ресурсов, как они подключаются и используются?


3. ASP.NET

1. Что такое ASP.NET(вопрос по классику, опционально)?

2. Что такое ASP.NET MVC (общее описание + паттерн)?

3. Жизненный цикл запроса ASP.NET (объемный вопрос). Тут хотелось бы услышать что происходит после того, как я в браузере ввел определенный url и нажал enter и до момента, как я получил данные обратно.

4. Жизненный цикл приложения ASP.NET?

4. Что такое HttpFilter, HttpHanlder? Как они используются? Когда отрабатывают?

5. Что такое ModelBinder? Как он работает? Можно ли переопределить его поведение?

6. Как работают маршруты (route) в ASP.NET MVC?

7. Какие механизмы хранения состояния ты знаешь?

8. Что ты знаешь про кэширование в ASP.NET?

9. Для чего нужны следующие объекты: HttpApplication, HttpContext, HttpResponse, HttpRequest?

10. Что такое HtmlHelper?

11. Что такое Razor?

12. Как передаются данные из controller в view?

13. Что такое AJAX и как его использовать в ASP.NET MVC?

14. Что такое middleware? (Core)


4. БД (TSQL)

1. Типы БД (обычно реляционные/нереляционные, различия между ними)

2 Какие бывают объекты в БД? Что такое триггер?

3. Что такое индексы? Зачем нужны индексы?

4. Что такое первичный/внешний ключи? Зачем нужны?

5. Хранимые процедуры/функции в чём разница?

6*. План оптимизации?

7. Что такое джоины, зачем нужны, какие они бывают и в чём разница между ними?

8. Что такое view в SQL БД? Зачем нужны, чем отличаются от таблиц?