ch
Feedback

不要被骗子欺骗!Telemetrio 会找到并标记这些频道 👉 如果想查看标记,请订阅

Библиотека собеса по C# | вопросы с собеседований

Библиотека собеса по C# | вопросы с собеседований

前往频道在 Telegram

Вопросы с собеседований по C# и ответы на них. По рекламе: @tproger_sales_bot Учиться у нас: https://clc.to/QRJIVw Для обратной связи: @proglibrary_feeedback_bot Наши каналы: https://t.me/proglibrary/9197

显示更多
5 637
订阅者
+224 小时
+27 天
-1430 天
吸引订阅者
10月 '26
十月 '26
+46
在2个频道中
九月 '26
+67
在0个频道中
Get PRO
八月 '26
+50
在1个频道中
Get PRO
七月 '26
+63
在1个频道中
Get PRO
六月 '26
+54
在1个频道中
Get PRO
五月 '26
+129
在3个频道中
Get PRO
四月 '26
+89
在3个频道中
Get PRO
三月 '26
+162
在1个频道中
Get PRO
二月 '26
+172
在4个频道中
Get PRO
一月 '26
+162
在4个频道中
Get PRO
十二月 '25
+67
在1个频道中
Get PRO
十一月 '25
+50
在0个频道中
Get PRO
十月 '25
+81
在1个频道中
Get PRO
九月 '25
+75
在0个频道中
Get PRO
八月 '25
+100
在2个频道中
Get PRO
七月 '25
+82
在3个频道中
Get PRO
六月 '25
+77
在1个频道中
Get PRO
五月 '25
+65
在0个频道中
Get PRO
四月 '25
+130
在1个频道中
Get PRO
三月 '25
+217
在52个频道中
Get PRO
二月 '25
+146
在31个频道中
Get PRO
一月 '25
+201
在35个频道中
Get PRO
十二月 '24
+264
在35个频道中
Get PRO
十一月 '24
+233
在37个频道中
Get PRO
十月 '24
+218
在35个频道中
Get PRO
九月 '24
+182
在35个频道中
Get PRO
八月 '24
+148
在35个频道中
Get PRO
七月 '24
+183
在35个频道中
Get PRO
六月 '24
+192
在29个频道中
Get PRO
五月 '24
+125
在35个频道中
Get PRO
四月 '24
+33 606
在58个频道中
Get PRO
三月 '24
+354
在31个频道中
Get PRO
二月 '24
+2 603
在30个频道中
日期
订阅者增长
提及
频道
26 十月+3
25 十月+2
24 十月0
23 十月+4
22 十月+2
21 十月+1
20 十月+1
19 十月+1
18 十月+1
17 十月+2
16 十月+4
15 十月+2
14 十月+2
13 十月+1
12 十月+9
11 十月0
10 十月+1
09 十月+3
08 十月0
07 十月0
06 十月0
05 十月+2
04 十月+1
03 十月+3
02 十月0
01 十月+1
频道帖子
Чем catch с when отличается от проверки if внутри catch? Ответ: Фильтр when определяет, подходит ли обработчик, ещё до раскрутки стека. Условие if выполняется уже после входа в catch. В конструкции catch (Exception ex) when (CanHandle(ex)) обработчик будет выбран только при истинном результате фильтра. Если фильтр вернул false, поиск подходящего catch продолжается. В том числе может сработать следующий catch у того же try. Если же проверять условие внутри catch, исключение уже перехвачено. Чтобы передать его дальше, придётся явно выполнить throw; — к следующим catch того же try выполнение уже не перейдёт. При этом throw; сохраняет исходный стек исключения. Его не стоит заменять на throw ex;, который меняет информацию о стеке. Подробнее в документации Microsoft Learn 🐸 Библиотека собеса по C#

