Core Questions
- What are Preload, Reconnect, Prefetch, and Prerender?
- How can you do caching on a website?
- What are ETag, Cache-Control, and Document Fragment?
- How do you optimize assets? What is image compression? What’s the difference between WebP, PNG, and JPG?
- What is a Memory Leak?
- What’s the difference between Repaint and Reflow (often confused with Rework)?
- If a user clicks a button multiple times to fetch data, how to cancel old API calls and use only the latest result?
- Does React use Promise.allSettled() for parallel API calls? How does that work internally?
- What algorithm does Array.prototype.sort() use? What’s the output of [1, null, 5, 2, undefined]?
- What happens when we hit a URL in the browser? What is CRP (Critical Rendering Path)?
- What events can we use when a website is loading? In-depth view of CRP (Critical Rendering Path)
- Difference between Prototypal and Classical Inheritance in JavaScript
- How does JavaScript handle asynchronous operations? What mechanisms does it use?
- What are the SOLID Principles?
- How do we use OOP in JavaScript?
- What are Semantic HTML Elements?
- What is srcset in HTML?
- Difference between display: none and visibility: hidden
- Basic performance-related common questions.
- What is the use of the new operator in JavaScript?
- Explain the webpack build process?
- How would you architect an application to support multiple devices?
- What is the use of Headers in HTTP requests?
- What are render-blocking resources?
- Event Capturing vs Delegation vs Bubbling
- Can we bind this in an arrow function? What happens if we use the new operator with an arrow function?
- Difference between map and object in JavaScript
- What are Closure, Event Loop, Hoisting, and Currying?
- What are Web Core Vitals? How to improve them?
- Explain Web Performance Metrics
Bonus Questions
- What are Symbols and Generators?
- What are Web Components, Service Worker, Web Worker, and Progressive Web App (PWA)?