Frontend Interview Book
Master the fundamentals with 100+ carefully curated interview questions covering JavaScript, React, CSS, and more.
Chapter I: HTML & CSS
Core concepts and fundamental understanding
CSS Box Model
Understanding the CSS box model
Center a Div
How to center a div using CSS. We will cover 4 different approaches: flexbox, grid, margin-auto, and position-absolute.
Difference between cookie, sessionStorage, and localStorage
Understanding the differences between cookie, sessionStorage, and localStorage
Difference between px, rem, em units
Understanding the differences between px, rem, em units
Difference between reset.css and normalize.css
Understanding the differences between reset.css and normalize.css
Difference between script, script-async, script-defer
Understanding the differences between script, script-async, script-defer
Describe z-index, and it's stacking context
Understanding the z-index and stacking context
Chapter II: JavaScript Problems
Practical coding challenges and algorithmic problems
Implement curry function
Implement curry function in JavaScript
Implement custom Array.prototype.map
Implement custom Array.prototype.map
Debounce decorator
Implement debounce decorator
Deep Copy of an Object
Implement deep copy of an object in JavaScript
Deep Equal of two objects
Implement deep equal of two objects in JavaScript
Implement Event Emitter
Learn how to implement a custom event emitter in JavaScript
Implement custom Array.prototype.filter
Implement custom Array.prototype.filter
Flatten the Array
Learn different approaches to flatten nested arrays in JavaScript
Implement custom Array.prototype.forEach
Implement custom Array.prototype.forEach
Implement Custom Promise
Learn how to implement a custom Promise class from scratch in JavaScript
Implement a custom Observable
Implement a custom Observable
Implement a custom Promise.all()
Implement a custom Promise.all()
Implement a custom Promise.race()
Implement a custom Promise.race()
Implement a Custom Promise Class
Implement a Custom Promise Class
Implement a Custom Promisify Function
Implement a Custom Promisify Function
Implement Spy decorator
Implement Spy decorator
Implement throttle decorator
Implement throttle decorator
Traverse DOM tree
Traverse DOM tree
Chapter III: JavaScript Theory
Core concepts and fundamental understanding
Understanding call(), apply() and bind() methods
Understanding call, apply, bind methods
What is the Closure in JavaScript?
Understanding closures in JavaScript
What are the data types in JavaScript?
Understanding the data types in JavaScript
JavaScript Event Loop
Understanding how JavaScript's event loop, call stack, and task queue work together
Events: bubbling, capturing, propagation, delegation
Understanding events in JavaScript
Generators and Iterators in JavaScript
Understanding generators and iterators in JavaScript
High Order Functions
Understanding high order functions in JavaScript
Hoisting in JavaScript
Understanding hoisting in JavaScript
How does a browser render a webpage?
Understanding how a browser renders a webpage
Javascript Modules: AMD, CommonJS, ES6 Modules
Understanding javascript modules in JavaScript
Memory Management and Garbage Collection in Javascript
Understanding memory management and garbage collection in JavaScript
Pass by value and reference
Understanding pass by value and reference in JavaScript
Understanding Promise in JavaScript
Understanding promise, promise chain, promise.all vs promise.race in JavaScript
Prototypes
Understanding prototypes in JavaScript
Pure and Impure functions
Understanding pure and impure functions in JavaScript
Scope, Lexical Environment, Execution Context
Understanding scope, lexical environment, and execution context in JavaScript
this keyword in JavaScript
Understanding the this keyword in JavaScript
What happens when you type URL in browser
Understanding what happens when you type URL in browser
var, let, and const
Understanding the differences between var, let, and const in JavaScript