ESC

Type to search the knowledge base.

Performance Interview Talking Points

Frontend performance interview map — Core Web Vitals, measurement, common fixes, and how to answer without cargo-cult tips.

intermediate4 min read
  • interview
  • performance-interview

Performance interviews punish checklist recitation (“I would use CDN and memo”). They reward measure → hypothesize → fix → verify and fluency with Core Web Vitals.

Hub: Core Web Vitals · mindset: Measuring performance.

What interviewers score

  1. Metrics literacy — LCP, INP, CLS (+ TTFB)
  2. Lab vs field — Lighthouse ≠ users
  3. Critical path thinking
  4. Prioritization — biggest win first
  5. Regression control — budgets, RUM

Core Web Vitals table

Metric What it captures Interview fix directions Learn
LCP Loading: largest contentful paint Image optimize, preload, server TTFB, less blocking CSS/JS LCP tactics
INP Interactivity across inputs Break long tasks, fewer main-thread JS, defer non-critical INP tactics
CLS Visual stability Size attributes, reserve space, font strategy CLS tactics

Also: TTFB · Lab vs field · Lighthouse interpretation.

Answer framework (use every time)

1. What user pain / metric?
2. How measured (RUM, trace, Lighthouse)?
3. Top 1–2 causes from evidence
4. Fix
5. How to prevent regression

Loading path talking points

Topic Can you… Learn
Critical path CSS blocking; JS parser cost Critical rendering path
Code splitting Route-level splits; avoid micro-splits Code splitting strategies · React lazy
Bundle budget Set CI fail thresholds JS bundle budget · Budgets in CI
Images formats, srcset, priority Image optimization · Responsive images
Fonts display strategy; subset Font loading
Third parties tag managers, chat widgets Third-party script cost
Hints preconnect, preload (sparingly) Preconnect
Caching hashed assets, SW caution Caching fingerprinting

Runtime / interactivity

Topic Can you… Learn
Long tasks yield, chunk, workers Long tasks · scheduler.yield
Layout thrash batch reads/writes Avoid layout thrashing
Lists virtualize large feeds Virtual lists · React virtualization
React re-renders profile before memo React performance checklist · React.memo
Idle work defer analytics Idle scheduling

Measurement toolkit

Tool When
Lighthouse / CI Lab regressions
Performance panel Main-thread traces
Network waterfall Resource order/size
Web Vitals JS / RUM Field p75
React Profiler Component cost

RUM · Performance panel · PerformanceObserver.

Classic prompts & strong directions

Prompt Direction
“Page feels slow” Which metric? Device? Cold/warm? Field data?
“Improve LCP” Element identity → bytes → discovery time → TTFB
“Input lag” Long tasks; handlers; rendering; INP breakdown
“Layout jump” Fonts, ads, images without dimensions, late inject
“React app jank” Profile commits; state location; lists; concurrent features carefully

Footguns (say these)

  • Optimizing average when p75 mobile is the product metric
  • Memoizing everything — memoization tradeoffs
  • Preloading half the site
  • Blaming network while main thread is blocked 800ms
  • Celebrating Lighthouse 100 with terrible RUM

Mini case (out loud)

“Field LCP p75 3.8s on product page. Lab: hero image 1.8MB PNG, no priority, discovered after 300ms of JS. Fix: AVIF/WebP, explicit size, fetchpriority=high, preload. Server TTFB already 200ms. Budget: image weight in CI. Re-check CrUX/RUM in a week.”

Further reading

Performance talk is evidence-led. Metrics first, tips second.