Библиотека шарписта | C#, F#, .NET, ASP.NET
21.8K subscribers
2.85K photos
41 videos
88 files
5.27K links
Все самое полезное для C#-разработчика в одном канале.

Наши курсы: https://clc.to/y3LDtw

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

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5c81cdc130259d5b7fead
Download Telegram
😑 Что выведет код

Делегаты в шарпах — штука базовая, но в деталях легко запутаться. Посмотрите на код и предскажите вывод, прежде чем проверять.

➡️ Для любознательных ответ в нашем канале с задачами

📍 Навигация: ВакансииЗадачиСобесы

🐸Библиотека шарписта

#dotnet_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱9👍2😢21
Что выведет код

Не спешите отвечать, код вполне может содержать намеренные ошибки. На интервью ценят скорость, но лучше ответить без ошибок.

Посмотреть ответ 👉 в нашем канале

📍 Навигация: ВакансииЗадачиСобесы

🐸Библиотека шарписта

#dotnet_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱20🌚1
📎 ValueTask в публичном API

ValueTask часто хвалят за экономию памяти. Но если использовать его в публичном API, потребители могут не оценить такой шаг.

Вопрос: чем так плох ValueTask в публичном API? Он же снизит аллокации

Ответ: у нас в канале с вопросами с собесов

📍 Навигация: ВакансииЗадачиСобесы

🐸Библиотека шарписта

#dotnet_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3😢1
Вопрос с собеса

Что такое абстракция в ООП?


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

Ключевое слово здесь — упрощение. Абстракция — ответ в канале с вопросами с собесов

Всё остальное — несущественные детали.

📍 Навигация: ВакансииЗадачиСобесы

🐸Библиотека шарписта

#dotnet_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
2
👨‍💻 Span<T> как ref struct

Разбираем вопрос с собеса, в этот раз про Span.

Span<T> даёт доступ к памяти без копий и аллокаций. Но почему его сделали ref struct с кучей запретов, и когда лучше взять Memory<T>?

Ответ лежит в нашем канале с вопросами с собесов

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека шарписта

#dotnet_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🌚2😢1
Что не так с кодом

В коде спрятан намёк на обновление, которое принёс нам C# 10 версии. Может публичные поля? Или конструктор.. Явно что-то связанное со структурой.

👉 Ответ 👈

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека шарписта

#dotnet_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
Что выведет код

Сделали сниппет кода на манер JavaScript, складываем число и строку. В C#, в отличие от JS, это операция предсказуемая и можно догадаться о результате.

➡️ Проверьте себя не запуская код

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека шарписта

#dotnet_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
🤔 Вопрос с собеса

Классика интервью:
Что такое readonly struct и чем он отличается от обычной структуры


На собесе часто ловят на вопросе «когда использовать». Многие говорят просто «для безопасности», но это неправильный ответ.

Правильный ответ, который ждут на собесе ждёт только вас в нашем канале с вопросами с собесов

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека шарписта

#dotnet_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
✏️ using — синтаксический сахар

Предлагаем ответить на вопрос с собеседования:
Что делает оператор using в C#


Почти каждый C#-разработчик писал такой код сотни раз:
using (var connection = new SqlConnection(connectionString))
{
// работаем с ресурсом
}


На первый взгляд — просто синтаксический сахар.

Подсказка: попробуйте мысленно развернуть этот блок в эквивалентный try/finally.

➡️ Проверить себя

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека шарписта

#dotnet_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱16👍6
🤨 Вопрос про стриминг на собесе

Эндпоинт возвращает тысячи записей. Что происходит, если просто сделать return Ok(list)?

Правильно — всё копится в памяти. Сервер ждёт, пока соберётся весь ответ, только потом отправляет клиенту. При высокой нагрузке это убивает и память, и растёт задержка.

Возникает вопрос:
Как не держать весь ответ в памяти и какими инструментами воспользоваться?


Данные можно отдавать данные по мере готовности, без лишних аллокаций и с контролем над потоком.

➡️ Ответ в библиотеке собеса по C#

📍 Навигация: ВакансииЗадачиСобесы

🐸 Библиотека шарписта

#dotnet_challenge
Please open Telegram to view this post
VIEW IN TELEGRAM
8