2
📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше. В Proglib Academy действует акция: покупаешь один кур
📌 Один курс — хорошее вложение в себя. Два по той же цене — ещё лучше. В Proglib Academy действует акция: покупаешь один курс, а второй получаешь в подарок. Например, можно совместить два направления по работе с ИИ: 💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью. 💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений. 📍 Разница в цене — почти 50 тысяч рублей. Можно освоить больше, не выходя за рамки запланированного бюджета. А если тебе интереснее Python, алгоритмы, backend или DevOps — выбирай другую пару курсов из каталога. Акция действует до 31 октября включительно ⏳ ⏮️ Пора прокачать свой стек
580
3
Распространяется ли checked на арифметику внутри вызванного метода? Ответ: Нет. Контекст checked действует на операции, записанные внутри него, и не переносится через вызов в тело другого метода. Допустим, метод AddOne(int x) возвращает x + 1. Если обернуть вызов AddOne(int.MaxValue) в checked, это само по себе не заставит сложение внутри AddOne выбросить OverflowException. Поведение сложения определяется контекстом в самом методе и настройками проверки переполнения при его компиляции. Чтобы явно проверять эту операцию, нужно написать checked(x + 1) в AddOne. Поэтому без знания настроек компиляции нельзя уверенно обещать конкретный результат исходного примера. Важный принцип: checked не включает проверку во всём стеке вызовов. Подробнее в документации Microsoft Learn 🐸 Библиотека собеса по C#
646
4
Защищает ли оператор ! от NullReferenceException? Ответ: Нет. Постфиксный ! подавляет предупреждения nullable-анализа для выражения, но ничего не проверяет во время выполнения. Если переменная value содержит null, обращение value!.Length всё равно завершится NullReferenceException. Оператор не создаёт объект, не подставляет значение и не добавляет проверку. Использовать ! стоит, когда у разработчика есть основание считать значение ненулевым, а компилятор этого не видит. Если значение действительно может отсутствовать, нужна обработка этого случая: проверка null, условный доступ ?. или подходящее исключение. Не путайте постфиксный value! с логическим отрицанием !flag. Подавление nullable-предупреждений доступно с C# 8. Подробнее в документации Microsoft Learn 🐸 Библиотека собеса по C#
733
5
Гарантирует ли required, что свойство не будет равно null? Ответ: Нет. required требует инициализации члена при создании объекта, но не проверяет его значение во время выполнения. Для свойства required string Name { get; init; } выражение new User() вызовет ошибку компиляции. А new User { Name = null } удовлетворит требованию required. При включённом анализе nullable компилятор выдаст предупреждение о присваивании null; настройки проекта могут превращать такие предупреждения в ошибки. Атрибут SetsRequiredMembers тоже не доказывает, что конструктор всё заполнил: компилятор доверяет этому обещанию автора. Поэтому required не заменяет проверку аргументов и правил предметной области. Модификатор доступен с C# 11. Подробнее в документации Microsoft Learn 🐸 Библиотека собеса по C#
812
6
😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция! До 31 октября в Proglib Academy можно выбрать два курса
😎 Выбираешь один курс, второй получаешь бесплатно. Баг? Нет, акция! До 31 октября в Proglib Academy можно выбрать два курса и заплатить только за один. Например, можно совместить: 💥 ИИ для разработчиков — применение нейросетей в повседневной разработке: работа с кодом, тестирование и ревью. 💥 Разработка ИИ-агентов — архитектура агентов и создание собственных AI-решений. Вместе курсы стоят 108 000 ₽, но по акции оба обойдутся в 59 000 ₽. Экономия — 49 000 ₽ 🔥 Интересуют Python и ИИ или алгоритмы и архитектура? Можно выбрать любые два курса из каталога. Акция действует до 31 октября включительно ⏳ ⏬ Собрать свой учебный билд
822
7
Чем init отличается от set и делает ли он объект неизменяемым? Ответ: Нет, init сам по себе не делает весь объект неизменяемым. Свойству с set можно присваивать значение после создания объекта, если позволяет доступ. init ограничивает присваивание этапом инициализации: например, значение можно задать в инициализаторе объекта, а обычное присваивание после этого компилятор запретит. Но если свойство хранит List<string>, вызов Add по-прежнему допустим. init запрещает заменить ссылку на список после инициализации, а не менять содержимое списка. На собеседовании стоит разделять две вещи: возможность присвоить свойству новое значение и возможность изменить объект, на который оно ссылается. init появился в C# 9. Подробнее в документации Microsoft Learn 🐸 Библиотека собеса по C#
920
8
Импульс Т1: возвращаемся с главным ИТ-событием осени ⚡️ 19 ноября в Москве состоится одна из самых значимых ИТ-конференций го
Импульс Т1: возвращаемся с главным ИТ-событием осени ⚡️ 19 ноября в Москве состоится одна из самых значимых ИТ-конференций года — Импульс Т1. Это масштабная площадка для обмена практическим опытом и формирования актуальных инженерных навыков. Мероприятие объединит более 2000 участников ИТ-отрасли: программистов, архитекторов, инженеров, лидеров технологического рынка — всех, кто создает цифровое будущее. Вас ждет: 🔹5 направлений деловой программы; 🔹130+ спикеров со всей страны; 🔹70+ активностей от практиков индустрии. Главная особенность года — «практические тренажеры», когда каждый участник формирует свой маршрут и сразу отрабатывает теорию на практике: 🔘Код-ретрит — развитие навыков парного программирования, разработка через тестирование и фокус на качестве кода в реальных условиях; 🔘Ресурсные игры — командная работа с ограничениями ресурсов и времени, практика решений конфликтов и ретроспективы; 🔘Зона арх-каты — стресс-тест архитектуры на прочность, поиск слабых мест и интерактивная карта решений; 🔘Стенд доступности — практическое погружение в цифровую доступность и опыт взаимодействия людей с ОВЗ с ИТ-сервисами. Зачем участвовать? ✔️ Получить реальные инструменты для ежедневной работы. ✔️ Показать экспертизу на деле и обменяться опытом с ведущими инженерами. ✔️ Быть в курсе ключевых трендов и опережать индустрию. ✔️ Стать частью сообщества технологических лидеров отрасли. 📆 Дата: 19 ноября 2026 года. 📍 Где встречаемся: г. Москва, ул. Волочаевская, д. 48, стр. 1, Дворец культуры завода «Серп и молот» (LOFT#8). Получите доступ к опыту лидеров отрасли и новым ИТ-решениям, регистрируйтесь по ссылке. О рекламодателе
540
9
WaitAsync завершился по тайм-ауту. Исходная Task тоже остановилась? Нет, сам WaitAsync ограничивает ожидание. В проверке на .NET 8 исходная задача возвращала 42 после задержки. Ожидание с коротким тайм-аутом выбросило TimeoutException, но последующий await исходной задачи всё равно получил 42. Чтобы остановить работу, она должна поддерживать отмену: токен передают в саму операцию, а операция проверяет его или использует API, который это делает. Токен, переданный только в WaitAsync, не добавляет такой поддержки исходному коду. Поэтому после тайм-аута надо решить, кто отвечает за продолжающуюся операцию, её ресурсы и возможное позднее исключение. «Перестали ждать» и «работа завершилась» — разные состояния. Контракт Task.WaitAsync Библиотека собеса по C#
1 221
10
Запрос проходит через несколько сервисов, обращается к базе данных и внешним API. Пользователь видит задержку или ошибку, а п
Запрос проходит через несколько сервисов, обращается к базе данных и внешним API. Пользователь видит задержку или ошибку, а по отдельным записям в журналах трудно понять, на каком участке возникла проблема. 20 октября в 20:00 на открытом уроке курса «C# разработчик. Экспертный уровень» разберёте, как OpenTelemetry помогает превратить .NET-приложение из чёрного ящика в наблюдаемую систему. Рассмотрите наблюдаемость и роль трассировок, метрик и журналов событий в исследовании работы приложения. Узнаете, как эти данные помогают получить целостное представление о пути запроса и искать причины ошибок и задержек. На практике добавите средства сбора телеметрии в ASP.NET Core-приложение. Создадите собственные трассировки через ActivitySource и метрики через Meter, подключите автоматический сбор телеметрии для ASP.NET Core и HttpClient. Урок проведёт Михаил Дмитриев. Зарегистрироваться: https://otus.pw/gLRf/?erid=2W5zFGDkYbT Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
557
11
Можно ли после Cancel вернуть CancellationTokenSource в рабочее состояние через TryReset? Нет. Если отмена уже запрошена, TryReset возвращает false. Это не кнопка «отменить отмену». Проверка на .NET 8 подтвердила false после Cancel, а для свежего источника вернула true. Метод предназначен для единственного владельца источника: предыдущая операция завершена, никто больше не должен запросить её отмену, оставшиеся регистрации больше не нужны. Успешный reset удаляет регистрации. Одновременный вызов Cancel не является потокобезопасным сценарием. Также нельзя считать старый токен отдельным поколением: он всё ещё связан с тем же источником. Для независимых операций проще создавать отдельные источники отмены. Контракт TryReset Библиотека собеса по C#
1 574
12
👀 Как вы смотрите видео? Разбираете урок, слушаете интервью фоном или начинаете на телефоне, а продолжаете на большом экране? Хотим узнать, что делает просмотр удобным для вас. Вспомните последнее видео — ролик, урок, фильм или серию сериала — и расскажите о своём опыте. Если детали не запомнились, можно так и ответить. 🕰️ Опрос займёт около 3 минут. В результатах сможете сравнить свои привычки с ответами других участников. А разработчики и инженеры видеоплатформы расскажут, что происходит по ту сторону экрана, пока вы смотрите видео. 🔗 Поделиться опытом 🐸 Библиотека программиста
862
13
Альфа-Банк ищет скиллового коллегу QA Fullstack на C# Полная удалёнка или гибрид в Москве, Питере и Екатеринбурге. Что нужно делать: — Разрабатывать автотесты на C#; — Запускать функциональные, регрессионные и интеграционные тесты, включая API; — Снижать количество дефектов в диалоге с разработкой и бизнесом. Навыки: — Опыт автоматизации на C# и ручного тестирования от года; — Знание API (SOAP, REST), SQL, основ клиент-серверной архитектуры и тест-дизайна. Условия и развитие: — Сильное сообщество QA и C#-разработчиков: можно получить совет и поделиться опытом на митапе и в блоге на Хабре: — Реальная перспектива роста: технический трек развития, в том числе до C#-лида. Оставляйте отклик по ссылке.
866
14
🦈 Открытое собеседование на Middle C# | 6 октября, 19:00 МСК Приглашаем на открытое собеседование: Senior C# разработчик про
🦈 Открытое собеседование на Middle C# | 6 октября, 19:00 МСК Приглашаем на открытое собеседование: Senior C# разработчик проведёт его в прямом эфире. Можно посмотреть, как всё устроено изнутри, и понять, насколько ты готов к такому интервью. Как это будет: 📂 Собеседует Александр Моргунов — Senior C# разработчик, 7+ лет в европейских высоконагруженных сервисах. Отвечает разработчик-доброволец; 📂 Всё как на настоящем собесе: Александр задаёт те вопросы и задачи, которые даёт кандидатам на своих интервью. Заранее их никто не знает; 📂 После каждого ответа Александр даст обратную связь: что прозвучало сильно, а что стоило раскрыть иначе. Так станет понятнее, на что обращают внимание на собесе; 📂 В конце можно задать любой вопрос. Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для C# разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир -> @shortcut_csharp_bot Реклама. О рекламодателе.
756
15
Приложение собрано, но при запуске .NET всё ещё компилирует код. Почему так происходит и что изменится, если подготовить маши
Приложение собрано, но при запуске .NET всё ещё компилирует код. Почему так происходит и что изменится, если подготовить машинный код заранее? 1 октября в 20:00 на открытом уроке курса «C# разработчик. Экспертный уровень» разберёте JIT и AOT в .NET и попробуете ReadyToRun и NativeAOT на практике. Проследите путь от C# до IL и машинного кода. Узнаете, какую работу JIT выполняет во время исполнения приложения, и сравните обычную JIT-компиляцию с ReadyToRun и NativeAOT. Рассмотрите, что каждый подход меняет на этапе сборки и запуска. На практике соберёте одно приложение в нескольких режимах. Сравните получившиеся файлы, размер приложения и время запуска, а затем разберёте результаты. Отдельно обсудите ограничения NativeAOT и сценарии, в которых его применение оправдано. Урок проведёт Виктор Дзицкий. Зарегистрироваться: https://otus.pw/Vi1t/?erid=2W5zFJ4cMgM Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963.
564
16
🔍Тестовое собеседование с Senior C# разработчиком уже завтра 22 сентября (уже завтра!) в 19:00 по МСК приходи онлайн на откр
🔍Тестовое собеседование с Senior C# разработчиком уже завтра 22 сентября (уже завтра!) в 19:00 по МСК приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle C# разработчика. Как это будет: 📂 Александр Моргунов, старший C# разработчик с опытом 7+ лет в Европейских высоконагруженных сервисах, будет задавать реальные вопросы и задачи разработчику-добровольцу; 📂 Александр будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью; 📂 В конце можно будет задать любой вопрос Александру. Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для C# разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_csharp_bot Реклама. О рекламодателе.
658
17
Когда выбирать struct/record struct вместо class? Для маленьких, неизменяемых и часто копируемых значений (≤ ~16–32 байт), где важна локальность и отсутствие аллокаций. Нужны структурное равенство/with — берите record struct. Если объект крупный/мутабельный/долго живёт — используйте class. Библиотека собеса по С#
2 502
18
😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как тратить меньше на AI-агентов — без потер
😭 Как не потратить недельный лимит AI-кодинга за три дня? Разберём на вебинаре, как тратить меньше на AI-агентов — без потери качества кода. 🔘 Поговорим о том: — когда дорогая модель действительно нужна, а когда хватит дешёвой; — сколько стоит один прогон и куда уходят токены; — какие задачи можно отдавать субагентам; — как настроить маршрутизацию моделей; — что проверять в AI-коде перед merge. ✏️ Покажем всё на конкретных цифрах и вживую: сравним расходы до и после. ⬇️ 18 сентября, 19:00 МСК ⬇️ 1,5 часа · бесплатно ⬇️ Арсений Харланов и Олег Лайок 💬 Пишите в комментариях, где упираетесь в лимиты и на что уходят деньги. Самые залайканные вопросы разберём на вебинаре. 🔗 Зарегистрироваться на вебинар⁠
1 910
19
🔍Тестовое собеседование с Senior C# разработчиком уже завтра 15 сентября (уже завтра!) в 19:00 по МСК приходи онлайн на откр
🔍Тестовое собеседование с Senior C# разработчиком уже завтра 15 сентября (уже завтра!) в 19:00 по МСК приходи онлайн на открытое собеседование, чтобы посмотреть на настоящее интервью на Middle C# разработчика. Как это будет: 📂 Александр Моргунов, старший C# разработчик с опытом 7+ лет в Европейских высоконагруженных сервисах, будет задавать реальные вопросы и задачи разработчику-добровольцу; 📂 Александр будет комментировать каждый ответ респондента, чтобы дать понять, чего от вас ожидает собеседующий на интервью; 📂 В конце можно будет задать любой вопрос Александру. Это бесплатно. Эфир проходит в рамках менторской программы от ШОРТКАТ для C# разработчиков, которые хотят повысить свой грейд, ЗП и прокачать скиллы. Переходи в нашего бота, чтобы получить ссылку на эфир → @shortcut_csharp_bot Реклама. О рекламодателе.
699
20
RabbitMQ в Production: Transactional Outbox, идемпотентность и DLQ в ASP.NET Core Отправить сообщение в RabbitMQ несложно. Го
RabbitMQ в Production: Transactional Outbox, идемпотентность и DLQ в ASP.NET Core Отправить сообщение в RabbitMQ несложно. Гораздо сложнее сделать так, чтобы система продолжала работать корректно в production: сообщения не терялись, не обрабатывались повторно, а ошибки не приводили к бесконечным ретраям и дублированию данных. На открытом уроке 17 сентября в 20:00 разберем типичные проблемы, с которыми сталкиваются разработчики при построении событийно-ориентированных систем, и последовательно рассмотрим проверенные подходы к их решению. Поговорим о паттерне Transactional Outbox, разберем, зачем нужна идемпотентность при обработке сообщений, и покажем, как Dead Letter Queue (DLQ) помогает безопасно работать с ошибками и некорректными сообщениями. Все примеры будут реализованы на ASP.NET Core с использованием RabbitMQ, однако рассмотренные подходы применимы и к другим брокерам сообщений. Урок не для тех, кто хочет просто научиться отправлять первое сообщение в очередь. Будет полезен backend-разработчикам, строящим микросервисные архитектуры, и инженерам, которые хотят довести свои event-driven системы до промышленного уровня надежности. После урока вы поймете, как гарантировать доставку сообщений, избежать дублирования данных при повторных обработках и организовать корректную обработку ошибок без остановки всего пайплайна. 👉 Записаться: https://clc.to/pp4zgQ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
1 296