Top 60+ .NET Interview Questions and Answers for 2025 Flashcards

1
Q

Что такое .NET Framework?

A

.NET — это платформа от Microsoft, предназначенная для создания различных типов приложений с использованием Windows. Она поддерживает различные языки программирования (C#, VB и другие) и предоставляет инструменты для разработки классов, библиотек, API, а также для деплоя и отладки приложений.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
2
Q

Какие компоненты входят в состав .NET?

A

Некоторые из ключевых компонентов .NET: .NET Class Library, .NET Framework, Language Runtime, Application Domain, Profiling и другие.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
3
Q

Что такое JIT в .NET?

A

JIT (Just In Time) — это компилятор, который преобразует промежуточный код в нативный код во время выполнения программы.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
4
Q

Что такое MSIL?

A

MSIL (Microsoft Intermediate Language) — это промежуточный язык, который используется для описания инструкций, таких как обработка памяти и исключений, и может быть использован для инициализации и хранения значений и методов.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
5
Q

Что такое CTS?

A

CTS (Common Type System) — это набор предопределённых правил, который описывает, как данные и их типы должны быть определены для корректного использования в .NET, обеспечивая совместимость между языками. Также позволяет создавать пользовательские типы данных, следуя этим правилам.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
6
Q

Что такое CLS?

A

CLS (Common Language Specification) — это стандарт, который гарантирует совместимость между всеми языками, поддерживаемыми в .NET, обеспечивая возможность взаимодействия различных языков.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
7
Q

Что такое CLR в .NET?

A

CLR (Common Language Runtime) — это основная составляющая .NET, которая отвечает за выполнение приложений. CLR управляет такими аспектами, как управление памятью, безопасность, загрузка библиотек и управление потоками.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
8
Q

В чём разница между управляемым и неуправляемым кодом в .NET?

A
  • Управляемый код: управляется CLR, используется сборщик мусора, требует .NET Framework.
  • Неуправляемый код: не управляется, не требует .NET Framework и не использует сборщик мусора.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
9
Q

Как выполняется управляемый код в .NET?

A

Управляемый код компилируется в промежуточный язык (IL), который затем передается CLR для преобразования в нативный код с помощью JIT-компилятора, после чего этот код выполняется на платформе .NET.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
10
Q

Что такое управление состоянием в .NET?

A

Управление состоянием — это поддержание и отслеживание состояния объектов на протяжении выполнения приложения. В ASP.NET бывают два типа управления состоянием: клиентское (на стороне клиента) и серверное (на стороне сервера).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
11
Q

В чём разница между объектом и классом в .NET?

A

Объект — это экземпляр класса. Класс — это шаблон для создания объектов, содержащий описание их свойств и методов.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
12
Q

В чём разница между System.StringBuilder и System.String в .NET?

A
  • StringBuilder: изменяемый (mutable), поддерживает добавление текста.
  • String: неизменяемый (immutable), не поддерживает добавление текста.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
13
Q

Что такое LINQ?

A

LINQ (Language Integrated Query) — это технология, которая позволяет интегрировать запросы к данным прямо в коде на языке программирования, облегчая работу с данными различных источников.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
14
Q

Что такое сборка (Assembly) в .NET?

A

Сборка (Assembly) — это единица развертывания и выполнения .NET-приложений. Это коллекция логических единиц, таких как исполнимые файлы (.exe) и библиотеки (.dll), необходимых для создания и развертывания приложения.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
15
Q

Какие компоненты входят в сборку .NET?

A

Основные компоненты сборки: ресурс (связанные файлы), MSIL (промежуточный язык), метаданные (бинарные данные программы), манифест (информация о сборке).

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
16
Q

Что такое кэширование?

A

Кэширование — это процесс временного хранения данных в памяти для быстрого доступа, что значительно ускоряет выполнение приложений. Существует несколько типов кэширования: кэширование данных, страниц и фрагментов.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
17
Q

В чём разница между функцией и хранимой процедурой в .NET?

A
  • Функция: может возвращать только одно значение, не поддерживает обработку исключений через try-catch.
  • Хранимая процедура: может возвращать несколько значений, поддерживает try-catch для обработки ошибок.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
18
Q

Какие типы конструкторов существуют в C# .NET?

A

Основные типы конструкторов в C#: конструктор копирования, конструктор по умолчанию, параметризованный конструктор, приватный конструктор и статический конструктор.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
19
Q

Какие преимущества использования сессий в .NET?

A

Сессии позволяют хранить данные пользователя на протяжении всего времени работы с приложением, легко внедряются и обеспечивают безопасность. Объекты данных могут храниться как на сервере, так и на клиентской стороне.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
20
Q

Можно ли вручную установить таймаут сессии в .NET?

A

Да, таймаут сессии можно настроить вручную через изменение настроек в файле web.config.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
21
Q

Что такое упаковка (boxing) и распаковка (unboxing) в .NET?

A
  • Упаковка — это преобразование значимого (value) типа в ссылочный (reference) тип.
  • Распаковка — это обратный процесс, когда ссылочный тип снова преобразуется в значимый.
How well did you know this?
1
Not at all
2
3
4
5
Perfectly
22
Q

Для чего используется манифест в .NET?

A

Манифест хранит метаданные сборки, включая версию, идентификацию безопасности, проверку областей и валидацию ссылок на классы.

How well did you know this?
1
Not at all
2
3
4
5
Perfectly
23
Q

Для чего используются файлы, отображённые в память (Memory-Mapped Files)?

A

Позволяют маппить содержимое файла в адресное пространство процесса, что ускоряет доступ к данным и позволяет нескольким процессам совместно использовать данные. Используется MemoryMappedFile.CreateFromFiles().

24
Q

Что такое CAS в .NET?

A

CAS (Code Access Security) — это механизм безопасности .NET, который предотвращает несанкционированный доступ к ресурсам, предоставляя коду только ограниченные разрешения.

25
Что такое сборка мусора (garbage collection)?
Процесс управления памятью, который освобождает неиспользуемые объекты, предотвращая утечки памяти. Сборщик мусора автоматически выделяет и освобождает память по мере необходимости.
26
Для чего используется GAC в .NET?
GAC (Global Assembly Cache) — это хранилище для глобальных сборок, используемых несколькими приложениями. Добавлять файлы в GAC можно с помощью gacutil.exe.
27
Какие три поколения у сборщика мусора в .NET?
* Gen 0 — короткоживущие объекты. * Gen 1 — объекты, перемещённые из Gen 0. * Gen 2 — долгоживущие объекты, которые остаются в памяти дольше всего.
28
Что такое MVC?
Архитектурный шаблон (Model-View-Controller) для разделения логики приложения. * Model — работа с данными. * View — отображение. * Controller — обработка запросов.
29
Какие типы памяти поддерживаются в .NET?
* Стек (Stack) — используется для статического выделения памяти. * Куча (Heap) — используется для динамического выделения памяти.
30
Что такое делегаты в .NET?
Делегаты — это объекты, которые хранят ссылки на методы. Позволяют передавать методы как параметры и создавать события.
31
В чём разница между абстрактным классом и интерфейсом в .NET?
* Абстрактный класс — может содержать поля, методы и события с частичной реализацией. * Интерфейс — определяет только сигнатуры методов и не содержит реализацию.
32
Что такое AutoPostBack в .NET?
Свойство, которое автоматически выполняет postback страницы при изменении значения элемента управления. Нужно установить AutoPostBack = true.
33
Какие параметры управляют пулом подключений в .NET?
* Connect Timeout (таймаут соединения) * Min Pool Size (минимальный размер пула) * Max Pool Size (максимальный размер пула) * Pooling (включение/отключение пула)
34
Какие требования для работы пула подключений?
1. Одинаковая строка подключения для всех соединений. 2. Использование нескольких процессов с одинаковыми параметрами подключения. 3. Одинаковые настройки безопасности.
35
Сколько элементов может содержать кортеж (Tuple) в .NET?
В .NET кортеж может содержать до восьми элементов. Если элементов больше, они объединяются в другой кортеж. Кортежи используются для передачи нескольких значений из метода.
36
Разница между пользовательским (User Control) и настраиваемым (Custom Control) управлением в .NET?
User Control: Статическая компоновка, отсутствие поддержки в toolbox, жёсткая привязка кода. Custom Control: Динамическая компоновка, поддержка toolbox, гибкость и расширяемость.
37
Что такое ролевая безопасность (Role-Based Security) в .NET?
Механизм, предоставляющий доступ пользователям в зависимости от их ролей, например, администратор, гость, пользователь.
38
Можно ли применять темы (Themes) в ASP.NET?
Да, темы можно легко применить к ASP.NET-приложениям через настройки темы в файле конфигурации.
39
Какие шаблоны присутствуют в Repeater control?
AlternatingItemTemplate, ItemTemplate, HeaderTemplate, FooterTemplate, SeparatorTemplate.
40
Как проверить статус DataReader в .NET?
Используется свойство IsClosed: если true, DataReader закрыт, если false — открыт.
41
Что такое кросс-страничное размещение (Cross-Page Posting)?
Это процесс, при котором данные передаются из одной страницы в другую после нажатия кнопки submit. Используется свойство PostBackUrl.
42
Что такое MIME в .NET?
MIME (Multipurpose Internet Mail Extensions) позволяет передавать файлы по электронной почте и во время веб-транзакций через заголовки MIME.
43
Какие типы cookies используются в ASP.NET?
Сессионные cookies (хранятся на клиенте и действуют только во время сеанса) и постоянные cookies (имеют срок действия и сохраняются на клиенте).
44
Какие механизмы безопасности есть в ASP.NET?
PasswordRecovery, Login, LoginName, LoginStatus, LoginView.
45
Каков порядок событий в жизненном цикле страницы ASP.NET?
Page_PreInit → Page_Init → Page_InitComplete → Page_PreLoad → Page_Load → Page_LoadComplete → Page_PreRender → Render.
46
Почему вы подаете заявку на должность .NET-разработчика в нашей компании?
Следует объяснить, почему .NET-разработка вас интересует и как вы планируете внести вклад в компанию.
47
Как бы вы оценили свой уровень владения .NET по шкале от 1 до 10?
Нужно дать честную самооценку и привести аргументы в пользу выбранного уровня.
48
Помогло ли ваше образование в освоении .NET-разработки?
Если во время обучения были курсы или проекты, связанные с .NET, стоит их упомянуть.
49
Какими навыками должен обладать успешный .NET-разработчик?
Владение .NET MVC, работа с базами данных, frontend-разработка, .NET Core.
50
Получали ли вы сертификаты по .NET?
Сертификаты от Microsoft и других организаций могут повысить шансы на трудоустройство и продемонстрировать уровень знаний.
51
Различия между .NET Core и .NET Framework?
.NET Core — это современный кросс-платформенный фреймворк, который работает на различных операционных системах и является бесплатным. .NET Framework — старый фреймворк, который работает только на Windows. .NET Core легче и лучше подходит для новых приложений, тогда как .NET Framework имеет более богатую библиотеку и поддерживает Windows-программы.
52
Что такое CoreRT?
CoreRT — это специализированная версия .NET Core, которая делает приложения более быстрыми и экономными по памяти, компилируя код в машинный язык заранее.
53
Что такое Transfer-Encoding?
Transfer-Encoding — это инструкция в HTTP, которая определяет, как должны передаваться данные в сообщении. Она помогает сделать передачу данных более эффективной, например, сообщает, следует ли отправлять данные частями или сжатыми для экономии места.
54
Что такое Middleware в .NET Core?
Middleware — это важный слой в приложении, который управляет запросами и ответами. Он состоит из нескольких делегатов, которые обрабатывают запросы по цепочке, определяя, передать ли запрос дальше, и выполняя действия до или после передачи.
55
Как объяснить проект MVC на собеседовании?
Опишите архитектуру MVC, укажите, какую задачу решает проект, объясните компоненты — Model, View, Controller, и как данные проходят через приложение. Упомяните трудности, с которыми столкнулись, и преимущества использования MVC.
56
Какие два основных компонента в .NET Framework?
1. CLR (Common Language Runtime) — управляющая среда, выполняющая .NET приложения. 2. .NET Framework Class Library — предоставляет предварительно созданные функции, такие как классы и интерфейсы.
57
Кто использует .NET Framework?
.NET Framework используется в большинстве крупных компаний для разработки кросс-платформенных динамичных веб-приложений и мобильных приложений. Также используется в игровом развитии, поскольку в нем используется язык C#. В Индии большинство государственных сайтов разработаны с использованием .NET Framework.