17 Essential .NET Interview Questions Flashcards

1
Q

Что такое наследование и почему оно важно?

A

Наследование — это один из ключевых принципов ООП, позволяющий создавать новые классы на основе существующих. Оно помогает в повторном использовании кода и ускоряет разработку. Базовый класс передает свои члены производному классу.

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

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

A

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

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

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

A

Управляемый код выполняется в среде CLR, обеспечивающей сборку мусора, проверку типов и обработку исключений. Неуправляемый код компилируется в машинный код и требует ручного управления памятью.

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

В чем разница между циклом while и for?

A

Цикл for используется, когда известно количество итераций, а while — когда повторение выполняется до выполнения условия.

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

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

A

Упаковка — преобразование значимого типа в object, распаковка — извлечение значимого типа из object. Упаковка выполняется неявно, распаковка — явно.

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

Что такое LINQ?

A

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

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

Что такое сборка мусора и как она работает?

A

Сборка мусора автоматически управляет памятью, освобождая объекты, которые больше не используются. Для принудительного запуска используется System.GC.Collect();.

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

Что означают сокращения IL, CIL, MSIL, CLI и JIT?

A

IL (Intermediate Language) — промежуточный код, компилируемый JIT в машинный код. В .NET он называется CIL (Common Intermediate Language), ранее — MSIL (Microsoft Intermediate Language). CLI (Common Language Infrastructure) — спецификация, описывающая выполнение кода. JIT (Just-In-Time) — компилятор, выполняющий IL-код на машине.

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

В чем разница между стеком и кучей?

A

Стек хранит значения (типы ValueType), отвечает за выполнение кода. Куча хранит объекты (ReferenceType) и управляется сборщиком мусора.

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

В чем разница между интерфейсом и абстрактным классом?

A

Интерфейс определяет контракт без реализации. Абстрактный класс может содержать реализацию и абстрактные методы. Оба нельзя создать как объект.

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

В чем разница между отложенным и немедленным выполнением LINQ-запросов?

A

При отложенном выполнении (deferred execution) запрос выполняется при итерации. Немедленное (immediate execution) выполняется сразу при вызове ToList(), Count(), Sum().

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

Что такое делегат в .NET?

A

Делегат — это указатель на метод, позволяющий передавать методы как параметры. Используется для событий и обратных вызовов.

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

Можно ли реализовать обобщенный метод в WebAPI?

A

Нет, так как WebAPI требует определения сигнатур методов заранее.

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

Почему в интерфейсе нельзя задать модификаторы доступа?

A

Все члены интерфейса по умолчанию являются public.

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

Что делает break в двух вложенных циклах?

A

break завершает выполнение только внутреннего цикла.

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

Какие методы предоставляет класс System.Object?

A

ToString(), Equals(), GetHashCode(), Finalize(), GetType(), ReferenceEquals(), MemberwiseClone().

17
Q

В чем разница между const и readonly?

A

const вычисляется во время компиляции и может быть только значимым типом. readonly вычисляется во время выполнения и может содержать ссылочные типы.