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

Пробное Middle C# собеседование (мок-интервью). Часть 2

Фрагмент мок-интервью по C#/.NET: LINQ, IQueryable/IEnumerable и стратегия тестирования. После ответов кандидата интервьюер разбирает неточности в определениях unit-, integration-, component-, contract- и нагрузочных тестов.

Источник: DotNet Interview Preparation

Открыть на YouTube

Таймлайн

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

Вторая теоретическая часть пробного Middle C# мок-интервью посвящена LINQ, различиям IQueryable и IEnumerable, а затем видам тестирования. Кандидат отвечает на вопросы, а интервьюер уточняет понятия: unit-тест изолирует один юнит, интеграционный тест проверяет взаимодействие нескольких частей, а полный запуск системы относится к end-to-end-проверке. В конце обсуждаются component-, contract- и нагрузочные тесты, определение пропускной способности и запас до пиковых нагрузок.

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

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

  • Отложенное выполнение LINQ обсуждается как выполнение цепочки при материализации результата, например при получении конкретной коллекции.
  • IQueryable отличается тем, что провайдер может преобразовать и оптимизировать выражение запроса до материализации; IEnumerable используется для последовательной обработки уже доступных данных.
  • Цепочки LINQ-методов образуют fluent interface: типизированный IEnumerable возвращается из операций и позволяет последовательно вызывать новые методы.
  • Unit-тест должен изолировать один юнит, например класс, с помощью mocks и stubs; не требуется механически писать отдельный тест на каждый if, если проверки относятся к одной логике.
  • Параметризованные тесты позволяют прогнать один тест на наборах входных данных: отрицательном значении, нуле и других граничных случаях.
  • Интеграционные тесты могут проверять несколько классов и при необходимости базу данных или другие зависимости; их можно запускать в CI/CD, а не только локально. Полное поднятие приложения интервьюер относит к end-to-end-тесту.
  • Для микросервисов упомянуты эмуляция внешних сервисов и contract-тесты, а нагрузочные тесты нужны, чтобы измерить пропускную способность и установить безопасные пороги до пикового трафика.

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