LearnThatStack Ace your next interview
Sorting, Searching & Recursion · question
Question 7 of 61

What is recursion, and what two ingredients does every recursive function need?

beginner
← All Sorting, Searching & Recursion questions
Re-explain

Recursion is when a function solves a problem by calling itself on a smaller version of the same problem. Each call handles one slice, then hands the rest to another call.

Every recursive function needs two ingredients. First, a base case, an input small enough to answer directly with no further call. Second, a recursive step that shrinks the problem and calls itself, moving toward that base case.

Miss either one and it breaks. Without a base case the calls never stop. Without real progress toward it, you also never stop.

A factorial shows both parts:

function fact(n) {
  if (n <= 1) return 1;      // base case
  return n * fact(n - 1);    // shrinks toward base
}
// fact(4) === 24
Rewriting in plainer words…

This answer doesn't lend itself to a diagram - it reads best . No credits were charged.

Why there's no diagram: “”

The interactive diagram is below the answer - jump to diagram ↓ · Below it, the related concept . Jump to it ↓

The diagram below the answer is the concept . Jump to it ↓

Tailored explanation · switch back to · ·
What should the new diagram focus on?
Guided practice for Sorting, Searching & Recursion One question at a time. Answer out loud, get graded, see what you missed.
How well did you know this?
AI:

Saved in this browser - sign in to keep your review list.

How should your speech become text?

Listening… your words appear above as you speak - tap Stop when you're done.

Recording · cr - tap Stop & transcribe when you're done.

Transcribing with AI…

Voice:

Keep going - a few more words and AI can grade it.

Interview lens How interviewers actually use this question

Likely follow-ups

What you can say

  1. Recursion is when a function solves a problem by calling itself on a smaller version of the same problem.
  2. Each call handles one slice of the work and hands the rest to the next call.
  3. Every recursive function needs two things: a base case, which is an input small enough to answer directly, and a recursive step that shrinks the problem and calls itself.
  4. Factorial shows both. If n is 1 or less, return 1. Otherwise return n times fact of n minus 1, so each call moves one step closer to the base case.
  5. Miss either one and it breaks. Without a base case, or without real progress toward it, the calls never stop.
  6. Even when both parts are right, every pending call holds a stack frame, so for very deep inputs I'd reach for a loop instead.

Weak answers to avoid

  • Names the base case, forgets progress A base case the input never reaches still loops forever. Say the recursive step must shrink the input toward it, like n - 1 heading down to 1.
  • Only says 'a function that calls itself' That's half of it. Say each call works on a smaller version of the same problem, because the shrinking is what makes the calls end.
  • Can't trace a call by hand Interviewers often ask you to walk fact(3). Show the calls going down to the base case, then the multiplications happening on the way back up.
  • Ignores the cost of deep recursion Each pending call holds a stack frame. Mention that very deep recursion can overflow the stack, so a loop is safer when depth grows with input.
Interview lens

Likely follow-ups, what you can say, and the weak answers to avoid.

Sign in free to open it Free account - the lens opens as soon as you're back.

Want a quick review of the fundamentals? See the Sorting, Searching & Recursion cheatsheet.

← Back to all Sorting, Searching & Recursion questions
Pro · $10/mo

51 of 61 Sorting, Searching & Recursion answers are in Pro.

Full answers, code samples, and AI explanations that go simpler or deeper. Cancel anytime.

  • Full answers + code
  • AI explanations, simpler or deeper
  • 1,000 AI credits / month
  • Cancel anytime