Многих при подготовке к собеседованиям интересует, что же спрашивают на собеседованиях на вакансию программиста. Есть вопросы, которые можно встретить не зависимо от языка программирования и уровня (Junior, Middle, Senior). Одним из таких - фундаментальных знаний является понимание, что такое рекурсия. Многие алгоритмы построены на рекурсивных вызовах функций. Так что же такое рекурсия ? Возьмем функцию А, которая вызывает сама себя с измененными аргументами. Это пример простой рекурсии. Классический пример это вычисление факториала. Примечание: Я намеренно не использую типы данных и библиотеки типа "math/big" для работы с большими числами чтобы код был более понятным. На практике, конечно нужно использовать их. Тут функция calcFactorial является рекурсивной т.к. вызывает сама себя. Бывают и более сложные случаи, например вычисление чисел Фибоначчи требует 2 вызова функции для вычисление одного числа. Можно назвать это параллельной рекурсией. N-й член последовательности Фибоначчи опре