fa
Feedback

فریب کلاهبرداران را نخورید! تل‌متریو این کانال‌ها را شناسایی و برچسب‌گذاری می‌کند 👉 برای مشاهده برچسب، اشتراک تهیه کنید

C# / .NET задачи и вопросы

C# / .NET задачи и вопросы

رفتن به کانال در Telegram

🎲 Задачи и вопросы с собеседований по .Net/C# разного уровня сложности. Прислать задачу/вопрос в дар: @cyberJohnny Сотрудничество: @cyberJohnny Обсуждаем тут: @netquizcom

نمایش بیشتر
1 480
مشترکین
اطلاعاتی وجود ندارد24 ساعت
-37 روز
-1130 روز

در حال بارگذاری داده‌ها

جذب مشترکین
اکتبر '26
اکتبر '26
+6
در 0 کانال‌ها
سپتامبر '26
+4
در 0 کانال‌ها
Get PRO
اوت '26
+15
در 0 کانال‌ها
Get PRO
ژوئیه '26
+6
در 0 کانال‌ها
Get PRO
ژوئن '26
+11
در 0 کانال‌ها
Get PRO
مه '26
+12
در 0 کانال‌ها
Get PRO
آوریل '26
+10
در 0 کانال‌ها
Get PRO
مارس '26
+14
در 0 کانال‌ها
Get PRO
فوریه '26
+11
در 0 کانال‌ها
Get PRO
ژانویه '26
+6
در 0 کانال‌ها
Get PRO
دسامبر '25
+5
در 0 کانال‌ها
Get PRO
نوامبر '25
+13
در 0 کانال‌ها
Get PRO
اکتبر '25
+11
در 0 کانال‌ها
Get PRO
سپتامبر '25
+4
در 0 کانال‌ها
Get PRO
اوت '25
+2
در 0 کانال‌ها
Get PRO
ژوئیه '25
+2
در 0 کانال‌ها
Get PRO
ژوئن '25
+3
در 0 کانال‌ها
Get PRO
مه '25
+5
در 0 کانال‌ها
Get PRO
آوریل '25
+8
در 0 کانال‌ها
Get PRO
مارس '25
+8
در 0 کانال‌ها
Get PRO
فوریه '25
+5
در 0 کانال‌ها
Get PRO
ژانویه '25
+4
در 0 کانال‌ها
Get PRO
دسامبر '24
+11
در 0 کانال‌ها
Get PRO
نوامبر '24
+11
در 0 کانال‌ها
Get PRO
اکتبر '24
+65
در 0 کانال‌ها
Get PRO
سپتامبر '24
+22
در 0 کانال‌ها
Get PRO
اوت '24
+34
در 0 کانال‌ها
Get PRO
ژوئیه '24
+15
در 0 کانال‌ها
Get PRO
ژوئن '24
+25
در 0 کانال‌ها
Get PRO
مه '24
+24
در 0 کانال‌ها
Get PRO
آوریل '24
+24
در 0 کانال‌ها
Get PRO
مارس '24
+29
در 13 کانال‌ها
Get PRO
فوریه '24
+46
در 0 کانال‌ها
Get PRO
ژانویه '24
+82
در 4 کانال‌ها
Get PRO
دسامبر '23
+80
در 3 کانال‌ها
Get PRO
نوامبر '23
+9
در 0 کانال‌ها
Get PRO
اکتبر '23
+25
در 0 کانال‌ها
Get PRO
سپتامبر '23
+39
در 0 کانال‌ها
Get PRO
اوت '23
+25
در 0 کانال‌ها
Get PRO
ژوئیه '23
+12
در 0 کانال‌ها
Get PRO
ژوئن '23
+6
در 0 کانال‌ها
Get PRO
مه '23
+8
در 0 کانال‌ها
Get PRO
آوریل '23
+14
در 0 کانال‌ها
Get PRO
مارس '23
+15
در 0 کانال‌ها
Get PRO
فوریه '23
+13
در 0 کانال‌ها
Get PRO
ژانویه '23
+22
در 0 کانال‌ها
Get PRO
دسامبر '22
+36
در 0 کانال‌ها
Get PRO
نوامبر '22
+68
در 0 کانال‌ها
Get PRO
اکتبر '22
+67
در 0 کانال‌ها
Get PRO
سپتامبر '22
+86
در 0 کانال‌ها
Get PRO
اوت '22
+182
در 0 کانال‌ها
Get PRO
ژوئیه '22
+120
در 0 کانال‌ها
Get PRO
ژوئن '22
+27
در 0 کانال‌ها
Get PRO
مه '22
+96
در 0 کانال‌ها
Get PRO
آوریل '22
+28
در 0 کانال‌ها
Get PRO
مارس '22
+10
در 0 کانال‌ها
Get PRO
فوریه '22
+8
در 0 کانال‌ها
Get PRO
ژانویه '22
+19
در 0 کانال‌ها
Get PRO
دسامبر '21
+25
در 0 کانال‌ها
Get PRO
نوامبر '21
+209
در 0 کانال‌ها
Get PRO
اکتبر '21
+512
در 0 کانال‌ها
Get PRO
سپتامبر '21
+37
در 0 کانال‌ها
Get PRO
اوت '21
+22
در 0 کانال‌ها
Get PRO
ژوئیه '21
+14
در 0 کانال‌ها
Get PRO
ژوئن '21
+4
در 0 کانال‌ها
Get PRO
مه '21
+20
در 0 کانال‌ها
Get PRO
آوریل '21
+19
در 0 کانال‌ها
Get PRO
مارس '21
+17
در 0 کانال‌ها
Get PRO
فوریه '21
+35
در 0 کانال‌ها
Get PRO
ژانویه '21
+24
در 0 کانال‌ها
Get PRO
دسامبر '20
+1 436
در 0 کانال‌ها
تاریخ
رشد مشترکین
اشارات
کانال‌ها
27 اکتبر+1
26 اکتبر0
25 اکتبر0
24 اکتبر0
23 اکتبر0
22 اکتبر+1
21 اکتبر0
20 اکتبر0
19 اکتبر0
18 اکتبر0
17 اکتبر0
16 اکتبر0
15 اکتبر+1
14 اکتبر0
13 اکتبر0
12 اکتبر0
11 اکتبر+1
10 اکتبر0
09 اکتبر0
08 اکتبر+1
07 اکتبر0
06 اکتبر0
05 اکتبر0
04 اکتبر0
03 اکتبر0
02 اکتبر0
01 اکتبر+1
پست‌های کانال
Можно ли записать число в массив строк через переменную object[]? Что произойдёт при выполнении кода? Нужные using подключены. object[] values = new string[1]; values[0] = 42; Console.WriteLine("OK"); 👾 — OK — число сохранится как object 👍 — ArrayTypeMismatchException 🥰 — Ошибка компиляции ⚡️ — OK — число превратится в строку Ответ: 👍 — ArrayTypeMismatchException. string[] можно присвоить переменной object[] благодаря ковариантности массивов. Но сам массив остаётся массивом строк. Запись int проходит компиляцию, а во время выполнения проверка типа вызывает ArrayTypeMismatchException. Правило в документации C# Библиотека задач по C# https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/arrays

