en
Feedback

Don't get caught by a cheater! Telemetrio finds and tags such channels 👉 If you want to see the tag, subscribe

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

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

Open in Telegram

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

Show more
5 635
Subscribers
+224 hours
+27 days
-1430 days
Posts Archive
Как правильно реализовать освобождение ресурсов в IAsyncDisposable? Короткий ответ: Реализуйте шаблон с охраной от повторного вызова: DisposeAsync() вызывает приватный DisposeAsyncCore() и синхронный Dispose(false), закрывает IAsyncDisposable ресурсы через await using, остальные — в Dispose. Используйте AsyncLazy/флаг disposed, прокидывайте CancellationToken только там, где это безопасно, и учитывайте, что await using всегда вызывает именно DisposeAsync(). Библиотека собеса по С#

Как запускать один периодический джоб на весь кластер ASP.NET Core без внешнего планировщика? Оберните BackgroundService в распределённый lock (Redis SET NX PX, Postgres advisory lock и т.п.) с heartbeats/TTL и авто-продлением; выполняйте работу только у лидера. Делайте задачи идемпотентными, держите дедлайны/отмену, при потере lock — немедленно завершайте цикл. Сохраняйте «курсор прогресса» в БД. Библиотека собеса по С#

Что такое AJAX в ASP.NET? Полная форма ASP.NET AJAX — это асинхронный JavaScript и XML. ASP.NET AJAX, также известный как AJAX, представляет собой набор дополнений ASP.NET. Он использует асинхронную передачу данных между браузером и веб-сервером, чтобы веб-страницы могли запрашивать небольшие фрагменты информации с сервера вместо целых страниц. Этот метод делает интернет-приложения меньше, быстрее и удобнее для пользователя. Он создан корпорацией Microsoft для выполнения функций AJAX в веб-приложениях. ASP.NET AJAX работает с библиотекой AJAX, которая использует объектно-ориентированное программирование (ООП) для более быстрых многофункциональных веб-приложений. Библиотека собеса по С#

🦾 Почему ваши AI-продукты на базе LLM ломаются (и как это чинить)? Выкатили ИИ-фичу в прод, а она галлюцинирует, падает или
🦾 Почему ваши AI-продукты на базе LLM ломаются (и как это чинить)? Выкатили ИИ-фичу в прод, а она галлюцинирует, падает или выдает мусор? Приглашаем на открытый вебинар, где разберем реальную боль внедрения LLM-агентов и научимся делать так, чтобы «всё работало». 🗓 Когда: 14 мая в 19:00 МСК ⏱️ Формат: 60 минут мяса + 30 минут ответов на ваши вопросы 🧑🏻‍💻 Кто вещает: Эмиль Сатаев — Backend Platform Developer (8+ лет в разработке). Человек, который своими руками внедряет LLM и агентные системы в реальные коммерческие сервисы. 🎁 Главный бонус для онлайна: Только участникам прямого эфира подарим уникальный промокод на скидку 10.000 ₽ на большой курс AgentOps. 👉 Занять место на вебинаре

В ASP.NET Core у вас async-метод защищает кэш обычным lock и делает await внутри критической секции. Под нагрузкой — залипания и просадка RPS. В чём проблема и как починить? await внутри lock держит монитор и блокирует потоки → contention/starvation и возможные deadlock’и. Решение: не делать await под lock; использовать ConcurrentDictionary (например, GetOrAdd с Lazy<Task<T>>) или асинхронную синхронизацию (SemaphoreSlim/AsyncLock, часто per-key), выносить await за пределы критической секции. Библиотека собеса по С#

Как используется property? Свойство — это обёртка вокруг поля. Свойство используется как для присвоения, так и для чтения значения из поля с помощью методов set и get. Свойство можно создать для различных полей, таких как закрытые, открытые, защищённые и внутренние. Библиотека собеса по С#

Какой результат выдаст программа ниже? Ответ: Эта программа выведет число «10» десять раз. И вот почему: delegate добавляется
Какой результат выдаст программа ниже? Ответ: Эта программа выведет число «10» десять раз. И вот почему: delegate добавляется циклически, однако параметр i передаётся по ссылке. Поэтому, по окончании цикла i равно 10, и при каждом запуске delegate будет выводиться работать с этим значением.

В ASP.NET Core под нагрузкой растёт хвост задержек: CPU низкий, но наблюдаются пики длины очереди ThreadPool и таймауты HttpClient. Где искать корень проблемы и как её устранить? Это типичный признак thread pool starvation из-за sync-over-async: блокировки .Result/.Wait(), синхронные I/O или тяжёлая синхронная работа в request-потоках. Диагностика — EventCounters/PerfView (ThreadPool QueueLength, Contentions), анализ async-стека. Решение — сделать путь запроса полностью асинхронным (DB/HTTP/FS), убрать блокировки, вынести CPU-bound в Task.Run/фоновые очереди, корректно использовать HttpClientFactory, и как временную меру — поднять ThreadPool.SetMinThreads. Библиотека собеса по С#

В .NET Core сервисе под высокой нагрузкой вы замечаете рост задержек и частые блокировки потоков при работе с БД. Как будете искать и устранять проблему? Проверить, не используются ли синхронные вызовы (.Result, .Wait()), профилировать async-цепочки. Убедиться, что пул подключений к БД настроен корректно, и что долгие операции не блокируют ThreadPool. Решение — переписать на полноценный async/await, оптимизировать запросы, при необходимости ограничить параллелизм через SemaphoreSlim или использовать кэширование. Библиотека собеса по С#

