Что такое алгоритм
Что проверяют
Вопрос вводный, и ценится в нём точность формулировки, а не длина. Дальше почти всегда идёт продолжение про свойства алгоритма и про оценку сложности, поэтому определение стоит дать так, чтобы эти свойства из него вытекали.
Как отвечать
Алгоритм это конечная последовательность однозначно определённых шагов, которая по допустимым входным данным за конечное число действий даёт требуемый результат. Из определения выводятся свойства: дискретность, определённость каждого шага, конечность, наличие входа и выхода, применимость к целому классу задач, а не к одному набору данных.
Отделите алгоритм от программы: алгоритм это метод, программа его запись на конкретном языке. Один и тот же метод на C# записывается циклом или рекурсией, а библиотечный вызов сортировки прячет алгоритм внутри.
static int Gcd(int a, int b)
{
while (b != 0)
(a, b) = (b, a % b);
return Math.Abs(a);
}Добавьте про стоимость: сложность оценивают асимптотически по времени и по памяти, отбрасывая константы, и записывают через O большое. Именно поэтому бинарный поиск по отсортированным данным обгоняет перебор на больших объёмах, хотя на коротких его преимущество незаметно.
Где спотыкаются
Сводят определение к фразе «последовательность действий». Под неё подходит и кулинарный рецепт, и вечный цикл; конечность и однозначность шагов обязаны прозвучать.
Читают асимптотику как время в секундах. Она описывает рост, а не скорость: на коротких массивах простой перебор нередко быстрее алгоритма с лучшей асимптотикой, потому что решают константа и обращения к памяти.
Путают алгоритм и структуру данных. Словарь это структура, а быстрый поиск в нём обеспечивает алгоритм хеширования; смешение этих понятий на собеседовании слышно сразу.