Several patterns exist for fetching data.
Fetch on mount: Component fetches data when it renders. Simple but can cause waterfalls.
Fetch on interaction: Load data when user requests it. Good for rarely-used features.
Prefetching: Load data before it's needed. Hover over a link, start loading that page.
Parallel fetching: Multiple requests simultaneously instead of sequentially.
Modern libraries (React Query, SWR): Handle caching, refetching, and loading states automatically.
Interview tip: Always mention loading and error states when discussing fetching.