A common theme in programming questions for interviews is a Dynamic Programming question.
This kind of question is something that would require a huge number of calculations, but mostly of the same values, over and over again.
Generally the way to solve these efficiently is to store the previous result of calculating them and return those if we have it, which greatly reduces the number of calculations you have to do.
The process of storing what you've previously calculated is called memoization. Pretty close to memorization, in spelling and meaning, but not the same word!
Have you solved algorithmic questions using functional programming and memoization in Kotlin? Let me know in the comments!