Перейти к основному содержимому

Вопросы на собеседовании

Вопросы на собеседовании .NET-разработчика

25 вопросов на собеседовании .NET-разработчика: C#, ASP.NET Core, Entity Framework и SQL Server, микросервисы, асинхронность, Docker, поведенческие вопросы.

Поделиться:TGVKWA
C# и платформа .NETASP.NET Core и Web APIEntity Framework CoreSQL ServerАсинхронность (async/await)Микросервисы и брокеры сообщенийDocker и CI/CDUnit-тестирование (xUnit, Moq)

📈 Готовитесь к собеседованию? Получайте свежие вакансии .NET-разработчик на почту или в Telegram — и откликайтесь, пока подготовка свежая.

бесплатно
Бесплатно, без регистрации

Мини-собеседование: .NET-разработчик

Прочитать вопросы мало — на интервью придётся говорить. Ответьте на один вопрос своими словами, 2–3 предложений хватит, и ИИ разберёт ответ по четырём критериям: структура, конкретика, релевантность, убедительность.

123
Технический вопросДля всех уровней

Чем ссылочные типы отличаются от значимых в C# и что такое упаковка?

2–3 предложения достаточно · ещё 20 симв.

Типовые вопросы и подсказки к ответам

Используйте подсказки как каркас ответа: добавьте свои проекты, метрики, ограничения и выводы. Любой вопрос можно тут же проговорить — кнопка «Ответить и получить разбор ИИ» отправит его в мини-собеседование выше.

Технический вопрос

Вопрос 1Для всех уровней

Чем ссылочные типы отличаются от значимых в C# и что такое упаковка?

Показать подсказку ▾

Как отвечать: Объясните стек и кучу, семантику копирования, boxing/unboxing для структур и почему это важно для производительности в горячих участках кода.

Вопрос 2Junior

Когда вы выберете интерфейс, а когда абстрактный класс?

Показать подсказку ▾

Как отвечать: Назовите ключевые отличия: множественная реализация, состояние и реализация по умолчанию — и приведите пример из своего проекта, где выбор был осознанным.

Вопрос 3Для всех уровней

Как работает async/await в C# и почему вызов .Result на Task опасен?

Показать подсказку ▾

Как отвечать: Расскажите про конечный автомат, SynchronizationContext, «async до самого верха» и механику взаимоблокировки при смешивании синхронного ожидания с асинхронным кодом.

Вопрос 4Middle

Как устроен сборщик мусора в .NET: поколения и куча больших объектов?

Показать подсказку ▾

Как отвечать: Объясните поколения 0/1/2, LOH и её фрагментацию, когда стоит думать о Span и пулах объектов — и как вы диагностировали проблемы с памятью на практике.

Вопрос 5Middle

Чем IEnumerable отличается от IQueryable и что такое отложенное выполнение?

Показать подсказку ▾

Как отвечать: Покажите разницу между выполнением в памяти и трансляцией в SQL, опасность случайной материализации запроса и пример, где это приводило к лишним запросам к базе.

Вопрос 6Middle

Какие времена жизни сервисов есть во встроенном DI-контейнере .NET?

Показать подсказку ▾

Как отвечать: Разберите Singleton, Scoped и Transient, проблему захваченной зависимости (singleton, держащий scoped-сервис) и как это проявляется с DbContext в ASP.NET Core.

Вопрос 7Для всех уровней

Опишите конвейер обработки запроса в ASP.NET Core: middleware, маршрутизация, фильтры.

Показать подсказку ▾

Как отвечать: Пройдите по цепочке: middleware в порядке регистрации, endpoint routing, фильтры MVC — и объясните, где правильно размещать аутентификацию, логирование и обработку ошибок.

Вопрос 8Middle

Когда логику стоит выносить в middleware, а когда в фильтры или атрибуты?

Показать подсказку ▾

Как отвечать: Покажите критерий выбора: сквозные задачи до маршрутизации — в middleware, логика, привязанная к контроллерам и модели, — в фильтры; приведите пример из своего кода.

Вопрос 9Middle

Что такое проблема N+1 в Entity Framework Core и как вы её находите и устраняете?

Показать подсказку ▾

Как отвечать: Расскажите про Include и проекции в DTO через Select, разделённые запросы, включение логирования команд EF и как обнаруживаете проблему по трассе SQL.

Вопрос 10Для всех уровней

Как вы применяете миграции EF Core на продакшене без простоя и потери данных?

