Start here. This is the direct spoken answer to practice first.
Why this question matters
Next.js interviews often test whether candidates understand the server/client boundary instead of adding use client everywhere.
I would keep a component as a server component when it can render from server-side data without browser-only interactivity. Server components can fetch data on the server, avoid shipping that component's JavaScript to the browser, and keep secrets or backend-only calls off the client. I would use a client component when it needs state, event handlers, effects, browser APIs, or interactive behavior.