Библиотека собеса по C# | вопросы с собеседований
前往频道在 Telegram
Вопросы с собеседований по C# и ответы на них. По рекламе: @proglib_adv Учиться у нас: https://clc.to/QRJIVw Для обратной связи: @proglibrary_feeedback_bot Наши каналы: https://t.me/proglibrary/9197
显示更多5 640
订阅者
无数据24 小时
无数据7 天
+930 天
数据加载中...
相似频道
标签云
进出提及
---
---
---
---
---
---
吸引订阅者
八月 '26
八月 '26
+42
在1个频道中
七月 '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 八月 | +1 | |||
| 25 八月 | +2 | |||
| 24 八月 | +2 | |||
| 23 八月 | 0 | |||
| 22 八月 | +2 | |||
| 21 八月 | +1 | |||
| 20 八月 | +3 | |||
| 19 八月 | +1 | |||
| 18 八月 | +2 | |||
| 17 八月 | +2 | |||
| 16 八月 | 0 | |||
| 15 八月 | +2 | |||
| 14 八月 | +3 | |||
| 13 八月 | +1 | |||
| 12 八月 | 0 | |||
| 11 八月 | +1 | |||
| 10 八月 | +1 | |||
| 09 八月 | +2 | |||
| 08 八月 | +4 | |||
| 07 八月 | +1 | |||
| 06 八月 | +3 | |||
| 05 八月 | +2 | |||
| 04 八月 | +1 | |||
| 03 八月 | 0 | |||
| 02 八月 | +3 | |||
| 01 八月 | +2 |
频道帖子
Долгоживущий .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-агентах. Через пару недель появляется задача, где нужны алгоритмы. Потом понимаешь, что неплохо бы освежить 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#-разработчика это не отменяет экспертизу, а делает её важнее. Теперь нужно не просто получить подсказку от ассистента, а понять, где она корректна, где скрывает ошибку и какие последствия принесёт в .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-агентами
Но цель одна: перейти от случайных удачных запусков к управляемому процессу на реальном проекте — с понятными правилами, ревью, контролем расходов и безопасности ✔️
На курсе «ИИ для разработчиков» участники выстраивают такой процесс на практике: подключают инструменты, задают границы для агента и учатся понимать, где ему можно доверять работу, а где требуется проверка.
⚡️ Предзапись на осенний поток уже открыта
🏃♀️ 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, который все боятся трогать ❓
Что делаете с таким легаси?
❤️ Не трогаю: работает — и ладно
👍 Переписываю с нуля и надеюсь на лучшее
🔥 Сначала покрываю тестами, потом рефакторю по частям
👾 У нас такого нет — честно-честно
На курсе «ИИ для разработчиков» разберём третий подход: как с помощью агента зафиксировать текущее поведение легаси-кода тестами, а затем менять его небольшими безопасными шагами — без одного огромного 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 в процесс разработки так, чтобы он действительно ускорял работу команды, останется конкурентным преимуществом 💡
🔜 На курсе «ИИ для разработчиков» участники работают со своими проектами и учатся делать 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 |
