Подготовка к интервью

Вопросы о коллекциях .NET и LINQ в C#

15 вопросов с ответами по теме «Коллекции и LINQ в C#»

15 вопросов

Что проверяют на интервью

Как устроена подборка

Вопросы о выборе коллекции и выполнении запросов к последовательностям в C#. Сравнения структур данных дополнены устройством List и Dictionary, контрактом равенства, сложностью операций и различиями LINQ в памяти и через QueryProvider.

Каталог

Вопросы по теме

Найдено: 15
Теория

Какой основной функционал реализует интерфейс IList в .NET и в каких сценариях его применение оправдано?

Интерфейс IList в .NET представляет собой коллекцию, которая поддерживает индексированный доступ к элементам, а также операции добавления, удаления и поиска элементов.

Читать ответ
Теория

В чём разница между IEnumerable<T> и IQueryable<T> и какую роль играет QueryProvider?

Отличия IEnumerable<T> от IQueryable<T> и назначение QueryProvider IEnumerable<T> — интерфейс для работы с коллекциями, выполняющий LINQ-запросы в памяти (LINQ to Objects) IQueryable<T> — расширяет IEnumerable<T> и…

Читать ответ
Теория

Зачем переопределять GetHashCode и Equals и как Dictionary<TKey, TValue> их использует?

Зачем нужны GetHashCode и Equals и какова их роль в Dictionary<TKey, TValue> Контекст: переопределение методов в .NET для хеширования объектов и определения их равенства GetHashCode формирует для объекта целочисленный…

Читать ответ
Теория

Как List<T> устроен внутри и как меняет размер массива при добавлении элементов?

Устройство List<T> и изменение вместимости массива List<T> в .NET представляет собой динамический массив — собственную оболочку над обычным массивом Элементы хранятся в массиве T[], который изначально имеет…

Читать ответ
Теория

Как в Dictionary<TKey, TValue> определяется bucket и почему коллизии влияют на производительность?

Как устроен Dictionary<TKey, TValue>: бакеты и коллизии Dictionary представляет собой хеш-таблицу, использующую массив бакетов Для ключа вычисляется индекс бакета: hash(key) % capacity В одном бакете оказываются…

Читать ответ
Теория

Как работает deferred execution в LINQ на примере First() и счётчика?

В LINQ предусмотрены два варианта выполнения: отложенное (deferred) и немедленное. Операторы, результатом которых является IEnumerable, например Where и Select, применяют отложенное выполнение: запрос создаётся, но…

Читать ответ
Теория

Какая классическая проблема возникает при использовании IEnumerable и отложенного выполнения в LINQ?

Классическая проблема IEnumerable при отложенном выполнении в LINQ Контекст: LINQ, IEnumerable и deferred execution IEnumerable описывает последовательность, элементы которой вычисляются отложенно (deferred execution)…

Читать ответ
Теория

Какие коллекции есть в .NET и чем отличаются массив, List и Dictionary?

Коллекции в .NET: назначение разных типов Массив имеет фиксированный размер, обеспечивает быстрый доступ по индексу и служит базовой структурой данных. List<T> представляет собой динамический массив, который при…

Читать ответ