Что такое данные JSON и как разработчики .NET могут работать с JSON?
JSON (JavaScript Object Notation) позволяет разработчикам упорядочивать и хранить данные для легкого доступа и чтения. Для разработчиков JSON является важным инструментом, так как позволяет управлять JSON-потоками с других сайтов и загружать их быстрее и проще, чем через каналы SML / RSS. Json.NET предоставляет возможность разработчикам .NET определять классы, которые могут анализировать объекты и массивы из текста JSON. Также Json.NET можно использовать для сериализации типов значений в текстовый формат JSON. Json.NET совместим с .NET2, .NET3 и .NET4.
Библиотека собеса по С#
Библиотека собеса по С#
❤3❤🔥1👍1🥰1
Как реализовать шаблон проектирования Singleton в C#?
В шаблоне Singleton класс может иметь только один экземпляр и предоставляет глобальную точку доступа к нему.
Public sealed class Singleton
{
Private static readonly Singleton _instance = new Singleton();
}
Библиотека собеса по С#
Библиотека собеса по С#
🤔10🌚3👍1
Начать рассказывать интервьюеру, как вы ловко дёргаете ручки API через базовый
Звучит как отличный план, да? Нет, это мгновенный отказ.
В свежем отчёте по рынку GPU говорится, что 54% компаний стопают ИИ-внедрения тупо из-за конских затрат на инфраструктуру. На серверах более 70% стоимости — это видеокарты. Поэтому на собесах сейчас спрашивают не про красивые промпты, а про жёсткую экономику агентов.
По сути, от вас ждут понимания, как лимитировать ресурсы на лету, роутить запросы и дебажить отказы через механизм
Что требуют от мидлов и выше:
— интеграция мультиагентных систем по стандарту
— суровый AgentOps: метрики, трейсинг, защита от деградации пайплайнов;
— локальный деплой Open Source под 152-ФЗ (без этого в финтех можно даже не стучаться).
Прямо сейчас можно урвать курс с увесистой скидкой(49 000 ₽ 62 990 ₽ за базовый тариф и 99 000 ₽ 124 990 ₽ за продвинутый трек) , но стоит поторопиться — на потоке осталось всего 5 мест.
👉 Подтянуть архитектуру до уровня прода
LangChain.Звучит как отличный план, да? Нет, это мгновенный отказ.
В свежем отчёте по рынку GPU говорится, что 54% компаний стопают ИИ-внедрения тупо из-за конских затрат на инфраструктуру. На серверах более 70% стоимости — это видеокарты. Поэтому на собесах сейчас спрашивают не про красивые промпты, а про жёсткую экономику агентов.
По сути, от вас ждут понимания, как лимитировать ресурсы на лету, роутить запросы и дебажить отказы через механизм
time-travel в LangGraph. Если вы до сих пор собираете ботов в ноутбуках, гляньте обновлённый курс «Разработка ИИ-агентов» — фокус там смещён с игрушечных концепций на суровый энтерпрайз.Что требуют от мидлов и выше:
— интеграция мультиагентных систем по стандарту
MCP;— суровый AgentOps: метрики, трейсинг, защита от деградации пайплайнов;
— локальный деплой Open Source под 152-ФЗ (без этого в финтех можно даже не стучаться).
Прямо сейчас можно урвать курс с увесистой скидкой
👉 Подтянуть архитектуру до уровня прода
🥱4
В ASP.NET Core у вас кэш над БД. Когда TTL истекает, сотни запросов одновременно пробивают кэш и штурмуют БД (cache stampede). Как спроектировать дедупликацию «получения значения» per-key без дедлоков и утечек, учитывая отмену/таймауты?
Сделать single-flight per key: ConcurrentDictionary<TKey, Lazy<Task<T>>> (или AsyncLazy) + GetOrAdd. Первый запрос запускает загрузку, остальные await той же Task. Важно: на ошибке/отмене удалять ключ из словаря, чтобы не закрепить failed-task; прокидывать CancellationToken; ставить таймаут и stale-while-revalidate для мягкого обновления. Для изоляции горячих ключей — пер-key SemaphoreSlim или Channel; результаты хранить в IMemoryCache с policy (TTL, size, eviction).
Библиотека собеса по С#
Библиотека собеса по С#
🔥4❤1
Как ускорить EF Core под высокую нагрузку без лишних аллокаций и N+1?
Для чтения — AsNoTracking и проекции Select на DTO, избегайте широких Include; используйте compiled queries и параметризацию, дробите кардинальность AsSplitQuery, для массовых правок — ExecuteUpdate/Delete или bulk-библиотеки; объединяйте SaveChanges, держите DbContext краткоживущим (скоуп) и следите за N+1 через логирование.
Библиотека собеса по С#
Библиотека собеса по С#
❤1👍1
😱 Если ваш продукт не умеет отдавать данные в формате, понятном AI-агенту, то вас просто не существует
Скрипт не будет кликать по красивым кнопкам в браузере, он уйдёт к конкуренту с нормальным API. Перестроить архитектуру под машинных клиентов — это уже не хайп, а необходимое условие сохранения конкурентоспособности.
Как адаптировать продукт и не исчезнуть из выдачи:
— интегрировать
— научиться контролировать стоимость (лимиты, кэш, роутинг между моделями);
— настроить AgentOps: трейсинг, логирование и отлов регрессий.
Всё это ждёт вас на обновлённом курсе «Разработка AI-агентов». Мы специально сделали фокус на утилитарном инжиниринге и production-ready решениях.
Кстати, до 29 марта можно забрать курс с большой скидкой, и стоит поторопиться — мест на потоке всё меньше.
Зафиксировать цену и начать деплоить агентов без слива бюджета 👈
Скрипт не будет кликать по красивым кнопкам в браузере, он уйдёт к конкуренту с нормальным API. Перестроить архитектуру под машинных клиентов — это уже не хайп, а необходимое условие сохранения конкурентоспособности.
Как адаптировать продукт и не исчезнуть из выдачи:
— интегрировать
MCP и A2A-взаимодействие, чтобы агенты могли вас читать;— научиться контролировать стоимость (лимиты, кэш, роутинг между моделями);
— настроить AgentOps: трейсинг, логирование и отлов регрессий.
Всё это ждёт вас на обновлённом курсе «Разработка AI-агентов». Мы специально сделали фокус на утилитарном инжиниринге и production-ready решениях.
Кстати, до 29 марта можно забрать курс с большой скидкой, и стоит поторопиться — мест на потоке всё меньше.
Зафиксировать цену и начать деплоить агентов без слива бюджета 👈
🥱3
Как проектировать высокопроизводительные API без копий с Span<T>/ReadOnlySpan<T>?
Принимайте вход как ReadOnlySpan<T>/Span<T>, возвращайте данные через ReadOnlyMemory<T>/Memory<T> для async-границ, избегайте удержания Span вне стека, используйте ref readonly/scoped где уместно, не создавать лишних строк/массивов, использовать пулы буферов и инкрементальный парсинг/запись.
Библиотека собеса по С#
Принимайте вход как ReadOnlySpan<T>/Span<T>, возвращайте данные через ReadOnlyMemory<T>/Memory<T> для async-границ, избегайте удержания Span вне стека, используйте ref readonly/scoped где уместно, не создавать лишних строк/массивов, использовать пулы буферов и инкрементальный парсинг/запись.
Библиотека собеса по С#
Как работать со временем и часовыми поясами без багов?
Храните время в UTC, наружу отдавайте DateTimeOffset. Избегайте DateTime.Now и Kind=Unspecified; для интервалов применяйте Stopwatch. Конвертацию делайте через TimeZoneInfo (с правилами DST), зависимости от времени инъецируйте через абстракцию часов (ISystemClock), время парсите/форматируйте в ISO-8601. Тестируйте переходы часовых поясов и «дырки» DST.
Библиотека собеса по С#
Библиотека собеса по С#
❤3
Как защитить внешний API от перегрузки в .NET 7+ с предсказуемым throttling?
Используйте System.Threading.RateLimiting (Token/Fixed/Sliding/ConcurrencyLimiter) и middleware UseRateLimiter. Для per-user/per-key — политику с partitioner; задайте QueueProcessingOrder и длину очереди, чтобы получить backpressure или немедленные отказы. Оборачивайте вызовы Polly-политиками (timeouts/ретраи с джиттером).
Библиотека собеса по С#
Библиотека собеса по С#
❤3👍3
Как писать код, устойчивый к триммингу и AOT (NativeAOT/Blazor WASM)?
Избегайте неявной рефлексии/динамики; для JSON используйте source-generators (JsonSerializerContext), для DI — compile-time контейнеры или дескрипторы без сканирования. Помечайте необходимые члены DynamicallyAccessedMembers/DynamicDependency, держите TrimmerRootDescriptor/link.xml минимальным. Не делайте Assembly.GetTypes() без фильтров; проверяйте PublishTrimmed сборками и тестами.
Библиотека собеса по С#
Библиотека собеса по С#
Можете ли вы определить разницу между перегрузкой и переопределением?
Перегрузка — когда у вас есть два или более методов в одной области действия с одинаковым именем, но разными параметрами.
Переопределение — позволяет вам изменить поведение метода в подклассе или дочернем классе.
Библиотека собеса по С#
Переопределение — позволяет вам изменить поведение метода в подклассе или дочернем классе.
Библиотека собеса по С#
Какой параметр можно использовать для возврата нескольких значений из функции?
Ссылочные или выходные параметры можно использовать для возврата нескольких значений из функции.
Библиотека собеса по С#
Библиотека собеса по С#
В чем разница в ключевых словах ref и out?
Основное различие между ключевыми словами ref и out в C# заключается в том, что ref требует, чтобы переменная была инициализирована перед передачей в метод, тогда как ключевое слово out не требует инициализации переменной перед передачей в метод.
Библиотека собеса по С#
Библиотека собеса по С#