1. How do you implement getStaticPaths with fallback options and what does each fallback value do?
Implement getStaticPaths by returning an object with paths array containing objects with params matching your dynamic route segments, and a fallback option controlling behavior for non-pre-rendered paths. With fallback false, any path not in the paths array returns 404, useful for known finite sets like a small product catalog. With fallback true, unlisted paths render a fallback version first using router.isFallback, then Next.js generates the page client-side and caches it, good for large datasets where pre-rendering everything is impractical. With fallback 'blocking', Next.js waits to serve the full page server-side on first request without showing a fallback state, then caches it for subsequent requests, providing better UX when you don't want to show loading states. Combine getStaticPaths with getStaticProps to fetch data for each path, and use ISR revalidation to update pre-generated pages periodically.