Вернуться в видеотеку

Технический скрининг c#, выполнение кода

Техническое интервью по C#/.NET с разбором выполнения кода: Dictionary, перечисления, yield, async/await и Task. В начале кандидат рассказывает о прошлом проекте и рабочем процессе.

Источник: Bruce Wayne

Открыть на YouTube

Таймлайн

Коротко о видео

Это запись технического скрининга C#/.NET: после краткого рассказа кандидата о коммерческом опыте интервьюер последовательно даёт несколько фрагментов кода на разбор. Обсуждаются поведение Dictionary при совпадении хеш-кодов, захват переменных и перечисления, ленивые IEnumerable/генерирующие функции, исключения в async/Task и оценка времени параллельных Task.Delay. Кандидат также описывает опыт в соревновательной игровой платформе, причины ухода с прошлого места и pet-проект для рекурсивного сбора ссылок.

Затронутые темы

Что взять на заметку

  • Подготовить краткий рассказ о .NET-опыте: кандидат сообщает о более чем пяти годах программирования и более трёх годах коммерческой разработки.
  • Уметь объяснить архитектуру недавнего продукта: два сервиса для запуска игровых серверов и основного приложения, их асинхронное взаимодействие, облачная инфраструктура, Jira и Scrum.
  • Повторить устройство Dictionary: роль GetHashCode, коллизии и необходимость сравнения ключей, а не только совпадения хеш-кодов.
  • Разобрать ленивое выполнение IEnumerable: когда запускается генератор, чем опасен Count на потенциально бесконечной последовательности и как ограничивать перечисление.
  • Повторить распространение исключений из async-методов при вызове без await, с await и при блокирующем ожидании Task.
  • Потренироваться оценивать длительность набора параллельных Task.Delay и понимать, что Stopwatch измеряет фактическое прошедшее время.

Рекомендуем посмотреть