Показать подсказку ▾

Как отвечать: Опишите генерацию SQL-скриптов, обратно совместимые изменения схемы, отдельный шаг миграций в пайплайне и план отката.

Вопрос 11Middle

Запрос к SQL Server вдруг стал работать медленно. Как вы будете искать причину?

Показать подсказку ▾

Как отвечать: Назовите инструменты: план выполнения запроса, статистика и её устаревание, сортировки и сканирования вместо поиска по индексу, блокировки — и пример из практики.

Вопрос 12Для всех уровней

Что такое транзакции и уровни изоляции и когда без них нельзя обойтись?

Показать подсказку ▾

Как отвечать: Объясните атомарность на примере перевода денег, кратко разберите Read Committed, Repeatable Read и Serializable, упомяните риски блокировок и дедлоков.

Вопрос 13Middle

Как вы проектируете Web API: версионирование, валидация, обработка ошибок?

Показать подсказку ▾

Как отвечать: Расскажите про версионирование через URL или заголовки, FluentValidation или DataAnnotations, единый формат ошибок ProblemDetails и идемпотентность операций.

Вопрос 14Senior

Как вы делите систему на микросервисы и организуете их взаимодействие?

Показать подсказку ▾

Как отвечать: Говорите о границах по бизнес-контекстам, синхронном REST/gRPC против событий через RabbitMQ или Kafka, распределённых транзакциях и сагах — с примером из опыта.

Вопрос 15Senior

Как сделать распределённую систему устойчивой к сбоям зависимостей?

Показать подсказку ▾

Как отвечать: Назовите конкретные паттерны: повторные попытки с экспоненциальной задержкой, circuit breaker через Polly, паттерн outbox для надёжной публикации событий, таймауты и health checks.

Вопрос 16Middle

Какое кеширование вы применяли в .NET и как решаете проблему инвалидации?

Показать подсказку ▾

Как отвечать: Сравните IMemoryCache и распределённый кеш на Redis, расскажите про время жизни записей, вытеснение, штамп запросов к кешу и случай устаревших данных из практики.

Вопрос 17Middle

Как вы ищете узкие места производительности .NET-приложения?

Показать подсказку ▾

Как отвечать: Назовите инструменты: dotnet-counters и dotnet-dump, профилировщики dotTrace или PerfView, BenchmarkDotNet для микробенчмарков — и подчеркните: сначала замер, потом оптимизация.

Вопрос 18Middle

Как устроена сборка и доставка вашего .NET-сервиса: Docker и CI/CD?

Показать подсказку ▾

Как отвечать: Опишите многоступенчатый Dockerfile на базе образов Microsoft, публикацию в режиме self-contained или framework-dependent, прогон тестов и миграций в пайплайне, health checks в контейнере.

Резюме открывают раньше, чем зовут на собеседование. Соберите версию под «.NET-разработчик» с ИИ — около 10 минут, начать можно бесплатно.

Резюме под эту роль

Кейс

Вопрос 1Middle

Кейс: в проде у сервиса растёт потребление памяти, а под нагрузкой растёт время ответа. Ваши действия?

Показать подсказку ▾

Как отвечать: Покажите методичность: метрики и dotnet-counters, снятие дампа и анализ удерживаемых объектов, типичные причины — статические коллекции, подписки на события, неотпущенные ресурсы, — и проверка исправления бенчмарком.

Поведенческий вопрос

Вопрос 1Для всех уровней

Расскажите о самом сложном баге, который вы нашли и исправили.

Показать подсказку ▾

Как отвечать: Ответьте по STAR: симптомы и влияние на пользователей, как вы локализовали причину, что оказалось корнем проблемы и какую защиту от повторения добавили.

Вопрос 2Для всех уровней

Как вы реагируете, когда на код-ревью ваше решение критикуют?

Показать подсказку ▾

Как отвечать: Покажите, что обсуждаете код, а не себя: разбираете аргументы по существу, приводите контрпримеры и бенчмарки, готовы менять решение и воспринимаете ревью как обучение.

Вопрос 3Middle

Расскажите о ситуации, когда вы понимали, что не успеваете к дедлайну.

Показать подсказку ▾

Как отвечать: Опишите раннее предупреждение команды, декомпозицию и отсечение необязательного, согласование приоритетов с тимлидом — и выводы, которые сделали для планирования.

Вопрос 4Для всех уровней

