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

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

Ir al canal en Telegram

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

Mostrar más
5 640
Suscriptores
Sin datos24 horas
Sin datos7 días
+930 días
Atraer Suscriptores
agosto '26
agosto '26
+42
en 1 canales
julio '26
+63
en 1 canales
Get PRO
junio '26
+54
en 1 canales
Get PRO
mayo '26
+129
en 3 canales
Get PRO
abril '26
+89
en 3 canales
Get PRO
marzo '26
+162
en 1 canales
Get PRO
febrero '26
+172
en 4 canales
Get PRO
enero '26
+162
en 4 canales
Get PRO
diciembre '25
+67
en 1 canales
Get PRO
noviembre '25
+50
en 0 canales
Get PRO
octubre '25
+81
en 1 canales
Get PRO
septiembre '25
+75
en 0 canales
Get PRO
agosto '25
+100
en 2 canales
Get PRO
julio '25
+82
en 3 canales
Get PRO
junio '25
+77
en 1 canales
Get PRO
mayo '25
+65
en 0 canales
Get PRO
abril '25
+130
en 1 canales
Get PRO
marzo '25
+217
en 52 canales
Get PRO
febrero '25
+146
en 31 canales
Get PRO
enero '25
+201
en 35 canales
Get PRO
diciembre '24
+264
en 35 canales
Get PRO
noviembre '24
+233
en 37 canales
Get PRO
octubre '24
+218
en 35 canales
Get PRO
septiembre '24
+182
en 35 canales
Get PRO
agosto '24
+148
en 35 canales
Get PRO
julio '24
+183
en 35 canales
Get PRO
junio '24
+192
en 29 canales
Get PRO
mayo '24
+125
en 35 canales
Get PRO
abril '24
+33 606
en 58 canales
Get PRO
marzo '24
+354
en 31 canales
Get PRO
febrero '24
+2 603
en 30 canales
Fecha
Crecimiento de Suscriptores
Menciones
Canales
26 agosto+1
25 agosto+2
24 agosto+2
23 agosto0
22 agosto+2
21 agosto+1
20 agosto+3
19 agosto+1
18 agosto+2
17 agosto+2
16 agosto0
15 agosto+2
14 agosto+3
13 agosto+1
12 agosto0
11 agosto+1
10 agosto+1
09 agosto+2
08 agosto+4
07 agosto+1
06 agosto+3
05 agosto+2
04 agosto+1
03 agosto0
02 agosto+3
01 agosto+2
Publicaciones del Canal
Долгоживущий .NET-сервис постепенно “распухает” по памяти без явных LOH-пиков. В дампе видно множество делегатов/лямбд, Timer и CancellationTokenRegistration, висящих в Gen2. Как диагностировать и устранить утечки из-за событий/таймеров/регистраций? Проанализировать пути до корней (dotMemory/PerfView/dotnet-dump gcroot) — проверить коллекции подписчиков и списки делегатов у источников событий. Убедиться, что: ✍🏻 все подписки снимаются в Dispose/IAsyncDisposable; ✍🏻 CancellationToken.Register хранит IDisposable и корректно Dispose(); ✍🏻 Timer/PeriodicTimer/System.Threading.Channels закрываются/завершаются; ✍🏻 не удерживаются замыканиями большие объекты/this. При необходимости — слабые события/WeakReference, паттерн “own the lifetime”, и тест “утечек” в CI с сравнением heap-снимков. Библиотека собеса по С#

