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

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

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

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

Наши каналы: https://yangx.top/proglibrary/9197
加入频道
Каковы наиболее распространенные вопросы на собеседованиях по ASP.NET?

— Что такое ASP.NET?
— Каковы преимущества
ASP.NET?
— Каковы различные типы приложений
ASP.NET?
— Что такое шаблон MVC?
— Как создать веб-приложение в
ASP.NET?
— Как обрабатывать ввод данных пользователем в
ASP.NET?
— Как защитить веб-приложение в
ASP.NET?
— Как подготовиться к собеседованию по
ASP.NET?

Библиотека собеса по С#
✍🏻 Какая из операций linq исключает дублирование одинаковых элементов в выходной последовательности?

Операция Distinct удаляет дублированные элементы из входной последовательности.

Библиотека собеса по С#
✍🏻 Каков реальный вариант использования ключевого слова «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 и имеют внутреннюю реализацию, которая может быть переопределена в классе наследнике.


Библиотека собеса по С#
✍🏻 Можно ли использовать out и ref для перегрузки как различные сигнатуры метода?

Этого сделать нельзя. Даже когда ref и out обрабатываются по-разному во время выполнения, во время компиляции они обрабатываются одинаково. Поэтому его нельзя загружать с похожими типами аргументов.

Библиотека собеса по С#
✍🏻 Каковы различные способы перегрузки метода?

Различные типы данных параметров, разное количество параметров, разный порядок параметров.

Библиотека собеса по С#
📝 Создаем красивую документацию API с помощью Scalar в ASP.NET Core

Документация для API — это не просто набор ссылок и описаний. Это инструмент, который помогает разработчикам быстрее понять, как использовать ваш сервис. Используя Scalar, можно превратить стандартный Swagger в нечто действительно элегантное.

Процесс не сложный, а результат превзойдет все ожидания.

➡️ Прочитать статью

🐸Библиотека шарписта
Please open Telegram to view this post
VIEW IN TELEGRAM
Какой из них лучше/быстрее, switch или операторы if-else-if, и почему?

Среди этих двух оператор switch считается быстрее, чем оператор if-else-if. Это потому, что switch не проверяет предыдущие операторы, а в случае if-else-if каждое условие должно быть проверено.

Библиотека собеса по С#
💡 Что такое оператор перехода в C#?

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

Библиотека собеса по С#
Please open Telegram to view this post
VIEW IN TELEGRAM
✍🏻 Чем отличаются интерфейсы от абстрактных классов в C#?

Интерфейсы и абстрактные классы в C# являются механизмами для реализации полиморфизма и обеспечения повторного использования кода. Вот основные отличия между ними:

1. Отношение к классам-наследникам: Абстрактный класс может иметь как абстрактные, так и конкретные (реализованные) методы. Интерфейс же предоставляет только определения методов. Класс может наследоваться только от одного абстрактного класса, но может реализовывать несколько интерфейсов.

2. Реализация: Абстрактным классам разрешено иметь переменные экземпляра и иметь реализацию методов. Интерфейсы могут иметь только методы (и свойства) без реализации, только сигнатуры. Класс, реализующий интерфейс, должен предоставить реализацию всех методов и свойств интерфейса.

3. Использование: Абстрактные классы применяются, когда некоторые базовые методы и свойства должны быть доступны и переопределены в классах-наследниках. Интерфейсы используются для создания контракта, который должны выполнить классы, обеспечивая использование полиморфизма.

Оба механизма полезны в разных сценариях разработки. Выбор между использованием абстрактных классов и интерфейсов зависит от конкретных требований проекта.


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