2
Изменится ли структура после вызова метода через интерфейс? Что выведет код? Нужные using подключены. interface ICounter { void Increment(); } struct Counter : ICounter { public int Value; public void Increment() { Value++; } } class Program { static void Main() { Counter original = new Counter(); ICounter boxed = original; boxed.Increment(); Console.WriteLine(original.Value); Console.WriteLine(((Counter)boxed).Value); } } 👾 — 1 и 1 👍 — 0 и 0 🥰 — 0 и 1 ⚡️ — Ошибка компиляции Ответ: 🥰 — 0 и 1. При преобразовании Counter к ICounter происходит упаковка: в объект помещается копия структуры. Increment изменяет эту упакованную копию. Исходная структура сохраняет Value = 0, а при распаковке boxed получаем Value = 1. Правило в документации C# Библиотека задач по C# https://learn.microsoft.com/en-us/dotnet/csharp/programming-guide/types/boxing-and-unboxing
96
3
Изменит ли finally значение, уже выбранное для return? Что выведет код? Нужные using подключены. class Program { static int GetValue() { int value = 1; try { return value; } finally { value = 2; } } static void Main() { Console.WriteLine(GetValue()); } } 👾 — 1 👍 — 2 🥰 — Ничего: finally отменит return ⚡️ — Ошибка компиляции Ответ: 👾 — 1. Выражение return value вычисляется до выполнения finally: результатом становится число 1. Затем finally меняет локальную переменную, но уже выбранное возвращаемое значение от этого не меняется. Правило в документации C# Библиотека задач по C# https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/language-specification/statements
105
4
Какие числа напечатают действия, созданные в цикле for? Что выведет код? Нужные using подключены. var actions = new List(); for (int i = 0; i < 3; i++) { actions.Add(() => Console.Write(i)); } foreach (var action in actions) action(); 👾 — 012 👍 — Ошибка компиляции 🥰 — 123 ⚡️ — 333 Ответ: ⚡️ — 333. Все три лямбды захватывают одну переменную i из for. Действия выполняются после завершения цикла, когда i равна 3. Это отличается от захвата переменной foreach в современных версиях C#. Правило в документации C# Библиотека задач по C# https://learn.microsoft.com/en-us/dotnet/csharp/language-reference/operators/lambda-expressions
119
5
Что попадёт в результат LINQ после изменения списка? Что выведет код? Нужные using подключены. var numbers = new List { 1, 2, 3 }; var selected = numbers.Where(n => n > 1); numbers.Add(4); Console.WriteLine(string.Join(", ", selected)); 👾 — 2, 3 — запрос запомнил исходный список 👍 — 2, 3, 4 — список читается при переборе 🥰 — 4 — запрос видит только новые элементы ⚡️ — InvalidOperationException Ответ: 👍 — 2, 3, 4 — список читается при переборе. Where выполняет отбор при переборе. Добавление произошло до начала перебора в string.Join, поэтому в результат попадёт и 4. Правило в документации C# Библиотека задач по C# https://learn.microsoft.com/en-us/dotnet/api/system.linq.enumerable.where
135
6
🔥 Middle C# на собеседовании у Senior из европейского highload | 20 октября, 19:00 МСК Можно знать технологию и всё равно за
🔥 Middle C# на собеседовании у Senior из европейского highload | 20 октября, 19:00 МСК Можно знать технологию и всё равно завалить техническое интервью. Часто дело не в знаниях, а в том, как ты отвечаешь и какие детали упускаешь ☝🏻 Александр Моргунов, Senior C# разработчик с 7+ годами опыта в европейском highload, проведёт мок-собеседование в прямом эфире! Отвечает разработчик-доброволец, вопросов он заранее не знает. После каждого ответа Александр разберёт, что было хорошо, где кандидат потерял баллы и как стоило ответить. Проверяй себя вместе с кандидатом и узнай, к чему подготовиться до своего собеса. 🚀 Это бесплатно Эфир проходит в рамках менторской программы ШОРТКАТ для C# разработчиков Ссылка на эфир в боте 👉 @shortcut_csharp_bot Реклама. О рекламодателе.
195
7
checked вокруг вызова защитит умножение внутри другого метода? Метод Multiply принимает два int и возвращает их произведение в unchecked-контексте. Выполняется выражение checked(Multiply(int.MaxValue, 2)). Пользовательских операторов нет. Что получится? 👾 — -2 👍 — OverflowException 🥰 — 4294967294 ⚡️ — Ошибка компиляции Библиотека задач по C#
179
8
Record class скопировали через with. Вложенный список тоже скопировался? У объекта есть свойство Tags — изменяемый список строк. Используется стандартный copy constructor. В нём один элемент. Создали copy выражением original with { } и добавили второй элемент в copy.Tags. Сколько элементов теперь в original.Tags? 👾 — Два, оба объекта ссылаются на один список 👍 — Один, with копирует весь граф объектов 🥰 — Ноль, исходный список очищается ⚡️ — Ошибка компиляции, record запрещает изменяемые свойства Библиотека задач по C#
239
9
👀 Как вы смотрите видео? Разбираете урок, слушаете интервью фоном или начинаете на телефоне, а продолжаете на большом экране? Хотим узнать, что делает просмотр удобным для вас. Вспомните последнее видео — ролик, урок, фильм или серию сериала — и расскажите о своём опыте. Если детали не запомнились, можно так и ответить. 🕰️ Опрос займёт около 3 минут. В результатах сможете сравнить свои привычки с ответами других участников. А разработчики и инженеры видеоплатформы расскажут, что происходит по ту сторону экрана, пока вы смотрите видео. 🔗 Поделиться опытом (https://anketolog.ru/service/survey/fill/direct/1064183/tgoTQDW0?utm_source=socialmedia) 🐸 Библиотека программиста (https://t.me/+CBVsd5bLBFtiNWQy)
242
10
Запрос проходит через несколько сервисов, обращается к базе данных и внешним API. Пользователь видит задержку или ошибку, а п
Запрос проходит через несколько сервисов, обращается к базе данных и внешним API. Пользователь видит задержку или ошибку, а по отдельным записям в журналах трудно понять, на каком участке возникла проблема. 20 октября в 20:00 на открытом уроке курса «C# разработчик. Экспертный уровень» разберёте, как OpenTelemetry помогает превратить .NET-приложение из чёрного ящика в наблюдаемую систему. Рассмотрите наблюдаемость и роль трассировок, метрик и журналов событий в исследовании работы приложения. Узнаете, как эти данные помогают получить целостное представление о пути запроса и искать причины ошибок и задержек. На практике добавите средства сбора телеметрии в ASP.NET Core-приложение. Создадите собственные трассировки через ActivitySource и метрики через Meter, подключите автоматический сбор телеметрии для ASP.NET Core и HttpClient. Также настроите экспорт метрик в Prometheus. Урок подойдёт C#/.NET-разработчикам с опытом, которые работают с распределёнными и микросервисными системами. Он будет полезен и тем, кто уже использует средства мониторинга, но хочет разобраться, какие данные собирать из приложения и как интерпретировать их при расследовании проблем. Урок проведёт Михаил Дмитриев. Зарегистрироваться: https://vk.cc/d2J0DS Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
152
11
Приложение собрано, но при запуске .NET всё ещё компилирует код. Почему так происходит и что изменится, если подготовить маши
Приложение собрано, но при запуске .NET всё ещё компилирует код. Почему так происходит и что изменится, если подготовить машинный код заранее? 1 октября в 20:00 на открытом уроке курса «C# разработчик. Экспертный уровень» разберёте JIT и AOT в .NET и попробуете ReadyToRun и NativeAOT на практике. Проследите путь от C# до IL и машинного кода. Узнаете, какую работу JIT выполняет во время исполнения приложения, и сравните обычную JIT-компиляцию с ReadyToRun и NativeAOT. Рассмотрите, что каждый подход меняет на этапе сборки и запуска. На практике соберёте одно приложение в нескольких режимах. Сравните получившиеся файлы, размер приложения и время запуска, а затем разберёте результаты. Отдельно обсудите ограничения NativeAOT и сценарии, в которых его применение оправдано. После занятия вы сможете осознаннее выбирать способ компиляции, самостоятельно собирать приложения с ReadyToRun и NativeAOT и сравнивать их по размеру, времени запуска и особенностям выполнения. Урок подойдёт .NET-разработчикам, создателям сервисов и приложений командной строки, а также инженерам, работающим с контейнерами и бессерверными вычислениями. Урок проведёт Виктор Дзицкий. Зарегистрироваться: https://vk.cc/d1Yapd Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
114
12
Что выводит Console.WriteLine("Hello".ToUpper());? 👾 — HELLO 👍 — hello 🥰 — Error ⚡️ — Ничего из вышеперечисленного Библиотека задач по C#
304
13
😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как тратить меньше на AI-агентов — без потер
😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как тратить меньше на AI-агентов — без потери качества кода. 🔘 Поговорим о том: — когда дорогая модель действительно нужна, а когда хватит дешёвой; — сколько стоит один прогон и куда уходят токены; — какие задачи можно отдавать субагентам; — как настроить маршрутизацию моделей; — что проверять в AI-коде перед merge. ✏️ Покажем всё на конкретных цифрах и вживую: сравним расходы до и после. ⬇️ 18 сентября, 19:00 МСК ⬇️ 1,5 часа · бесплатно ⬇️ Арсений Харланов и Олег Лайок 💬 Пишите в комментариях, где упираетесь в лимиты и на что уходят деньги. Самые залайканные вопросы разберём на вебинаре. 🔗 Зарегистрироваться на вебинар⁠ (https://clc.to/lp0GfQ)
201
14
+4
بدون متن...
256
15
⚡️⚡️Актуальные темы .NET на DotNext 2026 В .NET одновременно происходит много интересного: C# получает новые возможности, .NET 10 меняет расклад между Native AOT и JIT, а в разработке появляются ИИ-агенты, которые берут на себя часть инженерной работы. На DotNext 2026 (https://dotnext.ru/?utm_source=partner&utm_medium=csharp_problems_lib&utm_campaign=announce&erid=2RanymqYtqZ) разберем как вещи, которые происходят на уровне машинного кода, так и вполне прикладные вопросы архитектуры и разработки. 📅 25–26 сентября, Москва + online Выбрали 8 тем из программы, среди которых не только доклады, но и хардкорный воркшоп, чтобы показать этот диапазон: — как заставить Transactional Outbox одновременно быть строгим и параллельным; — зачем ASP.NET Core модульный монолит и как собрать его без микросервисов; — где Native AOT выигрывает у JIT в .NET 10; — что происходит с циклами, inlining и bounds checks в C# и Go; — как меняется SDLC, когда в команде появляются ИИ-агенты; — что принесут discriminated unions в C# 15; — как проектировать асинхронное взаимодействие в распределенных системах (воркшоп). Все подробности — в карточках и на сайте (https://dotnext.ru/?utm_source=partner&utm_medium=csharp_problems_lib&utm_campaign=announce&erid=2RanymqYtqZ) конференции. 🌟По промокоду csharpproblems — персональные билеты дешевле → Программа DotNext (https://dotnext.ru/schedule/table/?utm_source=partner&utm_medium=csharp_problems_lib&utm_campaign=announce&erid=2RanymqYtqZ) → Купить билет (https://dotnext.ru/registration/personal/?utm_source=partner&utm_medium=csharp_problems_lib&utm_campaign=announce&erid=2RanymqYtqZ)
224
16
ASP.NET Core API под нагрузкой: как сделать сервис устойчивым к сбоям и росту трафика Пока пользователей немного, ASP.NET Cor
ASP.NET Core API под нагрузкой: как сделать сервис устойчивым к сбоям и росту трафика Пока пользователей немного, ASP.NET Core API обычно работает быстро и без ошибок. Но с ростом нагрузки начинают проявляться проблемы: отдельные запросы занимают все доступные ресурсы, повторные обращения только увеличивают нагрузку, операции продолжают выполняться даже после отключения клиента, а ошибки во внешних сервисах могут привести к каскадным отказам. На открытом уроке 3 сентября в 20:00 разберём, как защитить ASP.NET Core API от подобных ситуаций. Возьмём сервис с типичными проблемами, проведём нагрузочное тестирование, найдём узкие места и поэтапно внедрим механизмы защиты. После каждого изменения сравним результаты и посмотрим, как они влияют на время ответа, пропускную способность и количество ошибок. Поговорим о Rate Limiting, контроле числа одновременно выполняемых запросов, использовании CancellationToken, паттернах Timeout и Circuit Breaker для внешних сервисов, а также о кешировании в Redis и о том, как избежать ситуации, когда повторные попытки только усиливают перегрузку системы. Урок не для тех, кто только начал знакомство с ASP.NET Core и хочет изучить базовый синтаксис. Будет полезен C#-разработчикам, создающим Web API, backend-инженерам, столкнувшимся с ростом нагрузки, и всем, кто хочет перейти от базового использования ASP.NET Core к production-практикам. После урока вы будете понимать не только какие механизмы доступны в ASP.NET Core, но и когда их стоит применять, чтобы API оставался стабильным даже при высокой нагрузке. 👉 Записаться: https://vk.cc/d0SfKf Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
138
17
Какое ключевое слово C# используется для изменения данных и поведения базового класса путем замены члена базового класса новым производным членом? 👾 — overrides 👍 — protected 🥰 — base ⚡️ — new 🐸Библиотека задач по C#
268
18
Покупать новый курс каждый раз, когда меняется рабочая задача, — довольно странная механика. Нашли альтернативу 👇
253
19
Что делает оператор ! (null-forgiving)? 👾 — Добавляет runtime-проверку и бросает NullReferenceException при null 👍 — Лишь подавляет предупреждение анализатора nullable; на рантайм не влияет 🥰 — Навсегда делает тип non-nullable ⚡️ — Автоматически кидает ArgumentNullException (https://t.me/py_problems_lib)Библиотека задач по C#
104
20
Разработчику нужен стабильный результат, DevOps — контроль инфраструктуры, техлиду — правила для всей команды. Собрали это в одном посте 👇
354