Consider this basic recursion in Python:
if number == 0: return 0
elif number == 1:
return fibonacci(number-1) + fibonacci(number-2)
def power(x, y):
if y == 0:
return x*power(x, y-1)
In the expression
fibonacci(number-1) + fibonacci(number-2) the first function call will have to complete before the second function call is invoked.
So, the whole recursion stack for the first call has to be complete before the second call is started.