Когда benchmarks лучше не использовать или использовать осторожно?

GoMiddle+Testing and QualityТеорияtesting_and_qualitybenchmarksgolang_developer

Что хотят услышать интервьюеры:

Суть: benchmark измеряет производительность функции через пакет testing.

Ответ:

Пример:

func BenchmarkParse(b *testing.B){
  for i:=0;
i<b.N;
i++{
  Parse(x)
}

}

Практический акцент: Оцените trade-off: простота, производительность, тестируемость, связность пакетов и цена поддержки.

Типичная ошибка: делать выводы по одному запуску без контроля аллокаций и внешних факторов.

Как отвечать на собеседовании: На собеседовании связывайте тесты с рисками: чистая логика, HTTP, БД, concurrency, контракты и регрессии.

Источники

Похожие вопросы