В высоконагруженном .NET Core сервисе вы замечаете рост задержек при обработке запросов. Профилирование показывает большое количество асинхронных задач в состоянии WaitingForActivation. Что это может означать и как решать проблему? Это часто указывает на блокирующий код внутри async-методов (например, вызовы .Result или .Wait()), либо на долгие операции без await. Нужно убрать синхронные блокировки, использовать полноценный async/await, добавить таймауты, проверить сторонние библиотеки на наличие блокирующих вызовов и при необходимости вынести тяжёлые операции в отдельные потоки/процессы. Библиотека собеса по С#

❓ Можно ли в рамках lock и использовать await Нет, в рамках оператора lock нельзя использовать await. Когда вы используете lock, поток блокируется до тех пор, пока не завершится выполнение кода внутри блока. Операции с await требуют освобождения потока, чтобы он мог продолжить выполнение других задач, что несовместимо с блокировкой потока через lock. Если вы хотите использовать асинхронные операции с ожиданием, следует использовать другие механизмы синхронизации, такие как SemaphoreSlim, которые поддерживают асинхронное ожидание. 🐸Библиотека собеса по С#

Можете ли вы использовать «this» в статическом методе C#? Нет, потому что «this» возвращает ссылку на текущий экземпляр того же класса, а статические методы не принадлежат какому-либо конкретному экземпляру, поскольку их можно вызывать только по имени класса. Единственным исключением являются методы расширения, поскольку мы можем использовать «this» с первым параметром метода. Библиотека собеса по С#

Осталось всего 4 места на курс по ИИ-агентам. 30 апреля закрываем набор окончательно. В ГС честно рассказали: — Кому курс не подойдет; — Какой хардкор в программе (LangGraph, AutoGen, CrewAI); — Как мы даем токены, чтобы вы не тратили свои деньги. 🏃‍♀️ Записаться, пока есть места

Что такое делегаты в C#? Это эквивалент указателя функции C в C#, основное отличие которого состоит в том, что делегаты C# являются типобезопасными. Это ссылочный тип, который можно использовать для обработки других функций, таких как данные. Мы можем передавать функции в качестве параметров и обрабатывать любые связанные функции обратного вызова и эвенты. Библиотека собеса по С#

Качество C#-кода: от модульных тестов к системному подходу. Открытый урок курса «C#-разработчик. Продвинутый уровень» Во мног
Качество C#-кода: от модульных тестов к системному подходу. Открытый урок курса «C#-разработчик. Продвинутый уровень» Во многих командах качество кода до сих пор пытаются измерять количеством тестов. Но на практике «всё зелёное» не означает, что система действительно надёжна. Продакшен падает, сценарии не покрыты, а уверенности в коде всё равно нет. Значит, проблема не только в тестах, а в том, как вы вообще смотрите на качество. 📅 На открытом уроке 29 апреля в 20:00 разберём, как перейти от отдельных модульных тестов к более целостному подходу к качеству в проектах на C#. Поговорим о том, чем качество можно измерять, почему у модульных тестов есть слабые стороны и как начать выстраивать тестовую архитектуру, которая действительно помогает команде. Отдельно обсудим, когда нужны интеграционные проверки, как подготовить для них окружение и как использовать testcontainers, чтобы проверять поведение системы в условиях, близких к рабочим. Спикер — разработчик с коммерческим опытом более 10 лет. Сейчас занимается системой видеонаблюдения и видеоаналитики. Работал с .NET: от десктопных WPF-приложений до микросервисов на ASP.NET.
Урок не для тех, кто считает, что качество равно количеству тестов, или хочет «прикрыть проект тестами» без понимания архитектуры, рисков и реального поведения системы.
👉 Записаться: https://clc.to/silPVQ Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576

Почему алгоритм Дейкстры не работает с отрицательными рёбрами и что использовать вместо него? Короткий ответ: жадный выбор «замораживает» вершины, предполагая, что найденные расстояния минимальны; с отрицательными рёбрами это нарушается. Используйте Беллмана–Форда (O(VE)) для отрицательных рёбер и детекции отрицательных циклов или Джонсона для всех пар на разреженных графах. Кстати, у нас сейчас действует 40% скидка на курс Алгоритмы и структуры данных. 🤖 Осталось 4 места на курс по ИИ-агентам. Набор закрывается 30 апреля. 🔗 Успеть на обучение Библиотека собеса по С#

🏃‍♀️ Как провести вечер вторника с пользой для карьеры? Включайте кружок там личное приглашение от спикера. 👆 Уже завтра в прямом эфире, разбираем архитектуру контекста в мультиагентных системах. 🤫 Секретный лут: промик на 5.000₽. Он достанется только тем, кто придет на прямой эфир. 👉 Регистрируйтесь на трансляцию

Как реализовать шаблон проектирования Singleton в C#? Мы можем реализовать шаблон проектирования синглтона в C#, используя: ✍🏻 Непотокобезопасный синглтон; ✍🏻 Потокобезопасный синглтон; ✍🏻 Потокобезопасный синглтон с двойной проверкой блокировки; ✍🏻Потокобезопасный без блокировки; ✍🏻 Используя тип Lazy .NET 4. Библиотека собеса по С#

Объясните модификаторы доступа в C#. Модификаторы доступа — это ключевые слова, которые определяют уровень доступности члена типа или самого типа. Например, открытый класс доступен всему миру, тогда как внутренний класс может быть доступен только сборке. Библиотека собеса по С#