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

Собеседование C# программист в Американский интернет магазин продажи конопли

Техническое интервью C#/.NET-разработчика с вопросами по архитектуре, базам данных, алгоритмам и практическим заданиям. В конце разбирают предложенный C#-код и возможные улучшения.

Источник: Матвей Дубровин

Открыть на YouTube

Таймлайн

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

Запись технического собеседования C#/.NET-разработчика: кандидат рассказывает о проектах с Angular, React, Microsoft SQL Server, PostgreSQL, Docker и микросервисами, а интервьюер уточняет опыт процессов разработки и деплоя. Далее они обсуждают различия монолита и микросервисов, трёхслойную архитектуру, тесты, паттерны, коллекции и работу с базами данных. Практическая часть включает решение задачи на анаграммы, проектирование схемы книжного интернет-магазина и разбор фрагмента C#-кода.

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

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

  • Кандидат описывает опыт работы с Microsoft SQL Server и PostgreSQL; по его словам, на одном проекте таблицы содержали более 10 млрд записей, а для производительности требовались индексы, мониторинг и периодическое перестроение индексов.
  • В обсуждении CI/CD рассматривается поток pull request → код-ревью одним или двумя участниками → merge → тестовое окружение/production; в одном из описанных проектов контейнеры выкатывались через Kubernetes.
  • Микросервисы, по ответу кандидата, дают изоляцию и независимое развёртывание сервисов, но усложняют мониторинг, резервное копирование и сопровождение отдельных баз данных и инстансов.
  • Для связи книг с несколькими авторами в схеме БД кандидат приходит к отдельной таблице связи с двумя внешними ключами; хранение списка авторов в JSON или строке с ID он считает неудобным для выборок.
  • При выдаче больших наборов данных кандидат предлагает paging, фильтрацию, поиск и сортировку, чтобы не передавать на фронтенд целые таблицы.
  • В задаче на анаграммы кандидат строит алгоритм сопоставления символов двух строк, исправляет ошибку с повторным затиранием символов и оценивает решение как квадратичное в худшем случае.
  • В код-ревью обсуждаются управление ресурсами через using, возможные исключения при неинициализированных значениях, сомнительная работа со статическим методом, массивами, Task и Dictionary.

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