Interview Questions and Answers
Freshers / Beginner level questions & answers
Ques 1. What is the purpose of the 'use strict' directive in JavaScript?
The 'use strict' directive enforces a stricter set of parsing and error handling rules in JavaScript. It helps catch common coding errors and prevents the use of certain error-prone features.
Example:
```javascript
'use strict';
// Strict mode code goes here
```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 2. What is responsive web design?
Responsive web design is an approach that makes web pages render well on a variety of devices and window or screen sizes. It uses flexible grids and layouts, along with media queries.
Example:
```css
@media only screen and (max-width: 600px) {
body {
font-size: 14px;
}
}```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 3. What is the purpose of the 'defer' attribute in a script tag?
The 'defer' attribute in a script tag tells the browser to execute the script after the HTML is completely parsed, but before firing the DOMContentLoaded event.
Example:
```html
```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 4. What is the purpose of the 'localStorage' and 'sessionStorage' objects in JavaScript?
'localStorage' and 'sessionStorage' are Web Storage APIs for storing key-value pairs in a web browser. 'localStorage' persists data even after the browser is closed, while 'sessionStorage' stores data for the duration of a page session.
Example:
```javascript
// Storing data in localStorage
localStorage.setItem('username', 'JohnDoe');
// Retrieving data from localStorage
const username = localStorage.getItem('username');
```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 5. What is the difference between 'inline' and 'block' elements in CSS?
'inline' elements only take up as much width as necessary and do not start on a new line. 'block' elements take up the full width available and start on a new line.
Example:
```css
/* Inline element example */
span {
display: inline;
}
/* Block element example */
div {
display: block;
}```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 6. What is the purpose of the 'data-' attribute in HTML?
The 'data-' attribute is used to store custom data private to the page or application. It provides a way to attach additional information to HTML elements without using non-standard attributes.
Example:
```htmlThis is a custom element.
```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 7. Explain the purpose of the 'rem' unit in CSS and how it differs from 'em'.
'rem' (root em) is relative to the font-size of the root element, while 'em' is relative to the font-size of the nearest parent element with a font-size. 'rem' is not affected by the parent element's font-size.
Example:
```css
html {
font-size: 16px;
}
body {
font-size: 1.5rem; /* 24px */
}
```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 8. Explain the difference between 'cookie', 'sessionStorage', and 'localStorage'.
'cookie' is a small piece of data stored on the client's computer, 'sessionStorage' stores data for the duration of a page session, and 'localStorage' persists data even after the browser is closed.
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 9. Explain the concept of 'event bubbling' in JavaScript.
'Event bubbling' is the process where the event starts from the target element and bubbles up the DOM hierarchy until it reaches the root. It allows for delegating event handling to a common ancestor.
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 10. What is the purpose of the 'transition' property in CSS?
The 'transition' property in CSS is used to create smooth transitions between property values over a specified duration. It is commonly used for animations and effects.
Example:
```css
/* Example of using transition */
.element {
transition: width 0.5s ease-in-out;
}
```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 11. What is the role of the 'viewport' meta tag in HTML?
The 'viewport' meta tag in HTML is used to control the layout viewport of the browser, ensuring that the webpage is displayed correctly on various devices by setting the initial scale, width, and zoom level.
Example:
```html
```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Intermediate / 1 to 5 years experienced level questions & answers
Ques 12. What is the difference between `let`, `const`, and `var` in JavaScript?
The main difference lies in their scoping and hoisting behavior. `let` has block scope, `const` is used for constants, and `var` has function scope and is hoisted.
Example:
```javascript
// Example using let
let x = 10;
// Example using const
const PI = 3.14;
// Example using var
var y = 5;
```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 13. Explain the box model in CSS.
The box model consists of content, padding, border, and margin. It defines how these components contribute to the overall size of an element.
Example:
```css
.box {
width: 200px;
padding: 20px;
border: 2px solid #000;
margin: 10px;
}```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 14. Explain the difference between `==` and `===` in JavaScript.
`==` is the equality operator that performs type coercion, while `===` is the strict equality operator that checks both value and type without coercion.
Example:
```javascript
console.log(5 == '5'); // true
console.log(5 === '5'); // false
```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 15. What is the purpose of the 'async' and 'defer' attributes in a script tag?
'async' loads the script asynchronously, allowing it to execute while the page continues parsing. 'defer' loads the script asynchronously but ensures it executes in order after HTML parsing.
Example:
```html
```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 16. Explain the concept of CORS (Cross-Origin Resource Sharing) and how to handle it in JavaScript.
CORS is a security feature implemented by web browsers to restrict web pages from making requests to a different domain than the one that served the web page. In JavaScript, you can handle CORS by setting appropriate headers on the server or using JSONP for cross-origin requests.
Example:
```javascript
// Example using Fetch API with CORS
fetch('https://api.example.com/data', { mode: 'cors' })
.then(response => response.json())
.then(data => console.log(data));
```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 17. How does the 'this' keyword work in JavaScript?
The 'this' keyword refers to the current execution context. In a function, 'this' depends on how the function is called. It can refer to the global object, the object the method is called on, or be explicitly set using methods like 'call', 'apply', or 'bind'.
Example:
```javascript
function sayHello() {
console.log('Hello, ' + this.name);
}
const person = { name: 'John' };
sayHello.call(person); // Outputs: Hello, John
```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 18. Explain the purpose of the 'box-sizing' property in CSS.
The 'box-sizing' property determines how the total width and height of an element are calculated. 'content-box' includes only the content, while 'border-box' includes padding and border in the calculation.
Example:
```css
/* Using box-sizing: border-box */
div {
box-sizing: border-box;
width: 200px;
padding: 10px;
border: 5px solid #000;
}```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 19. What is the difference between 'throttling' and 'debouncing' in JavaScript?
'Throttling' limits the number of times a function can be called within a specified time frame, while 'debouncing' ensures that a function is only called after a certain amount of time has passed since the last invocation.
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 20. What is the purpose of the 'requestAnimationFrame' function in JavaScript?
'requestAnimationFrame' is a method that tells the browser that you wish to perform an animation and requests that the browser call a specified function to update an animation before the next repaint.
Example:
```javascript
function animate() {
// Animation logic goes here
requestAnimationFrame(animate);
}
// Start the animation
animate();
```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 21. What is the purpose of the 'pointer-events' property in CSS?
The 'pointer-events' property controls under what circumstances an element can become the target of pointer events. It is used to make elements non-interactive or to allow pointer events to pass through an element.
Example:
```css
/* Make the element non-interactive */
.non-interactive {
pointer-events: none;
}```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 22. What is the purpose of the 'webpack' module bundler in frontend development?
'Webpack' is a module bundler that takes assets, such as JavaScript, CSS, and images, and transforms them into a format that can be efficiently served to the browser. It also enables code splitting and other optimizations.
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 23. Explain the concept of 'polyfill' in web development.
A 'polyfill' is a piece of code (usually JavaScript) that provides modern functionality on older browsers that do not support that feature. It 'fills in' the gaps to ensure compatibility.
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 24. Explain the concept of 'hoisting' in JavaScript.
'Hoisting' is a JavaScript behavior where variable and function declarations are moved to the top of their containing scope during the compilation phase. However, only the declarations are hoisted, not the initializations.
Example:
```javascript
console.log(x); // Outputs: undefined
var x = 5;
```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Experienced / Expert level questions & answers
Ques 25. Explain the concept of closures in JavaScript.
Closures allow a function to access variables from its outer (enclosing) scope even after the outer function has finished executing. They help in creating private variables and methods.
Example:
```javascript
function outer() {
let x = 10;
function inner() {
console.log(x);
}
return inner;
}
const closureExample = outer();
closureExample(); // Outputs 10
```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 26. How does CSS specificity work?
Specificity is a set of rules that determines which style declarations are applied to an element. It is based on the importance, specificity, and source order of CSS rules.
Example:
```css
#id-selector {
color: red; /* higher specificity */
}
.class-selector {
color: blue;
}
```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 27. Explain the concept of event delegation in JavaScript.
Event delegation involves attaching a single event listener to a common ancestor rather than individual elements. It leverages event bubbling to handle events on multiple child elements.
Example:
```javascript
// HTML:
- Item 1
- Item 2
const list = document.getElementById('myList');
list.addEventListener('click', function(event) {
if (event.target.tagName === 'LI') {
console.log('Clicked on:', event.target.textContent);
}
});
```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 28. What is the Virtual DOM, and how does it improve performance in frameworks like React?
The Virtual DOM is a lightweight copy of the actual DOM. React uses it to optimize updates by comparing the virtual DOM with the real DOM and making minimal changes. This reduces the number of manipulations needed on the actual DOM, improving performance.
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 29. What is a closure in the context of JavaScript's event handling?
In the context of event handling, a closure allows a function to retain access to variables in its lexical scope even after the outer function has finished executing. This is often used to maintain state across multiple event callbacks.
Example:
```javascript
function createCounter() {
let count = 0;
return function() {
console.log(count++);
};
}
const counter = createCounter();
counter(); // Outputs: 0
counter(); // Outputs: 1
```
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Ques 30. Explain the 'callback hell' phenomenon in JavaScript and how to mitigate it.
'Callback hell' occurs when multiple nested callbacks make the code hard to read and maintain. Mitigate it by using named functions, promises, or async/await syntax to improve code readability and maintainability.
Save For Revision
Save For Revision
Bookmark this item, mark it difficult, or place it in a revision set.
Log in to save bookmarks, difficult questions, and revision sets.
Most helpful rated by users: