Browser Interview Common Questions
Browser interview map for frontend engineers — loading, rendering, storage, networking, DevTools — with practice prompts and deep links.
- interview
- browser-interview
Browser questions separate “React tutorial graduates” from engineers who can debug production. You do not need every spec memorized — you need a load → parse → render → interact story and honest storage/network tradeoffs.
What interviewers score
- Pipeline literacy — HTML → DOM/CSSOM → render → paint
- Networking — HTTP caching, CORS enough to debug
- Main thread — long tasks vs compositor work
- Storage model — cookies / localStorage / IDB / Cache API
- Debugging — Network + Performance panels under pressure
Loading & navigation
| Topic | Can you… | Learn |
|---|---|---|
| Page load | Walk request → response → parse | How browsers load a page |
| Critical path | CSS blocks render; JS blocks parse when sync | Critical rendering path |
| DOM / CSSOM | Build render tree idea | DOM CSSOM render tree |
| Pipeline | Layout vs paint vs composite | Rendering pipeline |
| Reflow | Read layout in a loop thrashing | Reflow vs repaint |
| bfcache | Why back/forward is instant sometimes | bfcache |
| Lifecycle | pagehide, visibility, freeze |
Page lifecycle · visibilitychange |
Prompt: “What happens when you type a URL and press Enter?” — DNS/TLS sketch → HTML stream → discover CSS/JS → first paint → hydrate/interact. Stop at the level they want; offer depth.
Networking
| Topic | Can you… | Learn |
|---|---|---|
| Basics | Method, status, headers you actually use | Browser networking 101 |
| Caching | Cache-Control, ETag, revalidation |
HTTP caching headers |
| CORS | Simple vs preflight; when cookies need care | CORS · Preflight |
| Same-origin | What is protected cross-origin | Same-origin policy |
| DevTools | Waterfall reading, priority, initiator | Network panel · Network tab interview |
Prompt: “API works in Postman, fails in browser.” — CORS, mixed content, cookies SameSite, wrong Content-Type, preflight 403.
Rendering performance
| Topic | Can you… | Learn |
|---|---|---|
| Main vs compositor | Scroll/transform on compositor when possible | Main vs compositor |
| Layers | Promote carefully; memory cost | Compositor layers |
| Long tasks | Break work; yield | Long tasks API |
| INP / events | Input delay + processing + present | Event timing for INP |
| CLS | Layout shifts; reserve space | Layout instability |
| Measure | Performance panel + observers | Performance panel · PerformanceObserver |
| Memory | Heap snapshot intuition | Memory profiling |
Tie vitals to Core Web Vitals when the conversation goes product-level.
Storage & offline
| Topic | Can you… | Learn |
|---|---|---|
| Comparison | Size, persistence, sync vs async | Storage comparison |
| Cookies | Flags: Secure, HttpOnly, SameSite | Cookies · Secure cookie flags |
| Cache Storage | SW caches vs HTTP cache | Cache Storage API |
| Service workers | Scope, lifecycle, update | Service workers overview |
Prompt: “Where do you store JWTs?” — Prefer not in localStorage if XSS is a concern; discuss httpOnly cookies + CSRF strategy. See JWT storage pitfalls.
Security-adjacent browser questions
| Topic | Can you… | Learn |
|---|---|---|
| XSS | Sinks, encoding, CSP | XSS |
| CSP | What it blocks; report-only | Content Security Policy |
| COOP/COEP | Why some APIs need isolation | COOP · COEP |
| Permissions | Camera, notifications policies | Permissions Policy |
| MIME sniffing | Why X-Content-Type-Options |
Content-Type sniffing |
Classic verbal answers
| Question | Strong direction |
|---|---|
| Cookies vs localStorage? | Sent with requests vs script-only; size; XSS surface |
| Why defer/async scripts? | Parser-blocking vs order; type=module defer-by-default |
| What is a reflow? | Layout recalculation; forced by geometric reads |
| How does CORS protect users? | Browser enforces origin rules on credentialed JS reads |
| Service worker vs HTTP cache? | Programmable offline/intercept vs cache headers |
Practice prompts
- Debug a waterfall where CSS is the LCP villain.
- Explain why scrolling janks when you touch
topevery frame. - Design offline read for a notes app (SW + IDB sketch).
- Read a failed preflight in Network tab out loud.
Related on this site
- Critical rendering path
- HTTP caching headers
- Network tab debugging interview
- Performance interview talking points
- JavaScript interview
- Frontend performance roadmap
Further reading
- MDN — Populating the page
- web.dev — Critical rendering path
- Fetch Standard (when you need ground truth)
Browser literacy is a debugger’s skill. Practice explaining traces, not memorizing glossary entries.