2
👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах. Через пару недель появляется зада
👅 Самое сложное — выбрать не курс, а направление Сегодня хочется разобраться в AI-агентах. Через пару недель появляется задача, где нужны алгоритмы. Потом понимаешь, что неплохо бы освежить Python или математику для Data Science. 🔜 Именно поэтому подписка на обучение многим оказывается удобнее отдельных курсов. Можно спокойно переключаться между темами, когда меняются задачи, а не покупать новую программу каждый раз. В подписку Proglib Academy входят все основные направления — AI, ML, Python, алгоритмы, математика для DS и другие курсы, а ещё закрытый видеохаб с вебинарами практиков. Начать можно с пробного месяца. Если решите остаться, его стоимость зачтётся при оформлении подписки 😎 🔗 Узнать подробнее 🏃‍♀️ Proglib Academy
876
3
Покупать новый курс каждый раз, когда меняется рабочая задача, — довольно странная механика. Нашли альтернативу 👇
907
4
Разница между LINQ lazy loading и eager loading В случае lazy loading зависимые таблицы (дочерние объекты) не загружаются автоматически с родительскими, а загрузятся в тот момент, когда они понадобятся. В LINQ по умолчанию используется lazy loading. В случае eager loading зависимые объекты загружаются автоматически с родительской таблицей. Для того, чтобы использовать eager loading, нужно применить метод Include(). 🐸Библиотека собеса по С#
1 214
5
Как устроить высокопроизводительную сериализацию JSON без лишних аллокаций? Реюзайте один JsonSerializerOptions (кешируйте статически), используйте System.Text.Json с Utf8JsonWriter/IAsyncEnumerable<T> для стриминга, избегайте промежуточных строк, включайте source-generators (JsonSerializerContext) вместо рефлексии, буферизуйте через ArrayPool<byte> и пишите напрямую в PipeWriter/BodyWriter. Библиотека собеса по С#
1 308
6
AI-инструменты уже умеют быстро писать код, но для C#-разработчика это не отменяет экспертизу, а делает её важнее. Теперь нуж
AI-инструменты уже умеют быстро писать код, но для C#-разработчика это не отменяет экспертизу, а делает её важнее. Теперь нужно не просто получить подсказку от ассистента, а понять, где она корректна, где скрывает ошибку и какие последствия принесёт в .NET-приложении. 5 августа в 20:00 МСК на открытом вебинаре OTUS разберём, как использовать AI так, чтобы становиться сильнее как C#-разработчик, а не зависеть от автогенерации. Покажем, где AI действительно ускоряет работу Middle/Senior: рефакторинг, генерация тестов, разбор legacy-кода, объяснение стектрейсов и поиск направлений для улучшения. Отдельно посмотрим на зоны, где ассистенты часто ошибаются: потокобезопасность, работа с IDisposable, производительность LINQ, тонкости DI и конфигурации. Разберём, как ревьюить AI-код, формулировать запросы под задачи C#-разработчика и выстраивать workflow, где AI усиливает компетенции, а не заменяет понимание CLR, сборки мусора, многопоточности и архитектурных паттернов. Урок проходит в преддверии старта курса «C#-разработчик. Продвинутый уровень». 👉 Регистрируйтесь: https://clc.to/pjxR6g Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
724
7
🎯 У разработчика, DevOps-инженера и техлида разные причины задуматься о системной работе с AI-агентами Но цель одна: перейти
🎯 У разработчика, DevOps-инженера и техлида разные причины задуматься о системной работе с AI-агентами Но цель одна: перейти от случайных удачных запусков к управляемому процессу на реальном проекте — с понятными правилами, ревью, контролем расходов и безопасности ✔️ На курсе «ИИ для разработчиков» участники выстраивают такой процесс на практике: подключают инструменты, задают границы для агента и учатся понимать, где ему можно доверять работу, а где требуется проверка. ⚡️ Предзапись на осенний поток уже открыта 🏃‍♀️ Proglib Academy
842
8
Разработчику нужен стабильный результат, DevOps — контроль инфраструктуры, техлиду — правила для всей команды. Собрали это в одном посте 👇
909
9
Что такое асинхронные потоки в C#? Асинхронные потоки в C# — это языковая функция, представленная в C# 8.0, которая позволяет вам потреблять асинхронные последовательности данных асинхронно. Они объединяют возможности async/await и IEnumerable/IAsyncEnumerable для обеспечения эффективной и удобной обработки асинхронных потоков данных. Библиотека собеса по С#
959
10
Напишите особенности обобщений на C#? Generics — это метод, который улучшает ваши программы во многих отношениях, например: Он помогает вам в повторном использовании кода, производительности и безопасности типов. Вы можете создавать собственные универсальные классы, методы, интерфейсы и делегаты. Вы можете создавать универсальные классы коллекций. Библиотека классов .NET Framework содержит много новых универсальных классов коллекций в пространстве имен System.Collections.Generic. Вы также можете получить информацию о типах, используемых в универсальных типах данных во время выполнения. Библиотека собеса по С#
1 069
11
У вас в проекте есть файл вроде utils_v2_final_FIX.py, который все боятся трогать ❓ Что делаете с таким легаси? ❤️ Не трогаю:
У вас в проекте есть файл вроде utils_v2_final_FIX.py, который все боятся трогать ❓ Что делаете с таким легаси? ❤️ Не трогаю: работает — и ладно 👍 Переписываю с нуля и надеюсь на лучшее 🔥 Сначала покрываю тестами, потом рефакторю по частям 👾 У нас такого нет — честно-честно На курсе «ИИ для разработчиков» разберём третий подход: как с помощью агента зафиксировать текущее поведение легаси-кода тестами, а затем менять его небольшими безопасными шагами — без одного огромного PR на тысячу файлов. До 31 июля действует скидка и бессрочный доступ к материалам. 🔗 Занять место со скидкой 🏃‍♀️ Proglib Academy
1 034
12
Когда название файла уже само по себе считается техническим долгом 👇
948
13
Когда выбирать System.IO.Pipelines вместо Stream, и что важно для корректного парсинга? Для высокопроизводительных протоколов/сокетов: PipeReader выдаёт ReadOnlySequence<byte> без копий, парсите инкрементально, учитывайте частичные сообщения, управляйте backpressure через AdvanceTo(consumed, examined), не требуйте непрерывной памяти, корректно завершайте Complete() и прокидывайте CancellationToken. Библиотека собеса по С#
1 056
14
📈 Скоро фраза «умею пользоваться AI» в резюме будет звучать так же странно, как сегодня «умею пользоваться Git» Это просто с
📈 Скоро фраза «умею пользоваться AI» в резюме будет звучать так же странно, как сегодня «умею пользоваться Git» Это просто станет частью профессии. А вот умение встроить AI в процесс разработки так, чтобы он действительно ускорял работу команды, останется конкурентным преимуществом 💡 🔜 На курсе «ИИ для разработчиков» участники работают со своими проектами и учатся делать AI частью ежедневной разработки: планировать задачи, писать код, проверять изменения, готовить PR и автоматизировать рутину. До конца июля действует специальная цена — 59 990 ₽ вместо 79 990 ₽ 🥳 И получить бессрочный доступ ко всем материалам курса. 🔗 Посмотреть, как устроен курс 🏃‍♀️ Proglib Academy
967
15
😏 До конца июля сохраняются две приятные вещи: специальная цена и бессрочный доступ к материалам курса. Подробнее — в посте 👇
969
16
Как бы вы объяснили разницу между Repeater и ListView? Элемент управления Repeater является производным от класса Control. Повторитель просто повторяет данные, указанные в шаблонах. Повторяющиеся данные обычно представляют собой HTML-код, смешанный с записями из источников данных. Вывод Repeater не предопределен. Из-за этого Repeater требует больше всего работы для определения шаблона. Взамен он дает нам наибольшую гибкость для построения макета и оптимизации представления. С тем же шаблоном и тем же набором данных Repeater обычно работает быстрее, чем элементы управления Data List или GridView. Это в основном из-за класса DataReader, который используется для доступа только для чтения. DataReader быстрее, чем классы DataSet или DataTable, обычно используемые с GridView. По сравнению с элементами управления GridView и DataList, Repeater имеет ограниченные возможности. По умолчанию Repeater хорош для отображения данных. Это не лучший выбор, если вам нужно редактировать данные. Кроме того, по умолчанию он не обеспечивает разбиение на страницы и сортировку записей. Элемент управления ListView — это новейший элемент управления представлением данных, представленный в ASP.NET 3.5. Предыдущие элементы управления (Repeater, DataList и GridView) логически следуют друг за другом. Например, Repeater — самый простой, но быстрый, затем DataList имеет больше функций, но и больше накладных расходов, и, наконец, GridView — самый сложный, имеет больше функций, но самый тяжелый и, следовательно, самый медленный на странице. Теперь есть новый элемент управления ListView, который пытается предоставить лучшее с обеих сторон: скорость и гибкость в дизайне, а также множество функций, таких как разбиение на страницы, обновление или удаление записей и т. д. Из-за этого элемент управления ListView часто является лучшим выбором, чем Repeater или DataList. Библиотека собеса по С#
1 376
17
Как бы вы настроили систему диалогов для NPC в Unity? Для настройки диалоговой системы для NPC в Unity можно следовать следующим шагам: 1. Определение структуры диалога: Создайте структуру данных для хранения диалогов. Это может быть класс или структура, содержащая текст диалога, варианты ответов и ссылки на следующие реплики. 2. Создание интерфейса: Разработайте пользовательский интерфейс для отображения диалогов. Используйте UI элементы, такие как текстовые поля для отображения реплик и кнопки для выбора ответов. 3. Скрипт NPC: Напишите скрипт для NPC, который будет инициировать диалог при взаимодействии с игроком. Этот скрипт должен загружать соответствующий диалог из вашей структуры данных. 4. Система управления диалогом: Создайте класс, который будет управлять логикой диалога. Он должен обрабатывать выбор игрока, обновлять текст на экране и переходить к следующей реплике. 5. Сохранение и загрузка диалогов: Если диалоги сложные, можно использовать JSON или Scriptable Objects для хранения и загрузки данных диалога. 6. Тестирование и доработка: Протестируйте систему, чтобы убедиться, что все работает корректно, и внесите необходимые изменения для улучшения взаимодействия. Эти шаги помогут вам создать базовую диалоговую систему для NPC в Unity. 🐸Библиотека собеса по С#
1 075
18
😸 Каждый разработчик подходит к задаче со своим опытом: помнит прошлые решения, знает ограничения проекта и понимает, какой
😸 Каждый разработчик подходит к задаче со своим опытом: помнит прошлые решения, знает ограничения проекта и понимает, какой код команда пропустит на ревью. Для человека это естественная часть работы. У Claude Code этого контекста по умолчанию нет — только задача и инструкции, которые ему дали. Поэтому в большой команде недостаточно просто выбрать хорошую модель. ❗️ Нужно ещё объяснить ей, как у вас устроена разработка: какие подходы приняты, что обязательно проверять и по каким правилам принимать решения. 🗓 23 июля в 19:00 МСК поговорим об этом на бесплатном вебинаре с Алексеем Жиряковым — он Executive Director в Сбере, руководит GenAI Data Platform, и с этой проблемой сталкивался не раз 🔥 Покажет живое демо, разберём, как встроить AI в процесс разработки так, чтобы он реально помогал, а не добавлял ещё один повод для споров на ревью. 🔗 Занять место на вебинаре 🏃‍♀️ Proglib Academy
614
19
Объясните, что такое локальная переменная в C#. Локальными переменными называются переменные, которые определены в блоке кода. Они видны только в блоке кода, в котором они объявлены. 🐸Библиотека собеса по С#
1 016
20
Перечислите этапы компиляции кода на C#. Вот четыре шага: предварительная обработка, компиляция, сборка, связывание. 🐸Библиотека собеса по С#
1 271