What is use server, why and when to use it in Next.js?
Assesses fundamental understanding of Next.js conventions, runtime behavior, and memory/performance considerations.
Hiring managers look for precision, avoidance of ambiguous jargon, and ability to explain trade-offs under real production conditions.
The "use server" directive in Next.js is used to indicate that a function should be executed on the server side. It allows you to write server-side logic that can be called from the client side, such as handling form submissions or processing data.
You should use "use server" when you need to perform operations that require server-side capabilities, such as:
- Accessing databases or file systems
- Performing secure operations that should not be exposed to the client
- Handling form submissions and processing data on the server
Example usage:
// app/form-example/page.js
"use server";
export async function handleSubmit(formData) {
const name = formData.get("name");
console.log("Form submitted with name:", name);
return { success: true };
}
export default function FormExample() {
return (
<form action={handleSubmit}>
<input type="text" name="name" />
<button type="submit">Submit</button>
</form>
);
}
In this example, the handleSubmit function is marked with "use server", indicating that it will run on the server when the form is submitted.
Candidate Response Strategy & Interview Tips
- Start with a concise one-sentence summary: Deliver a direct, confident answer first before expanding into nuances.
- Demonstrate real-world trade-offs: Discuss where this approach excels and when you would avoid it in production systems.
- Discuss complexity & edge cases: Proactively explain time/space complexity or boundary conditions (null values, scale limits).
- Prepare for interviewer follow-ups: Technical hiring panels frequently probe deeper into concurrency, backward compatibility, or alternative libraries.