Приходилось ли вам отстаивать техническое решение перед тимлидом или архитектором?

Показать подсказку ▾

Как отвечать: Приведите пример, где вы аргументировали данными: замеры, прототип, стоимость поддержки — и как реагировали, если решение всё равно приняли не ваше.

Вопрос 5Для всех уровней

Почему вы выбрали .NET и как развиваетесь как разработчик?

Показать подсказку ▾

Как отвечать: Свяжите ответ с реальным интересом к платформе: что читаете и пробуете, пет-проекты, новые версии .NET, вклад в команду — конкретика важнее общих слов про саморазвитие.

Вопрос 6Для всех уровней

Почему вы хотите работать .NET-разработчиком именно у нас?

Показать подсказку ▾

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

Готовы отвечать — а резюме уже под эту роль?

До собеседования резюме ещё нужно открыть. Соберите адаптированное резюме для «.NET-разработчик» за ~10 минут: ИИ сформулирует опыт, навыки и достижения под требования работодателей.

Собрать резюме под эту роль
PRO

Проверьте себя: первый разбор — бесплатно

Прочитать вопросы — это старт. Настоящая подготовка — проговорить ответ и услышать, что с ним не так. Первый разбор ИИ бесплатный и без регистрации, прямо на этой странице. Полная симуляция — в PRO или разово, без подписки.

  • Реальные вопросы по вашей роли
  • Разбор ответов с ИИ
  • Оценка и советы

План подготовки

  1. 1Повторите фундамент платформы: типы значений и ссылок, сборщик мусора, async/await и устройство Task, LINQ и отложенное выполнение.
  2. 2Освежите ASP.NET Core: конвейер middleware, внедрение зависимости и времена жизни сервисов, версионирование API и ProblemDetails.
  3. 3Разберите свои проекты с Entity Framework: найдите в памяти случаи N+1, настройки индексов и безопасного применения миграций на проде.
  4. 4Подготовьте 2–3 истории по STAR: сложный баг, спор о архитектуре, работа с дедлайном — с конкретными цифрами и результатом.
  5. 5Пройдите пробное интервью в тренажёре Rabota-Help и потренируйтесь объяснять сложные темы простым языком за 2–3 минуты.

Частые ошибки

  • Зазубрить определения, но не суметь применить их: объясняет boxing, но не понимает, где он убивает производительность в его коде.
  • Писать LINQ поверх IQueryable, не задумываясь, какой SQL получится, и удивляться проблеме N+1 на собеседовании.
  • Отвечать про микросервисы модными словами без примеров: собеседник быстро проверяет, доводил ли кандидат систему до прода.
  • Оптимизировать «на глаз» и не уметь назвать ни один инструмент профилирования — для middle и senior это красный флаг.
  • Негативно отзываться о бывшей команде и код-ревью — работодатель слышит это как прогноз конфликтов.
  • Не задать вопросов о стеке, версии .NET, устройстве пайплайна и зоне ответственности в команде.
Практика интервью

От вопросов — к тренировке интервью

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

Открыть тренажёр для роли .NET-разработчик
Зарплата

Зарплата .NET-разработчик в России

По данным 30 вакансий

Полная статистика →

P25 (ниже среднего)

125 000 ₽

Медиана

150 000 ₽

50% вакансий

P75 (выше среднего)

230 000 ₽

Медиана по уровню опыта

1–3 года

132 000 ₽

3–6 лет

183 000 ₽

Навыки

Востребованные навыки .NET-разработчика

Частота упоминания в вакансиях работодателей

Все навыки →
1
.NET20%
2
MS SQL17%
3
REST17%
4
API17%
5
ASP.NET17%
6
PostgreSQL17%
7
С#13%
8
Git13%
Специалисты

Профили .NET-разработчика на Rabota-Help

Реальные специалисты, открытые к предложениям

Все специалисты →

Вы готовитесь к собеседованию. А работодатели уже ищут .NET-разработчика.

Создайте анонимный публичный профиль — его найдут в Яндексе и Google, и предложения придут сами. Контакты скрыты, пока вы не решите иначе.

Работодатели уже ищут: .NET-разработчик · от 150 000 ₽

Создать анонимный профиль — бесплатно

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

Вы нанимаете .NET-разработчика? Профили кандидатов и подбор для работодателей →

Вакансии

Свежие вакансии .NET-разработчика: 345

Откройте подходящие предложения и откликнитесь после подготовки к собеседованию.

Смотреть вакансии →