Pergunta de entrevista da empresa Northwestern Mutual

What is a hook? What is the difference between a functional component and a class component?