How do you create a 404 page 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.
Creating a customized 404 Not Found page is straightforward in both Next.js routers:
### 1. In App Router (app/ directory):
Create app/not-found.tsx:
// app/not-found.tsx
import Link from 'next/link';
export default function NotFound() {
return (
<div className="flex flex-col items-center justify-center min-h-[60vh]">
<h1 className="text-4xl font-bold">404 - Question Not Found</h1>
<p className="mt-2 text-gray-600">The requested interview question does not exist.</p>
<Link href="/" className="mt-4 px-4 py-2 bg-blue-600 text-white rounded">
Return Home
</Link>
</div>
);
}
You can also trigger this page programmatically in any Server Component by calling notFound().
### 2. In Pages Router (pages/ directory):
Create pages/404.tsx:
Export a default React component. Next.js statically generates this page at build time for instant loading.
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.