Какая последняя версия C# с которой вы работали
Что проверяют
Насколько актуальны ваши знания и работали ли вы с языком, а не только с одним старым проектом. Названная версия почти всегда тянет уточнение: что из неё вы реально использовали и что появилось после.
Как отвечать
Честно назовите версию с последнего проекта и сразу привяжите её к .NET, потому что по умолчанию версия языка определяется целевым фреймворком: C# 12 идёт с .NET 8, C# 13 с .NET 9, C# 14 с .NET 10, который вышел в ноябре 2025 года как LTS. Затем две-три фичи, которыми вы пользовались сами, и пример, где они упростили код:
- C# 14: extension members, то есть блоки
extensionв том числе со свойствами, ключевое словоfieldв свойствах вместо ручного поля, присваивание через?.; - C# 13:
paramsдля коллекций иSpan, типSystem.Threading.Lock, частичные свойства; - C# 12: первичные конструкторы у классов, выражения коллекций
[1, 2, 3], псевдонимы для любых типов; - C# 11:
required-члены, сырые строковые литералы, списковые паттерны, generic math.
Сильный ответ звучит примерно так: «Последний проект на .NET 8 и C# 12, в сервисах активно пользовались первичными конструкторами и выражениями коллекций. Сейчас переходим на .NET 10, потому что поддержка .NET 8 заканчивается в ноябре 2026 года, и я уже пробую field и extension members». Примеры и сроки подставьте свои.
Если проект был на старом .NET Framework, где по умолчанию C# 7.3, так и скажите, а затем покажите, что следите за языком: что пробовали в пет-проекте, что читали в release notes. Честное «в проде 7.3, новые версии знаю по своим экспериментам» лучше выдуманного опыта с C# 14.
Где спотыкаются
Путают версию языка и платформы: «пишу на C# 8, потому что у нас .NET 8».
Приписывают фичи не той версии. Записи и выражения with появились в C# 9, а не в 10, и интервьюер это проверит.
Называют свежую версию, но не могут вспомнить ни одной её возможности. Это выглядит хуже, чем старая версия, про которую вы знаете всё.