Pregunta de entrevista de EPAM Systems

Explain when to use usestate, useEffect, useContext, useMemo, useCallback, useRef and the difference between them