Pregunta de entrevista de SigFig

What is functional programming? When do we use functional programming and when we use OOP?