Skip to content
tezvyn:

🌐Frontend Dev

Frontend web development and UI engineering

1155 bites

Test yourself: Top 30 Frontend Dev interview questionsMultiple choice, with the correct answer and why it is correct on every question. Free, no sign-in.

Everything in Frontend Dev

intermediate2 min read

Template syntax vs JSX: framework design trade-offs?

Templates (Vue, Angular) are declarative, easier to learn, enable static analysis; JSX (React, Solid) is code-based, flexible, familiar to JavaScript developers.

intermediate1 min read

Server-side data fetching in Nuxt 3?

Use useFetch or useAsyncData to fetch on server, data is serialized and injected into page state, component accesses it as reactive data.

intermediate2 min read

AOT vs JIT compilation: what does ahead-of-time win?

AOT compiles templates at build time (catches errors early, smaller bundle, faster startup), JIT compiles in browser (slower startup, larger bundle, flexible).

intermediate2 min read

Hydration: SSR HTML to interactive app?

Server renders HTML, client JavaScript bootstraps and attaches event listeners (hydration), mismatch occurs if server HTML differs from client render.

advanced2 min read

Testing shared Vue components: unit, a11y, visuals?

Unit tests (Vitest/Jest) for logic, accessibility tests (axe, Pa11y) for ARIA/keyboard, visual regression (Percy, Chromatic) for rendering.

advanced1 min read

Zone.js and change detection optimization in Angular?

Zone.js wraps async (timers, events, HTTP), triggering change detection after each; use runOutsideAngular when external libraries fire high-frequency events.

intermediate2 min read

When to adopt Pinia or NgRx over simple services?

Services work for small apps; use Pinia/NgRx when state is shared across many components, mutations are complex, or debugging/undo matters.

advanced2 min read

Compiler vs runtime reactivity: Svelte, Vue, Angular?

Svelte compiles away reactivity (smaller bundles, zero-cost), Vue/Angular use runtime Proxies/zone.js (flexible but heavier).

intermediate2 min read

Compile-time vs runtime prop validation across frameworks?

TypeScript (compile-time) catches errors before build; Vue props validation (runtime) catches at runtime; tradeoff: TS is stricter, Vue validation is flexible but less safe.

intermediate1 min read

Content projection: slots vs props for composition?

Slots let parent pass markup (not data) to child, child renders it as-is, vs props pass values; slots excel when parent needs full layout control.

advanced2 min read

Prerendering vs SSR in SvelteKit: trade-offs?

Prerender generates static HTML at build, SSR renders on each request, prerender wins on speed but requires static data.

advanced2 min read

What isolatedModules enforces and why bundlers need it

IsolatedModules forbids features needing cross-file type info because Babel and esbuild compile each file alone; const enums, certain re-exports, and namespace tricks are flagged.

easy1 min read

First compilerOptions to set after tsc --init

Enable strict for full type safety, set target and module to match the runtime, and choose outDir/rootDir or moduleResolution; each tightens checks or aligns output.

advanced2 min read

WebRTC signaling: SDP, ICE, and the signaling server

Peers exchange SDP offer and answer describing media via an out-of-band signaling server, then trade ICE candidates to find a network path using STUN and TURN.

advanced2 min read

Dedicated vs Shared vs Service Workers compared

Dedicated worker serves one page for offloading CPU; Shared worker is one instance across same-origin contexts via ports; Service worker is a network proxy for caching and push, event-driven and killable.

intermediate1 min read

Generic merge with an intersection return type

Use two type parameters T and U, return T & U, spread both objects; note later spread wins on key collisions and the type may not reflect that.

intermediate1 min read

Promise .catch() versus async/await try...catch

.catch() handles rejection for all preceding chain steps and reads functionally; try/catch reads synchronously and can scope errors per await, but only catches awaited rejections.

advanced1 min read

Implementing the Singleton pattern in TypeScript

Private constructor blocks new, a static private instance field caches it, static getInstance lazily creates and returns the one instance.

intermediate1 min read

Understanding this in TypeScript

In TypeScript, this is determined by how a function is called, not where it is defined; arrow functions capture the enclosing this lexically, and TypeScript adds optional this parameters to type-check the expected context at compile time.

intermediate1 min read

Purpose of Outlet in React Router v6 nested routes

Outlet renders the matched child route inside a parent layout, enabling shared chrome with swappable content; configure nested routes and place Outlet where children render.

We are hiring for this. Every open role lists the topics its interview covers, so you can prepare for the real thing rather than guessing.

See open roles