1. What is the purpose of the `useState` hook?
2. What is the difference between state and props?
3. When should you use the `useEffect` hook?
4. What is the purpose of the `useContext` hook?
5. What is the difference between the `useRef` and `useState` hooks?
6. When should you use the `useMemo` hook?
7. What is the purpose of the `useCallback` hook?
8. What is the difference between the `useEffect` and `useLayoutEffect` hooks?
9. When should you use the `useReducer` hook?
10. What is the purpose of the `useImperativeHandle` hook?
11. What is the difference between the `forwardRef` and `useImperativeHandle` hooks?
12. When should you use the `useDebugValue` hook?
13. What is the purpose of the `useTransition` hook?
14. What is the difference between the `useContext` and `useReducer` hooks?
15. When should you use the `useMemo` and `useCallback` hooks together?