es
Feedback

¡No caigas en manos de tramposos! Telemetrio encuentra y marca estos canales 👉 Si quieres ver la etiqueta, suscríbete

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

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

Ir al canal en Telegram

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

Mostrar más
5 628
Suscriptores
-624 horas
-47 días
-1830 días
Archivo de publicaciones
Как задавать отмену и таймауты в async-цепочке без ловушек? Прокидывайте один CancellationToken вниз по стеку; таймауты — через CancellationTokenSource.CancelAfter или Polly Timeout (без вложенных таймаутов); везде передавайте токен в I/O, ловите OperationCanceledException и завершайте работу идемпотентно. Библиотека собеса по С#

Успей зарегистрироваться на масштабный ИТ-фест от МТС 🔥 21 ноября на True Tech Champ тебя ждет насыщенный день со зрелищной битвой роботов, нетворкингом и прокачкой навыков. В программе: 📝 Доклады о ИИ-технологиях. Специалисты MWS AI, Skoltech, Яндекса и Unitree Robotics расскажут о трансформерах для управления автомобилями, работе с RAG-системами и физическими агентами. 📝 Воркшоп по работе с ИИ-агентами от канадского разработчика и автора книги AI Agents in Action Майкла Ланэма. 📝 Воркшоп по разработке игр с помощью AI плагина MWS DevTools Agent. 🛻 Шоу-битва роботов. Камеры от первого лица, профессиональные комментаторы создадут вайб больших видов спорта. На огромных экранах МТС Live Холл ты увидишь, как роботы будут проходить 3 уровня препятствий: запутанные лабиринты, офф-роад маршруты, парящие платформы — и сразятся в битве на выживание. ◻️ 20+ площадок с активностями. Попробуй родео и оседлай механического быка, пройди лазерный лабиринт, как настоящий спецагент, выведи на ринг своего робопаука и протестируй другие ИТ-челленджи. 🔴 В завершение дня — афтепати со звездным хедлайнером. Фестиваль бесплатный, он пройдет 21 ноября в Москве и онлайн. Смотри подробную программу на сайте и регистрируйся — количество мест ограничено.

Как тестировать код, зависящий от времени/таймеров, без Thread.Sleep и флаки? Абстрагируйте время через .NET 8 TimeProvider/ITimeProvider и инжектируйте FakeTimeProvider в тестах; используйте PeriodicTimer/Delay от провайдера, продвигая виртуальное время (Advance). Так вы детерминируете ожидания, убираете реальное ожидание и проверяете граничные случаи (таймауты, ретраи, дедлайны) без гонок. Библиотека собеса по С#

Как корректно освобождать ресурсы в DI, если требуется асинхронный dispose? Используйте IAsyncDisposable и асинхронные скоупы (await using var scope = provider.CreateAsyncScope()), не блокируйте DisposeAsync() синхронно. Порядок освобождения — обратный порядку регистрации; следите, чтобы зависимые сервисы не переживали свои провайдеры, и не смешивайте Dispose/DisposeAsync без нужды. Библиотека собеса по С#

Как реализовать оптимистическую конкуренцию в EF Core, чтобы избежать потерь обновлений? Добавьте конкурентный токен (rowversion/[Timestamp]), включите отслеживание и ловите DbUpdateConcurrencyException. При конфликте — стратегию «клиент/сервер побеждает» или мердж полей, затем повтор. Для массовых апдейтов используйте ExecuteUpdate с токеном в WHERE. Библиотека собеса по С#

📊 Задача с собеседования Имеются данные о продажах за последние 12 месяцев. Требуется оценить наличие линейной зависимости м
📊 Задача с собеседования
Имеются данные о продажах за последние 12 месяцев. Требуется оценить наличие линейной зависимости между количеством заключённых сделок и объёмом выручки, а также построить прогноз выручки при достижении 150 сделок.
Если не понимаете с какой стороны подступиться к задаче, то пора подтянуть математику. 🎓 Именно этому посвящен курс экспресс-курс «Математика для Data Science» от Proglib Academy: — работа с векторами и матрицами; — линейная регрессия и метод наименьших квадратов; — вероятности, распределения, статистика; — и многое другое. ⏳ Старт: 4 декабря 🔥 Скидка: 40% до конца ноября 👉 Подключиться к курсу

