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

Собеседование C#-разработчика с live coding

Реальное техническое интервью на позицию .NET/C#-разработчика: опыт с Web API и SQL, вопросы по асинхронности и live-coding-задачи на алгоритмы, потокобезопасность и SOLID.

Источник: АйтишныйДомосед

Открыть на YouTube

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

Кандидат Владислав проходит интервью с руководителем группы разработки и тимлидом в команду, выделяющую функциональность из legacy-монолита на .NET Framework 4.8 и MS SQL. Он рассказывает о backend-опыте с Web API, Entity Framework, оптимизацией SQL-запросов, Redis, Docker и наблюдаемостью. В технической части обсуждают Parallel, Task и async/await; в live coding кандидат предлагает решение задачи на поиск пропущенного числа, разбирает проблему конкурентного доступа к словарю и с подсказками рефакторит сервис поздравлений по SOLID, убирая .Result и вынося параметры в конфигурацию.

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

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

  • Для поиска одного пропущенного числа заранее оговаривайте границы и проверяйте крайние случаи; сортировка работает, но линейное решение обычно эффективнее.
  • async/await не запускает работу автоматически в отдельном потоке: не блокируйте асинхронный путь через .Result и различайте I/O-ожидание и CPU-задачи.
  • ConcurrentDictionary делает отдельные операции потокобезопасными, но составные check-then-act действия должны использовать атомарные методы, например GetOrAdd или TryAdd, либо синхронизацию.
  • При SOLID-рефакторинге разделяйте доступ к данным, формирование шаблона и сохранение файлов; параметры, которые нужно менять без перекомпиляции, выносите в конфигурацию.

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