Recursion and Stack Depth
Writing functions that call themselves to solve problems by breaking them into smaller subproblems, and the call-stack limits that come with it.
Recursion is a technique where a function solves a problem by calling itself on a smaller version of the same problem, continuing until it reaches a base case simple enough to answer directly without further recursion. It's a staple of technical interviews both because certain problems (tree traversal, divide-and-conquer algorithms) are naturally recursive, and because it tests whether you understand the call stack and its limits.
Recursion is like a set of Russian nesting dolls: each doll (call) contains a smaller version of the same problem, and you only start putting them back together (returning) once you hit the smallest, solid doll (the base case) that can't be opened further.