Как ускорить EF Core под высокую нагрузку без лишних аллокаций и N+1? Для чтения — AsNoTracking и проекции Select на DTO, избегайте широких Include; используйте compiled queries и параметризацию, дробите кардинальность AsSplitQuery, для массовых правок — ExecuteUpdate/Delete или bulk-библиотеки; объединяйте SaveChanges, держите DbContext краткоживущим (скоуп) и следите за N+1 через логирование. Библиотека собеса по С#

Как проектировать высокопроизводительные API без копий с Span<T>/ReadOnlySpan<T>? Принимайте вход как ReadOnlySpan<T>/Span<T>, возвращайте данные через ReadOnlyMemory<T>/Memory<T> для async-границ, избегайте удержания Span вне стека, используйте ref readonly/scoped где уместно, не создавать лишних строк/массивов, использовать пулы буферов и инкрементальный парсинг/запись. Библиотека собеса по С#

🖤 ЧЕРНАЯ ПЯТНИЦА: СКИДКА 40% Что общего между Black Friday и подготовкой к собесам? Оба случаются раз в год, и оба нельзя пр
🖤 ЧЕРНАЯ ПЯТНИЦА: СКИДКА 40% Что общего между Black Friday и подготовкой к собесам? Оба случаются раз в год, и оба нельзя пропустить! 😎 🔥 Курсы со скидкой 40% до конца ноября: 🐍 Python 📐 Математика 🤖 AI 🔢 Алгоритмы и структуры Пока другие покупают кофемашины и телевизоры, инвестируй в себя📈

Как диагностировать в проде thread pool starvation и «sync-over-async» без перезапуска? Снимайте EventPipe-метрики (dotnet-counters): ThreadPool Queue Length/Completed/Active, aspnetcore-критерии; берите короткий dotnet-trace CPU-сэмплинг, при необходимости дамп. Признаки — длинная очередь, мало воркеров, блокирующие стеки. Лечение: end-to-end async, убрать .Result/.Wait(), вынести долгие блокировки, при пиках поднять MinThread, но не маскировать корень. Библиотека собеса по С#

Основы обобщений (Generics) в C#: классы, интерфейсы, методы и делегаты Generics — это фундамент гибкого и переиспользуемого
Основы обобщений (Generics) в C#: классы, интерфейсы, методы и делегаты Generics — это фундамент гибкого и переиспользуемого кода в C#. На открытом вебинаре курса OTUS C# Developer. Professional Павел Нилов объяснит, как работают обобщения, зачем они нужны и как с их помощью писать код, который не боится масштабирования. 📌 18 ноября, 20:00 Основы обобщений (Generics) в C# — классы, интерфейсы, методы и делегаты — ковариантность, контравариантность и ограничения — эффективное использование List и Dictionary — примеры и разбор типичных ошибок Вебинар бесплатный и подойдёт начинающим .NET-разработчикам, студентам и джунам, готовящимся к собеседованиям, а также тем, кто хочет систематизировать знания по Generics. 👉 Регистрируйтесь: https://clc.to/LOIXVw Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Когда выбирать System.IO.Pipelines вместо Stream, и что важно для корректного парсинга? Для высокопроизводительных протоколов/сокетов: PipeReader выдаёт ReadOnlySequence<byte> без копий, парсите инкрементально, учитывайте частичные сообщения, управляйте backpressure через AdvanceTo(consumed, examined), не требуйте непрерывной памяти, корректно завершайте Complete() и прокидывайте CancellationToken. Библиотека собеса по С#

