Библиотека собеса по C# | вопросы с собеседований
5.66K subscribers
208 photos
2 videos
1 file
178 links
Вопросы с собеседований по C# и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/4c2f1c3b

Работать у нас: https://job.proglib.io/

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
✍🏻 Каков реальный вариант использования ключевого слова «yield» в C#?

Ключевое слово yield в C# используется в методах итераторов для создания итератора с отслеживанием состояния и возврата последовательности значений «на лету», без сохранения всей последовательности в памяти. Он создает пользовательскую реализацию интерфейса IEnumerator на основе кода метода итератора и запоминает текущее состояние выполнения между вызовами MoveNext(). Такая ленивая оценка итератора улучшает использование памяти и производительность, особенно для больших или бесконечных последовательностей.

Библиотека собеса по С#
💾 Как выбрать стратегию кэширования: разбор 7 популярных алгоритмов

Кешировать нужно с умом. И нет, LRU — не серебряная пуля.

В статье вас ждёт разбор алгоритмов: LRU, LFU, FIFO и другие
– Примеры, где каждый работает лучше
– Плюсы и минусы подходов
– Практические советы по выбору стратегии

Если проектируете систему с большими нагрузками или оптимизируете производительность — материал будет как раз.

➡️ Читать статью

🐸Библиотека шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
✍🏻 Какие реализации DI контейнеров вы знаете на C#. Какой DI контейнер является лучшим?

Castle Windsor, Autofac, Ninject, Unity... и так далее, на самом деле их очень много. Насчет того, какой из них лучший — не совсем корректный вопрос. Все зависит от конкретной реализации.

Библиотека собеса по С#
#️⃣🏗 Как не запутаться в структурах данных в Unity и C#

Когда работаете с Unity, почти каждая система — это работа с данными. Инвентарь, состояния врагов, квесты, сохранения. И вот тут важно не просто «что-то завести», а осознанно выбрать структуру данных под задачу.

Экономия памяти, меньше багов и чище код — это не абстрактные плюсы, а реальные бонусы при разработке.

➡️ Подробности в статье

🐸Библиотека шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
✍🏻 В чем разница между абстрактными и виртуальными классами? Между виртуальными и абстрактными методами?

Абстрактный класс — это класс, помеченный ключевым словом abstract. В абстрактном классе содержатся абстрактные члены (методы, свойства, индексаторы, события), они не имеют внутренней реализации и выступают в роли интерфейса. Они так же обязаны быть помечены ключевыми словом abstract. При наследовании от абстрактного класса класс-наследник получает все свойства своего класса родителя, а если в родительском классе есть еще и абстрактные члены, то в классе наследнике обязательно их нужно переопределять.
Виртуальный класс, это просто класс в котором есть виртуальные члены (методы, свойства...). Виртуальные члены помечаются модификатором virtual и имеют внутреннюю реализацию, которая может быть переопределена в классе наследнике.


Библиотека собеса по С#