Как работать со временем и часовыми поясами без багов? Храните время в UTC, наружу отдавайте DateTimeOffset. Избегайте DateTime.Now и Kind=Unspecified; для интервалов применяйте Stopwatch. Конвертацию делайте через TimeZoneInfo (с правилами DST), зависимости от времени инъецируйте через абстракцию часов (ISystemClock), время парсите/форматируйте в ISO-8601. Тестируйте переходы часовых поясов и «дырки» DST. Библиотека собеса по С#

Как защитить внешний API от перегрузки в .NET 7+ с предсказуемым throttling? Используйте System.Threading.RateLimiting (Token/Fixed/Sliding/ConcurrencyLimiter) и middleware UseRateLimiter. Для per-user/per-key — политику с partitioner; задайте QueueProcessingOrder и длину очереди, чтобы получить backpressure или немедленные отказы. Оборачивайте вызовы Polly-политиками (timeouts/ретраи с джиттером). Библиотека собеса по С#

Как писать код, устойчивый к триммингу и AOT (NativeAOT/Blazor WASM)? Избегайте неявной рефлексии/динамики; для JSON используйте source-generators (JsonSerializerContext), для DI — compile-time контейнеры или дескрипторы без сканирования. Помечайте необходимые члены DynamicallyAccessedMembers/DynamicDependency, держите TrimmerRootDescriptor/link.xml минимальным. Не делайте Assembly.GetTypes() без фильтров; проверяйте PublishTrimmed сборками и тестами. Библиотека собеса по С#

Невидимые утечки: как находить и обезвреживать сложнейшие утечки памяти в .NET Даже опытные разработчики не всегда замечают,
Невидимые утечки: как находить и обезвреживать сложнейшие утечки памяти в .NET Даже опытные разработчики не всегда замечают, как события, таймеры и делегаты создают невидимые утечки, удерживая объекты в памяти. На открытом вебинаре курса OTUS C# Developer. Professional Елена Сычева покажет, как такие ошибки возникают и как их находить. 📌 12 ноября, 20:00 Невидимые утечки в .NET — диагностика скрытых утечек памяти — разбор работы GC и дампов памяти — анализ событий, таймеров и делегатов — реальные примеры из продакшн-кейсов Вебинар бесплатный и будет полезен .NET-разработчикам уровня Middle и выше, работающим с долгоживущими приложениями и микросервисами. 👉 Регистрируйтесь: https://clc.to/RV5S7Q Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru

Можете ли вы определить разницу между перегрузкой и переопределением? Перегрузка — когда у вас есть два или более методов в одной области действия с одинаковым именем, но разными параметрами. Переопределение — позволяет вам изменить поведение метода в подклассе или дочернем классе. Библиотека собеса по С#

Какова разница между IEnumerable и IQueryable при работе с удаленной базой данных? IEnumerable представляет собой коллекцию данных, находящуюся в памяти, и позволяет перемещаться по этим данным только в одном направлении — вперед. В отличие от него, IQueryable находится в пространстве имен System.Linq и предоставляет возможность удаленного доступа к базе данных. Он позволяет перемещаться по данным как в прямом, так и в обратном порядке. При выполнении запроса происходит его оптимизация, что делает работу с данными более эффективной. IEnumerable phoneIEnum = db.Phones; var phones1 = phoneIEnum.Where(p => p.Id > id).ToList(); //SELECT * FROM PHONES, фильтрация на стороне клиента IQueryable phoneIQuer = db.Phones; int id = 3; var phones2 = phoneIQuer.Where(p => p.Id > id).ToList(); //SELECT * FROM PHONES WHERE ID > 3 Библиотека собеса по С#

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

Как правильно задавать таймауты и отмену в async-цепочке без конфликтов? Держите один источник истины для отмены: передавайте общий CancellationToken вниз по стеку, избегайте вложенных таймаутов. Для HTTP вместо HttpClient.Timeout используйте Polly Timeout или CancellationTokenSource.CancelAfter, везде прокидывайте токен и корректно обрабатывайте OperationCanceledException. Библиотека собеса по С#