๐ ๐๐ฅ๐๐ ๐๐ฟ๐ฒ๐๐ต๐ฒ๐ฟ ๐๐ถ๐ฟ๐ถ๐ป๐ด ๐๐ฟ๐ถ๐๐ฒ | ๐ง๐ฒ๐ฐ๐ต ๐ฅ๐ผ๐น๐ฒ๐ ๐จ๐ฝ ๐๐ผ โน๐ญ๐ฎ ๐๐ฃ๐!๐ฅ
Internship + Pre-Placement Offer
๐ผ Company: GoComet
๐ฐ Stipend: โน30,000โ35,000/Month
๐ PPO: Up to โน12 LPA
๐ Assessment Centres: Pune | Hyderabad | Noida | Chennai | Bangalore
๐ ๐๐ฝ๐ฝ๐น๐ ๐ก๐ผ๐ ๐:
Full Stack Intern:- https://pdlink.in/4z3vF8o
AI First SDET Interns :- https://pdlink.in/4hS1Am2
โณ Limited Hiring Slots Available
Internship + Pre-Placement Offer
๐ผ Company: GoComet
๐ฐ Stipend: โน30,000โ35,000/Month
๐ PPO: Up to โน12 LPA
๐ Assessment Centres: Pune | Hyderabad | Noida | Chennai | Bangalore
๐ ๐๐ฝ๐ฝ๐น๐ ๐ก๐ผ๐ ๐:
Full Stack Intern:- https://pdlink.in/4z3vF8o
AI First SDET Interns :- https://pdlink.in/4hS1Am2
โณ Limited Hiring Slots Available
โค1๐ฅฑ1
๐ ๐๐๐ ๐๐ฅ๐๐ ๐๐ฒ๐ฟ๐๐ถ๐ณ๐ถ๐ฐ๐ฎ๐๐ถ๐ผ๐ป ๐๐ผ๐๐ฟ๐๐ฒ๐ ๐
Upgrade your tech skills with 100% FREE IBM certification courses and build a strong foundation in AI, Data Science, Cloud Computing, SQL, Python, and Machine Learning.
๐ฏ Perfect For
๐ Students & Freshers
๐จโ๐ป Software Developers
๐ Data Analysts
๐ค AI & Data Science Aspirants
๐ผ Working Professionals
๐๐ป๐ฟ๐ผ๐น๐น ๐๐ผ๐ฟ ๐๐ฅ๐๐๐:-
https://pdlink.in/45KgqDR
๐ฅ Start learning today and prepare yourself for high-paying opportunities in the tech industry!
Upgrade your tech skills with 100% FREE IBM certification courses and build a strong foundation in AI, Data Science, Cloud Computing, SQL, Python, and Machine Learning.
๐ฏ Perfect For
๐ Students & Freshers
๐จโ๐ป Software Developers
๐ Data Analysts
๐ค AI & Data Science Aspirants
๐ผ Working Professionals
๐๐ป๐ฟ๐ผ๐น๐น ๐๐ผ๐ฟ ๐๐ฅ๐๐๐:-
https://pdlink.in/45KgqDR
๐ฅ Start learning today and prepare yourself for high-paying opportunities in the tech industry!
โค1
๐ JavaScript Interview Questions with Answers โ Part 2
11. What is the typeof operator?
The typeof operator is used to determine the data type of a value.
Example:
Important Interview Point:
Output:
This is a historical behavior in JavaScript.
12. What are template literals?
Template literals are strings created using backticks ``.
They allow you to easily embed variables and expressions using
Example:
Output:
Benefits:
Easy string interpolation
Supports multi-line strings
Allows expressions inside strings
13. What are JavaScript operators?
Operators are symbols used to perform operations on values.
Common Types:
Arithmetic:
Comparison:
Logical:
Assignment:
Example:
14. What is the ternary operator?
The ternary operator is a short way of writing an
Syntax:
Example:
Output:
Equivalent if...else:
Interview Tip: Use ternary operators for simple conditions. Avoid deeply nested ternaries because they reduce readability.
15. What is variable hoisting?
Hoisting is JavaScript's behavior of processing declarations before executing the code in their scope.
With var:
Output:
The declaration is hoisted, but the assignment happens later.
With let and const:
This results in a
Function declarations are also hoisted:
16. What is scope in JavaScript?
Scope determines where a variable can be accessed in a program.
Example:
Main Types:
Global Scope
Function Scope
Block Scope
Module Scope
Understanding scope is essential for closures and avoiding variable conflicts.
17. What are global, function, and block scope?
Global Scope
A variable declared outside functions or blocks can generally be accessed throughout the script.
Function Scope
Variables declared with
11. What is the typeof operator?
The typeof operator is used to determine the data type of a value.
Example:
console.log(typeof "Hello"); // "string"
console.log(typeof 100); // "number"
console.log(typeof true); // "boolean"
console.log(typeof undefined); // "undefined"
Important Interview Point:
console.log(typeof null);
Output:
"object" This is a historical behavior in JavaScript.
12. What are template literals?
Template literals are strings created using backticks ``.
They allow you to easily embed variables and expressions using
${}.Example:
const name = "Ajay";
const age = 25;
console.log(`My name is ${name} and I am ${age} years old.`);
Output:
My name is Ajay and I am 25 years old.Benefits:
Easy string interpolation
Supports multi-line strings
Allows expressions inside strings
13. What are JavaScript operators?
Operators are symbols used to perform operations on values.
Common Types:
Arithmetic:
+ - * / % **Comparison:
== === != !== > < >= <=Logical:
&& || !Assignment:
= += -= *= /=Example:
const a = 10;
const b = 5;
console.log(a + b); // 15
console.log(a > b); // true
14. What is the ternary operator?
The ternary operator is a short way of writing an
if...else statement.Syntax:
condition ? valueIfTrue : valueIfFalse;
Example:
const age = 20;
const result = age >= 18 ? "Adult" : "Minor";
console.log(result);
Output:
AdultEquivalent if...else:
if (age >= 18) {
result = "Adult";
} else {
result = "Minor";
}Interview Tip: Use ternary operators for simple conditions. Avoid deeply nested ternaries because they reduce readability.
15. What is variable hoisting?
Hoisting is JavaScript's behavior of processing declarations before executing the code in their scope.
With var:
console.log(x);
var x = 10;
Output:
undefined The declaration is hoisted, but the assignment happens later.
With let and const:
console.log(x);
let x = 10;
This results in a
ReferenceError. let and const are hoisted but remain in the Temporal Dead Zone (TDZ) until their declaration is reached.Function declarations are also hoisted:
greet();
function greet() {
console.log("Hello");
}
16. What is scope in JavaScript?
Scope determines where a variable can be accessed in a program.
Example:
function test() {
let message = "Hello";
console.log(message);
}
test();message is accessible inside the function but not outside it.Main Types:
Global Scope
Function Scope
Block Scope
Module Scope
Understanding scope is essential for closures and avoiding variable conflicts.
17. What are global, function, and block scope?
Global Scope
A variable declared outside functions or blocks can generally be accessed throughout the script.
let name = "Deepak";
function greet() {
console.log(name);
}
Function Scope
Variables declared with
var inside a function are accessible throughout that function.โค2
function test() {
var age = 25;
console.log(age);
}age
cannot be accessed outside
test()
.
Block Scope
let
and
const
are block-scoped.
if (true) {
let x = 10;
const y = 20;
console.log(x, y);
}x
and
y
cannot be accessed outside the
if
block.
18. What is strict mode ("use strict")?
Strict mode enables a stricter set of JavaScript rules and helps catch certain programming mistakes.
Example:
"use strict";
x = 10;
This produces a
ReferenceError
because
x
was not declared.
Without strict mode, older JavaScript behavior could create a global variable in some situations.
Benefits:
Catches common mistakes
Prevents accidental global variables
Makes some unsafe operations throw errors
Helps write cleaner code
19. What are comments in JavaScript?
Comments are text ignored by the JavaScript engine. They are used to explain code or temporarily disable code.
Single-Line Comment:
// This is a comment
console.log("Hello");
Multi-Line Comment:
/*
This is a
multi-line comment
*/
console.log("Hello");
Why Use Comments?
โ Explain complex logic
โ Improve code readability
โ Help other developers understand the code
โ Document important decisions
20. What are JavaScript modules?
Modules allow you to split JavaScript code into separate, reusable files.
They help organize large applications and prevent unnecessary global variables.
Export:
// math.js
export function add(a, b) {
return a + b;
}
Import:
// app.js
import { add } from "./math.js";
console.log(add(10, 20));
Types of Exports:
Named exports
Default exports
Default Export:
export default function greet() {
console.log("Hello");
}Important Interview Point:
ES Modules use
import
and
export
. They are the standard module system for modern JavaScript.
โค๏ธ Double Tap For Part 3
โค11
๐ JavaScript Interview Questions with Answers โ Part 4
31. How do you create objects in JavaScript?
There are several ways to create objects in JavaScript.
1. Object Literal
2. new Object()
3. Constructor Function
4. Class
Interview Tip:
Object literals are usually preferred for simple objects, while classes or constructor functions are useful when creating many similar objects.
32. What is object destructuring?
Object destructuring allows you to extract properties from an object and store them in variables.
Example:
Output:
John
25
Rename Variables:
Default Value:
33. What is the spread operator (...)?
The spread operator expands the elements of an iterable or properties of an object.
Array Example:
Output:
[1, 2, 3, 4, 5]
Object Example:
Common Uses:
โ Copy arrays
โ Merge arrays
โ Copy objects
โ Merge objects
โ Pass values to functions
34. What is the rest operator?
The rest operator (...) collects multiple values into a single array or object.
Example:
Output: 60
Here,
Important Interview Point:
The same
Spread โ expands values:
Rest โ collects values:
35. What are default parameters?
Default parameters allow you to provide a default value when an argument is not passed or is undefined.
Example:
Output: Hello Guest
If a value is provided:
Multiple Defaults:
36. What is optional chaining (?. )
Optional chaining allows you to safely access nested properties without throwing an error when an intermediate value is null or undefined.
Without Optional Chaining:
With Optional Chaining:
31. How do you create objects in JavaScript?
There are several ways to create objects in JavaScript.
1. Object Literal
const user = {
name: "John",
age: 25
};2. new Object()
const user = new Object();
user.name = "Frey";
user.age = 35;
3. Constructor Function
function User(name, age) {
this.name = name;
this.age = age;
}
const user = new User("John", 25);4. Class
class User {
constructor(name, age) {
this.name = name;
this.age = age;
}
}
const user = new User("John", 25);Interview Tip:
Object literals are usually preferred for simple objects, while classes or constructor functions are useful when creating many similar objects.
32. What is object destructuring?
Object destructuring allows you to extract properties from an object and store them in variables.
Example:
const user = {
name: "John",
age: 25,
city: "New York"
};
const { name, age } = user;
console.log(name);
console.log(age);Output:
John
25
Rename Variables:
const { name: userName } = user;
console.log(userName);Default Value:
const { country = "India" } = user;
console.log(country);33. What is the spread operator (...)?
The spread operator expands the elements of an iterable or properties of an object.
Array Example:
const numbers = [1, 2, 3];
const newNumbers = [...numbers, 4, 5];
console.log(newNumbers);
Output:
[1, 2, 3, 4, 5]
Object Example:
const user = {
name: "John",
age: 25
};
const updatedUser = {
...user,
city: "New York"
};Common Uses:
โ Copy arrays
โ Merge arrays
โ Copy objects
โ Merge objects
โ Pass values to functions
34. What is the rest operator?
The rest operator (...) collects multiple values into a single array or object.
Example:
function sum(...numbers) {
return numbers.reduce((total, num) => total + num, 0);
}
console.log(sum(10, 20, 30));Output: 60
Here,
...numbers collects all arguments into an array.Important Interview Point:
The same
... syntax has different purposes:Spread โ expands values:
const arr2 = [...arr1];Rest โ collects values:
function test(...args) {} 35. What are default parameters?
Default parameters allow you to provide a default value when an argument is not passed or is undefined.
Example:
function greet(name = "Guest") {
console.log(`Hello ${name}`);
}
greet();Output: Hello Guest
If a value is provided:
greet("Deepika"); โ Hello Deepika Multiple Defaults:
function createUser(name = "Guest", age = 18) {
console.log(name, age);
}36. What is optional chaining (?. )
Optional chaining allows you to safely access nested properties without throwing an error when an intermediate value is null or undefined.
Without Optional Chaining:
const user = {};
console.log(user.address.city); // ErrorWith Optional Chaining:
console.log(user.address?.city); // undefined
โค1
Example with Function:
The function is called only if
Common Use: Very useful when working with API responses where some properties may be missing.
37. What is nullish coalescing (??)
The nullish coalescing operator returns the right-hand value when the left-hand value is null or undefined.
Example:
Output: Guest
Important Difference From ||
Interview Tip: Use
38. What are object methods?
An object method is a function stored as a property of an object.
Example:
Output: Hello Deepak
Another Example:
39. What is method chaining?
Method chaining means calling multiple methods one after another on the same object or result.
Example:
Output: TPIRCSAVAJ
Array Example:
Output: [20,40]
Common Uses: Array processing, String manipulation, Promise chains, Libraries such as jQuery
40. What is object freezing and sealing?
JavaScript provides
Object.freeze()
Prevents: Adding properties, Removing properties, Changing existing properties
Object.seal()
Prevents: Adding properties, Removing properties
But existing properties can still be modified.
Key Difference:
Object.freeze(): Cannot add, delete, or modify properties
Object.seal(): Cannot add or delete properties, but can modify existing ones
๐ฅ Interview Tip: Both methods are shallow โ nested objects can still be modified unless they are separately frozen/sealed.
โค๏ธ Double Tap For Part 5
user.getName?.();The function is called only if
getName exists and is callable.Common Use: Very useful when working with API responses where some properties may be missing.
37. What is nullish coalescing (??)
The nullish coalescing operator returns the right-hand value when the left-hand value is null or undefined.
Example:
const username = null;
console.log(username ?? "Guest");
Output: Guest
Important Difference From ||
|| considers all falsy values: console.log(0 || 100); โ 100?? only checks null and undefined: console.log(0 ?? 100); โ 0 Interview Tip: Use
?? when 0, false, or "" are valid values that should not be replaced.38. What are object methods?
An object method is a function stored as a property of an object.
Example:
const user = {
name: "Deepak",
greet() {
console.log(`Hello ${this.name}`);
}
};
user.greet();Output: Hello Deepak
Another Example:
const calculator = {
add(a, b) { return a + b; },
multiply(a, b) { return a * b; }
};
console.log(calculator.add(10, 20));39. What is method chaining?
Method chaining means calling multiple methods one after another on the same object or result.
Example:
const result = "javascript"
.toUpperCase()
.split("")
.reverse()
.join("");
console.log(result);
Output: TPIRCSAVAJ
Array Example:
const result = [1, 2, 3, 4, 5]
.filter(num => num % 2 === 0)
.map(num => num * 10);
console.log(result);
Output: [20,40]
Common Uses: Array processing, String manipulation, Promise chains, Libraries such as jQuery
40. What is object freezing and sealing?
JavaScript provides
Object.freeze() and Object.seal() to restrict modifications to objects.Object.freeze()
Prevents: Adding properties, Removing properties, Changing existing properties
const user = { name: "Deepak", age: 25 };
Object.freeze(user);
user.age = 30;
user.city = "Pune";
console.log(user); // unchangedObject.seal()
Prevents: Adding properties, Removing properties
But existing properties can still be modified.
const user = { name: "Deepak", age: 25 };
Object.seal(user);
user.age = 30;
console.log(user.age); // 30Key Difference:
Object.freeze(): Cannot add, delete, or modify properties
Object.seal(): Cannot add or delete properties, but can modify existing ones
๐ฅ Interview Tip: Both methods are shallow โ nested objects can still be modified unless they are separately frozen/sealed.
โค๏ธ Double Tap For Part 5
โค3
๐ JavaScript Interview Questions with Answers โ Part 5
41. How do arrays work in JavaScript?
An array is an ordered collection of values. JS arrays can hold different data types and use zero-based indexing.
Example:
Important Points:
โข Index starts at 0
โข Arrays are objects in JavaScript
โข Arrays can grow or shrink dynamically
โข Arrays can contain mixed data types
42. What is the difference between map() and forEach()?
Both iterate over an array, but used differently.
map()
Creates and returns a new array.
forEach()
Executes a function for each element but does not return a new array.
Key Difference:
โข map(): Returns a new array. Used for transformation. Can be chained.
โข forEach(): Returns undefined. Used for side effects.
43. What is filter()?
Creates a new array with elements that pass a condition. Original array is not modified.
Example:
44. What is reduce()?
Processes an array and produces a single accumulated value.
Example:
Common Uses: Calculate totals, averages, count items, group data, build objects.
Interview Tip: Understand the accumulator and current value arguments.
45. What is find()?
Returns the first element that satisfies a condition. Returns undefined if none match.
Example:
find() vs filter(): find = first match, filter = all matches.
46. What is findIndex()?
Returns the index of the first element that satisfies a condition. Returns -1 if none match.
Example:
47. What is some()?
Checks if at least one element satisfies a condition. Returns Boolean.
Example:
48. What is every()?
Checks if all elements satisfy a condition. Returns Boolean.
Example:
some() vs every(): some = at least one, every = all.
49. What is the difference between slice() and splice()?
slice()
Returns a portion without modifying the original.
splice()
Adds, removes, or replaces elements and modifies the original.
41. How do arrays work in JavaScript?
An array is an ordered collection of values. JS arrays can hold different data types and use zero-based indexing.
Example:
const items = ["Apple", 25, true];
console.log(items[0]); // Apple
console.log(items.length); // 3
Important Points:
โข Index starts at 0
โข Arrays are objects in JavaScript
โข Arrays can grow or shrink dynamically
โข Arrays can contain mixed data types
42. What is the difference between map() and forEach()?
Both iterate over an array, but used differently.
map()
Creates and returns a new array.
const numbers = [1, 2, 3];
const doubled = numbers.map(num => num * 2); // [2, 4, 6]
forEach()
Executes a function for each element but does not return a new array.
numbers.forEach(num => console.log(num * 2));
Key Difference:
โข map(): Returns a new array. Used for transformation. Can be chained.
โข forEach(): Returns undefined. Used for side effects.
43. What is filter()?
Creates a new array with elements that pass a condition. Original array is not modified.
Example:
const numbers = [1, 2, 3, 4, 5];
const evenNumbers = numbers.filter(num => num % 2 === 0); // [2, 4]
44. What is reduce()?
Processes an array and produces a single accumulated value.
Example:
const numbers = [10, 20, 30];
const total = numbers.reduce((sum, num) => sum + num, 0); // 60
Common Uses: Calculate totals, averages, count items, group data, build objects.
Interview Tip: Understand the accumulator and current value arguments.
45. What is find()?
Returns the first element that satisfies a condition. Returns undefined if none match.
Example:
const numbers = [10, 20, 30, 40];
const result = numbers.find(num => num > 20); // 30
find() vs filter(): find = first match, filter = all matches.
46. What is findIndex()?
Returns the index of the first element that satisfies a condition. Returns -1 if none match.
Example:
const numbers = [10, 20, 30, 40];
const index = numbers.findIndex(num => num > 20); // 2
47. What is some()?
Checks if at least one element satisfies a condition. Returns Boolean.
Example:
const numbers = [1, 3, 5, 8];
const result = numbers.some(num => num % 2 === 0); // true
48. What is every()?
Checks if all elements satisfy a condition. Returns Boolean.
Example:
const numbers = [2, 4, 6, 8];
const result = numbers.every(num => num % 2 === 0); // true
some() vs every(): some = at least one, every = all.
49. What is the difference between slice() and splice()?
slice()
Returns a portion without modifying the original.
const numbers = [1, 2, 3, 4, 5];
const result = numbers.slice(1, 4); // [2, 3, 4]
splice()
Adds, removes, or replaces elements and modifies the original.
const numbers = [1, 2, 3, 4, 5];
numbers.splice(1, 2); // removes 2 elements at index 1
console.log(numbers); // [1, 4, 5]
โค5๐2
Key Difference:
โข slice(): Does not modify original. Extracts elements. Returns copied portion.
โข splice(): Modifies original. Adds/removes/replaces. Returns removed elements.
50. What are push(), pop(), shift(), and unshift()?
Methods that modify arrays.
โข push(): Add to END โ
โข pop(): Remove from END โ
โข unshift(): Add to START โ
โข shift(): Remove from START โ
Quick Memory Trick:
push/pop = END, unshift/shift = START
โค๏ธ Double Tap For Part 6
โข slice(): Does not modify original. Extracts elements. Returns copied portion.
โข splice(): Modifies original. Adds/removes/replaces. Returns removed elements.
50. What are push(), pop(), shift(), and unshift()?
Methods that modify arrays.
โข push(): Add to END โ
arr.push(3) โข pop(): Remove from END โ
arr.pop() โข unshift(): Add to START โ
arr.unshift(0) โข shift(): Remove from START โ
arr.shift() Quick Memory Trick:
push/pop = END, unshift/shift = START
โค๏ธ Double Tap For Part 6
โค2
โ
JavaScript Acronyms You MUST Know ๐ป๐ฅ
JS โ JavaScript
ES โ ECMAScript
DOM โ Document Object Model
BOM โ Browser Object Model
JSON โ JavaScript Object Notation
AJAX โ Asynchronous JavaScript And XML
API โ Application Programming Interface
SPA โ Single Page Application
MPA โ Multi Page Application
SSR โ Server Side Rendering
CSR โ Client Side Rendering
TS โ TypeScript
NPM โ Node Package Manager
NPX โ Node Package Execute
CDN โ Content Delivery Network
IIFE โ Immediately Invoked Function Expression
HOF โ Higher Order Function
MVC โ Model View Controller
MVVM โ Model View ViewModel
V8 โ Google JavaScript Engine
REPL โ Read Evaluate Print Loop
CORS โ Cross Origin Resource Sharing
JWT โ JSON Web Token
SSE โ Server Sent Events
WS โ WebSocket
๐ฌ Double Tap โฅ๏ธ For More ๐
JS โ JavaScript
ES โ ECMAScript
DOM โ Document Object Model
BOM โ Browser Object Model
JSON โ JavaScript Object Notation
AJAX โ Asynchronous JavaScript And XML
API โ Application Programming Interface
SPA โ Single Page Application
MPA โ Multi Page Application
SSR โ Server Side Rendering
CSR โ Client Side Rendering
TS โ TypeScript
NPM โ Node Package Manager
NPX โ Node Package Execute
CDN โ Content Delivery Network
IIFE โ Immediately Invoked Function Expression
HOF โ Higher Order Function
MVC โ Model View Controller
MVVM โ Model View ViewModel
V8 โ Google JavaScript Engine
REPL โ Read Evaluate Print Loop
CORS โ Cross Origin Resource Sharing
JWT โ JSON Web Token
SSE โ Server Sent Events
WS โ WebSocket
๐ฌ Double Tap โฅ๏ธ For More ๐
โค14๐ฅ4
๐ Full Stack Projects You Should Build (With Source Code)
1๏ธโฃ AI SaaS Tool
Learn authentication, subscriptions, APIs & AI integration.
๐ Source Code: https://github.com/ayusshrathore/ai-saas
2๏ธโฃ Real-Time Collaborative Code Editor
Just like Google Docs but for coding. Multiple users can edit code simultaneously.
๐ Source Code: https://github.com/Mohitur669/Realtime-Collaborative-Code-Editor
3๏ธโฃ Trading Simulator
A virtual stock trading platform to practice trading strategies.
๐ Source Code: https://github.com/nikolatechie/trading-simulator
4๏ธโฃ Microservices E-Commerce Platform
Learn scalable architecture using microservices, APIs, and backend systems.
๐ Source Code: https://github.com/ShahandFahad/E-Commerce
5๏ธโฃ Real-Time Chat Application
Build a WhatsApp-like chat app with real-time messaging.
๐ Tutorial + Code: https://youtu.be/B_l8nD-bvI0?si=M4N5p1wiPiBW-XA8
6๏ธโฃ Developer Portfolio SaaS
Create a platform where developers can generate their own portfolio websites.
๐ Source Code: https://github.com/akhilub/portfolio-saas
7๏ธโฃ Job Referral Platform
A platform where users can request and provide job referrals.
๐ Source Code: https://github.com/RutikKulkarni/ReferralNetworkHub
8๏ธโฃ Food Delivery App
Build your own Swiggy/Zomato-like full stack application.
๐ Source Code: https://github.com/Mshandev/Food-Delivery
9๏ธโฃ Ride Sharing App
Learn how ride booking systems like Uber work.
๐ Source Code: https://github.com/codinggita/ride_share
๐ Video Streaming Platform
Build your own YouTube-like video streaming platform.
๐ Source Code: https://github.com/soumanpaul/Video-streaming-web-app
โจ Donโt forget to react to this message for more awesome content like this! ๐
๐ Thank you all for joining! ๐
1๏ธโฃ AI SaaS Tool
Learn authentication, subscriptions, APIs & AI integration.
๐ Source Code: https://github.com/ayusshrathore/ai-saas
2๏ธโฃ Real-Time Collaborative Code Editor
Just like Google Docs but for coding. Multiple users can edit code simultaneously.
๐ Source Code: https://github.com/Mohitur669/Realtime-Collaborative-Code-Editor
3๏ธโฃ Trading Simulator
A virtual stock trading platform to practice trading strategies.
๐ Source Code: https://github.com/nikolatechie/trading-simulator
4๏ธโฃ Microservices E-Commerce Platform
Learn scalable architecture using microservices, APIs, and backend systems.
๐ Source Code: https://github.com/ShahandFahad/E-Commerce
5๏ธโฃ Real-Time Chat Application
Build a WhatsApp-like chat app with real-time messaging.
๐ Tutorial + Code: https://youtu.be/B_l8nD-bvI0?si=M4N5p1wiPiBW-XA8
6๏ธโฃ Developer Portfolio SaaS
Create a platform where developers can generate their own portfolio websites.
๐ Source Code: https://github.com/akhilub/portfolio-saas
7๏ธโฃ Job Referral Platform
A platform where users can request and provide job referrals.
๐ Source Code: https://github.com/RutikKulkarni/ReferralNetworkHub
8๏ธโฃ Food Delivery App
Build your own Swiggy/Zomato-like full stack application.
๐ Source Code: https://github.com/Mshandev/Food-Delivery
9๏ธโฃ Ride Sharing App
Learn how ride booking systems like Uber work.
๐ Source Code: https://github.com/codinggita/ride_share
๐ Video Streaming Platform
Build your own YouTube-like video streaming platform.
๐ Source Code: https://github.com/soumanpaul/Video-streaming-web-app
โจ Donโt forget to react to this message for more awesome content like this! ๐
๐ Thank you all for joining! ๐
โค9๐ฅ1
๐ JavaScript Interview Questions with Answers โ Part 6
51. How do you sort arrays?
The
Sorting Strings
Output:
Sorting Numbers
By default,
Output:
Descending Order:
Interview Tip:
52. What is array destructuring?
Array destructuring allows you to extract values from an array and assign them to variables.
Example:
Output:
10
20
30
Skipping Values:
Output:
10 30
Default Values:
Output:
10 20
53. What are Sets?
A
Duplicate values are automatically removed.
Example:
The Set contains:
Common Methods:
Convert Set to Array:
54. What are Maps?
A
Unlike regular objects, a
Example:
Output:
Deepak
Common Methods:
Example:
Output:
true
Map vs Object:
Map
โข Any value can be a key
โข Has size property
โข Built-in methods
โข Designed for key-value collections
Object
โข Keys are primarily strings/symbols
โข No built-in size
โข Different object APIs
โข General-purpose objects
55. What are Symbols?
Example:
Output:
false
Even though both have the same description, each
Using Symbol as an Object Property:
Common Use:
56. What are generators?
Generators are special functions that can pause and resume execution.
They are created using
Example:
51. How do you sort arrays?
The
sort() method is used to sort the elements of an array.Sorting Strings
const fruits = ["Banana", "Apple", "Mango"];
fruits.sort();
console.log(fruits);
Output:
["Apple", "Banana", "Mango"]Sorting Numbers
By default,
sort() converts elements to strings, so a comparison function should be used for numbers.const numbers = [10, 5, 20, 2];
numbers.sort((a, b) => a - b);
console.log(numbers);
Output:
[2, 5, 10, 20]Descending Order:
numbers.sort((a, b) => b - a);
Interview Tip:
sort() mutates the original array.52. What is array destructuring?
Array destructuring allows you to extract values from an array and assign them to variables.
Example:
const numbers = [10, 20, 30];
const [a, b, c] = numbers;
console.log(a);
console.log(b);
console.log(c);
Output:
10
20
30
Skipping Values:
const numbers = [10, 20, 30];
const [first, , third] = numbers;
console.log(first, third);
Output:
10 30
Default Values:
const numbers = [10];
const [a, b = 20] = numbers;
console.log(a, b);
Output:
10 20
53. What are Sets?
A
Set is a collection of unique values.Duplicate values are automatically removed.
Example:
const numbers = new Set([1, 2, 2, 3, 3]);
console.log(numbers);
The Set contains:
{1, 2, 3}Common Methods:
const numbers = new Set();
numbers.add(10);
numbers.add(20);
console.log(numbers.has(10));
numbers.delete(20);
Convert Set to Array:
const arr = [...numbers];
54. What are Maps?
A
Map is a collection of key-value pairs.Unlike regular objects, a
Map can use different data types as keys.Example:
const users = new Map();
users.set(1, "Deepak");
users.set(2, "John");
console.log(users.get(1));
Output:
Deepak
Common Methods:
users.set(key, value);
users.get(key);
users.has(key);
users.delete(key);
users.clear();
Example:
console.log(users.has(2));
Output:
true
Map vs Object:
Map
โข Any value can be a key
โข Has size property
โข Built-in methods
โข Designed for key-value collections
Object
โข Keys are primarily strings/symbols
โข No built-in size
โข Different object APIs
โข General-purpose objects
55. What are Symbols?
Symbol is a primitive data type used to create unique identifiers.Example:
const id1 = Symbol("id");
const id2 = Symbol("id");
console.log(id1 === id2);Output:
false
Even though both have the same description, each
Symbol is unique.Using Symbol as an Object Property:
const id = Symbol("id");
const user = {
name: "Deepak",
[id]: 101
};
console.log(user[id]);Common Use:
Symbols are useful when you need unique property keys that are unlikely to conflict with other properties.56. What are generators?
Generators are special functions that can pause and resume execution.
They are created using
function* and use the yield keyword.Example:
โค3
function* numbers() {
yield 1;
yield 2;
yield 3;
}
const generator = numbers();
console.log(generator.next());
console.log(generator.next());Output:
{ value: 1, done: false }{ value: 2, done: false }After all values are consumed:
{ value: 3, done: false }{ value: undefined, done: true }Important:
Calling a generator function doesn't immediately execute its body. It returns a generator object.
57. What are iterators?
An iterator is an object that provides a way to access values one at a time using the
next() method.Example:
const numbers = [10, 20, 30];
const iterator = numbers[Symbol.iterator]();
console.log(iterator.next());
console.log(iterator.next());
Output:
{ value: 10, done: false }{ value: 20, done: false }The iterator eventually returns:
{ value: undefined, done: true }Common Iterables:
โข Arrays
โข Strings
โข Maps
โข Sets
That's why they can be used with
for...of.for (const number of numbers) {
console.log(number);
}58. What is destructuring assignment?
Destructuring assignment allows values to be extracted from arrays or objects and assigned to variables.
Object Example:
const user = {
name: "Deepak",
age: 25
};
const { name, age } = user;Array Example:
const numbers = [10, 20];
const [a, b] = numbers;
Why Use It?
It makes code shorter and easier to read, especially when working with API responses and function parameters.
59. What is dynamic import?
Dynamic import allows a JavaScript module to be loaded when it is needed, instead of loading it immediately.
It uses:
import()Example:
async function loadModule() {
const module = await import("./math.js");
console.log(module.add(10, 20));
}Important:
Unlike a static import:
import { add } from "./math.js";dynamic imports return a Promise.
Common Uses:
โข Lazy loading
โข Code splitting
โข Loading features only when required
โข Improving initial page performance
60. What are ES6 modules?
ES6 modules provide a standard way to divide JavaScript applications into separate files.
They use
export and import.Export:
// math.js
export function add(a, b) {
return a + b;
}
Import:
// app.js
import { add } from "./math.js";
console.log(add(10, 20));
Default Export:
export default function greet() {
console.log("Hello");
}Import:
import greet from "./greet.js";
Benefits:
โ Code organization
โ Reusability
โ Encapsulation
โ Easier maintenance
โ Avoids unnecessary global variables
โค๏ธ Double Tap For Part 7
โค2๐1
๐ JavaScript Interview Questions with Answers โ Part 8
71. What is fetch()?
It returns a Promise.
Example:
Using async/await:
Interview Tip:
72. What is AJAX?
AJAX stands for Asynchronous JavaScript and XML.
It is a technique for communicating with a server and updating parts of a webpage without reloading the entire page.
Despite the name, AJAX doesn't require XML. Modern applications commonly exchange JSON.
Example:
A webpage can request:
Modern Approach:
Today,
73. What are Web APIs?
Web APIs are browser-provided interfaces that allow JavaScript to interact with browser features and the environment.
Examples include:
โข
โข
โข DOM APIs
โข Local Storage
โข Geolocation API
โข Web Workers
โข Clipboard API
Example:
The timer functionality is provided by the host environment, such as a browser or Node.js runtime, rather than being part of the JavaScript language itself.
Interview Tip:
Don't confuse JavaScript language features with browser Web APIs.
74. What is setTimeout()?
Example:
The callback becomes eligible to run after approximately 2 seconds.
Important:
The delay is not a guarantee that the function executes exactly at that time.
It may execute later if the JavaScript runtime is busy.
75. What is setInterval()?
Example:
The callback runs approximately every second until the interval is cancelled.
Stop It:
Common Uses:
โข Timers
โข Polling
โข Repeated UI updates
โข Periodic tasks
76. What is clearTimeout()?
Example:
The callback will not execute because the timeout was cancelled before it became eligible to run.
Common Use:
Useful when you need to cancel a scheduled action.
77. What is clearInterval()?
Example:
71. What is fetch()?
fetch() is a modern JavaScript API used to make HTTP requests and communicate with servers.It returns a Promise.
Example:
fetch("https://api.example.com/users")
.then(response => response.json())
.then(data => {
console.log(data);
})
.catch(error => {
console.log(error);
});Using async/await:
async function getUsers() {
try {
const response = await fetch(
"https://api.example.com/users"
);
const data = await response.json();
console.log(data);
} catch (error) {
console.log(error);
}
}Interview Tip:
fetch() rejects its Promise for network-level failures, but an HTTP error such as 404 or 500 does not automatically reject it. You should check response.ok.72. What is AJAX?
AJAX stands for Asynchronous JavaScript and XML.
It is a technique for communicating with a server and updating parts of a webpage without reloading the entire page.
Despite the name, AJAX doesn't require XML. Modern applications commonly exchange JSON.
Example:
A webpage can request:
User data โ Server
โ
JSON
โ
JavaScript
โ
Update webpage
Modern Approach:
Today,
fetch() is commonly used instead of the older XMLHttpRequest API.73. What are Web APIs?
Web APIs are browser-provided interfaces that allow JavaScript to interact with browser features and the environment.
Examples include:
โข
fetch()โข
setTimeout()โข DOM APIs
โข Local Storage
โข Geolocation API
โข Web Workers
โข Clipboard API
Example:
setTimeout(() => {
console.log("Hello");
}, 1000);The timer functionality is provided by the host environment, such as a browser or Node.js runtime, rather than being part of the JavaScript language itself.
Interview Tip:
Don't confuse JavaScript language features with browser Web APIs.
74. What is setTimeout()?
setTimeout() schedules a function to run after a specified delay.Example:
setTimeout(() => {
console.log("Hello");
}, 2000);The callback becomes eligible to run after approximately 2 seconds.
Important:
The delay is not a guarantee that the function executes exactly at that time.
It may execute later if the JavaScript runtime is busy.
75. What is setInterval()?
setInterval() repeatedly schedules a function at approximately specified intervals.Example:
const interval = setInterval(() => {
console.log("Running...");
}, 1000);The callback runs approximately every second until the interval is cancelled.
Stop It:
clearInterval(interval);
Common Uses:
โข Timers
โข Polling
โข Repeated UI updates
โข Periodic tasks
76. What is clearTimeout()?
clearTimeout() cancels a timeout that was previously scheduled using setTimeout().Example:
const timer = setTimeout(() => {
console.log("Hello");
}, 5000);
clearTimeout(timer);The callback will not execute because the timeout was cancelled before it became eligible to run.
Common Use:
Useful when you need to cancel a scheduled action.
77. What is clearInterval()?
clearInterval() stops an interval created using setInterval().Example:
let count = 0;
const interval = setInterval(() => {
count++;
console.log(count);
if (count === 5) {
clearInterval(interval);
}
}, 1000);
Output:
1
2
3
4
5
After 5, the interval is stopped.
78. What is callback hell?
Callback hell occurs when multiple asynchronous operations are nested inside one another, making code difficult to read and maintain.
Example:
getUser(user => {
getOrders(user, orders => {
getPayment(orders, payment => {
processPayment(payment, result => {
console.log(result);
});
});
});
});This creates deeply nested code.
Problems:
โ Difficult to read
โ Difficult to debug
โ Difficult to maintain
โ Error handling becomes complicated
79. How do you avoid callback hell?
Several approaches can make asynchronous code cleaner.
1. Use Promises
getUser()
.then(getOrders)
.then(getPayment)
.then(processPayment)
.catch(handleError);
2. Use async/await
async function process() {
try {
const user = await getUser();
const orders = await getOrders(user);
const payment = await getPayment(orders);
await processPayment(payment);
} catch (error) {
console.log(error);
}
}3. Break large functions into smaller functions
Instead of putting everything into one deeply nested callback, separate responsibilities into reusable functions.
Interview Tip:
For modern JavaScript, Promises and async/await are the most common solutions.
80. What are microtasks and macrotasks?
This is an important advanced JavaScript interview topic.
The JavaScript runtime has different queues for asynchronous work.
Microtasks
Examples include:
โข Promise callbacks
โข
queueMicrotask()โข MutationObserver callbacks in browsers
Macrotasks / Tasks
Common examples include:
โข
setTimeout()โข
setInterval()โข Some browser events
Example:
console.log("Start");
setTimeout(() => {
console.log("Timeout");
}, 0);
Promise.resolve().then(() => {
console.log("Promise");
});
console.log("End");Output:
Start
End
Promise
Timeout
Why?
After the synchronous code finishes, the runtime processes available microtasks before moving to the next task.
So:
Synchronous code
โ
Microtasks
โ
Next task / macrotask
โค๏ธ Double Tap For Part 9
โค1
๐ JavaScript Interview Questions with Answers โ Part 10
91. What is throttling?
Throttling limits how frequently a function can execute within a given time interval.
Even if an event fires many times, the function is allowed to execute at most once during each interval.
Example:
Common Uses:
โข Scroll events
โข Mouse movement
โข Window resizing
โข Continuous user interactions
Debounce vs Throttle:
Debounce โ Execute after activity stops
Throttle โ Execute at controlled intervals
92. What is memoization?
Memoization is an optimization technique where the result of a function is cached so that the same calculation doesn't have to be performed again.
Example:
Example Usage:
The first call performs the calculation.
The second call can use the cached result.
Benefits:
โ Faster repeated calculations
โ Avoids unnecessary work
Drawback:
โ Uses additional memory for cached results.
93. What is currying?
Currying transforms a function that takes multiple arguments into a sequence of functions that each take one argument.
Normal Function:
Curried Function:
Usage:
Output:
Arrow Function Version:
Common Uses:
โข Functional programming
โข Creating reusable functions
โข Partial application
โข Configuration-based functions
94. What is prototype inheritance?
JavaScript uses objects as the foundation of its inheritance system.
Objects can access properties and methods through their prototype chain.
Example:
Although dog doesn't directly contain speak(), it can access the method through its prototype.
Prototype Chain:
dog
โ
animal
โ
Object.prototype
โ
null
JavaScript searches this chain when a property isn't found directly on the object.
95. What is prototypal inheritance?
Prototypal inheritance is JavaScript's mechanism for allowing one object to inherit behavior from another object through the prototype chain.
Example:
Here:
student has its own study() method.
greet() comes from its prototype, person.
96. What are classes in JavaScript?
Classes provide a cleaner syntax for creating objects and implementing object-oriented programming patterns.
Classes were introduced in ES6.
Example:
91. What is throttling?
Throttling limits how frequently a function can execute within a given time interval.
Even if an event fires many times, the function is allowed to execute at most once during each interval.
Example:
function throttle(callback, delay) {
let lastTime = 0;
return function(...args) {
const now = Date.now();
if (now - lastTime >= delay) {
lastTime = now;
callback.apply(this, args);
}
};
}Common Uses:
โข Scroll events
โข Mouse movement
โข Window resizing
โข Continuous user interactions
Debounce vs Throttle:
Debounce โ Execute after activity stops
Throttle โ Execute at controlled intervals
92. What is memoization?
Memoization is an optimization technique where the result of a function is cached so that the same calculation doesn't have to be performed again.
Example:
function memoize(fn) {
const cache = new Map();
return function(n) {
if (cache.has(n)) {
return cache.get(n);
}
const result = fn(n);
cache.set(n, result);
return result;
};
}Example Usage:
function square(n) {
console.log("Calculating...");
return n * n;
}
const memoizedSquare = memoize(square);
console.log(memoizedSquare(5));
console.log(memoizedSquare(5));The first call performs the calculation.
The second call can use the cached result.
Benefits:
โ Faster repeated calculations
โ Avoids unnecessary work
Drawback:
โ Uses additional memory for cached results.
93. What is currying?
Currying transforms a function that takes multiple arguments into a sequence of functions that each take one argument.
Normal Function:
function add(a, b, c) {
return a + b + c;
}
console.log(add(1, 2, 3));Curried Function:
function add(a) {
return function(b) {
return function(c) {
return a + b + c;
};
};
}Usage:
console.log(add(1)(2)(3));
Output:
6
Arrow Function Version:
const add = a => b => c => a + b + c;
Common Uses:
โข Functional programming
โข Creating reusable functions
โข Partial application
โข Configuration-based functions
94. What is prototype inheritance?
JavaScript uses objects as the foundation of its inheritance system.
Objects can access properties and methods through their prototype chain.
Example:
const animal = {
speak() {
console.log("Animal speaks");
}
};
const dog = Object.create(animal);
dog.speak();Although dog doesn't directly contain speak(), it can access the method through its prototype.
Prototype Chain:
dog
โ
animal
โ
Object.prototype
โ
null
JavaScript searches this chain when a property isn't found directly on the object.
95. What is prototypal inheritance?
Prototypal inheritance is JavaScript's mechanism for allowing one object to inherit behavior from another object through the prototype chain.
Example:
const person = {
greet() {
console.log("Hello");
}
};
const student = Object.create(person);
student.study = function() {
console.log("Studying");
};
student.greet();
student.study();Here:
student has its own study() method.
greet() comes from its prototype, person.
96. What are classes in JavaScript?
Classes provide a cleaner syntax for creating objects and implementing object-oriented programming patterns.
Classes were introduced in ES6.
Example:
โค2
class Person {
constructor(name, age) {
this.name = name;
this.age = age;
}
greet() {
console.log(`Hello, I am ${this.name}`);
}
}
const person = new Person("Deepak", 25);
person.greet();Output:
Hello, I am Deepak
Important:
JavaScript classes are built on top of JavaScript's prototype-based inheritance.
Classes Support:
โข Constructors
โข Methods
โข Inheritance
โข Getters and setters
โข Static methods
โข Private fields
97. What is garbage collection?
Garbage collection is the automatic process of identifying and reclaiming memory that is no longer reachable or needed by a JavaScript program.
Developers don't normally manually free JavaScript objects.
Example:
let user = {
name: "Deepak"
};
user = null;If the original object is no longer reachable from the program, it can eventually become eligible for garbage collection.
Important:
Garbage collection timing is determined by the JavaScript engine. You cannot normally force it from standard JavaScript code.
98. How does JavaScript manage memory?
JavaScript automatically manages memory using mechanisms such as:
1. Memory allocation
2. Program execution
3. Garbage collection
Simplified Process:
Create value
โ
Memory allocated
โ
Program uses value
โ
Value becomes unreachable
โ
Garbage collector
โ
Memory can be reclaimed
What is a Memory Leak?
A memory leak occurs when a program unintentionally keeps references to objects that it no longer needs.
Common Causes:
โข Unremoved event listeners
โข Unnecessary global variables
โข Timers that aren't cleared
โข Large objects retained in closures
โข Growing caches without limits
Example:
const cache = [];
function addData(data) {
cache.push(data);
}
If cache keeps growing indefinitely, it can consume increasing amounts of memory.
99. What are CommonJS and ES Modules?
Both are module systems used in JavaScript applications.
CommonJS
Commonly associated with Node.js and uses require() and module.exports.
// math.js
function add(a, b) {
return a + b;
}
module.exports = { add };
Import:
const { add } = require("./math");ES Modules
The standardized JavaScript module system uses import and export.
// math.js
export function add(a, b) {
return a + b;
}
Import:
import { add } from "./math.js";Modern JavaScript development commonly uses ES Modules, while CommonJS remains important when working with existing Node.js projects.
100. What are the latest JavaScript features introduced in ES2025 and beyond?
JavaScript continues to evolve through yearly ECMAScript releases.
For ES2025 (ECMAScript 2025), notable standardized additions include:
๐ฅ Iterator Helpers
Methods such as:
iterator.map(...)iterator.filter(...)iterator.take(...)allow lazy processing of iterator values.
๐ฅ Iterator.from()
Allows an object to be converted into an iterator.
const iterator = Iterator.from([1, 2, 3]);
๐ฅ Set Methods
Modern Set operations include methods such as:
โข
union()โข
intersection()โข
difference()โข
symmetricDifference()Example:
const a = new Set([1, 2, 3]);
const b = new Set([3, 4, 5]);
const result = a.union(b);
console.log(result);
โค2
๐ฅ Regular Expression Improvements
ES2025 also introduced improvements to regular expressions, including support for enhanced Unicode-related matching capabilities.
๐ฅ Promise.try()
โ ๏ธ Important Interview Point
JavaScript features are standardized through the ECMAScript specification, and browser/Node.js support can vary by feature and version.
So when discussing "latest JavaScript," distinguish between:
Standardized features
โ Officially included in an ECMAScript release.
Proposed features
โ Still moving through the TC39 proposal process.
Runtime support
โ Whether a particular browser or Node.js version actually supports the feature.
Double Tap โค๏ธ For More
ES2025 also introduced improvements to regular expressions, including support for enhanced Unicode-related matching capabilities.
๐ฅ Promise.try()
Promise.try() provides a convenient way to turn a synchronous function call into a Promise-based operation.Promise.try(() => {
return someFunction();
});โ ๏ธ Important Interview Point
JavaScript features are standardized through the ECMAScript specification, and browser/Node.js support can vary by feature and version.
So when discussing "latest JavaScript," distinguish between:
Standardized features
โ Officially included in an ECMAScript release.
Proposed features
โ Still moving through the TC39 proposal process.
Runtime support
โ Whether a particular browser or Node.js version actually supports the feature.
Double Tap โค๏ธ For More
โค2
Free Resources to Learn Each Tech Stack ๐ง โจ
No excuses. Everything you need is free!
1. Frontend Development
โฏ freeCodeCamp.org โ HTML, CSS, JS
โฏ MDN Web Docs โ Best docs for web tech
โฏ Frontend Mentor โ Real-world challenges
โฏ CSS Tricks โ CSS deep dives
โฏ YouTube: Kevin Powell, Web Dev Simplified
โ
2. Backend Development
โฏ Node.js Docs
โฏ Django Girls Tutorial
โฏ The Odin Project โ Full Stack
โฏ Spring Boot Guides
โฏ YouTube: Amigoscode, CodeWithHarry (Hindi), Tech With Tim
โ
3. Full-Stack Development
โฏ Full Stack Open โ React + Node
โฏ The Odin Project
โฏ CS50 Web โ Harvardโs free course
โฏ YouTube: Traversy Media, Clever Programmer, JavaScript Mastery
โ
4. Data Analytics
โฏ Kaggle Learn โ Python, SQL, Viz
โฏ Maven Analytics โ Free Power BI/Tableau projects
โฏ Google Data Analytics Course
โฏ W3Schools SQL
โฏ YouTube: Luke Barousse, Alex The Analyst
โ
5. Machine Learning
โฏ Googleโs ML Crash Course
โฏ fast.ai โ Deep learning made easy
โฏ Kaggle Courses โ End-to-end ML
โฏ Coursera โ Andrew Ng
โฏ YouTube: StatQuest, Krish Naik, Codebasics
โ
6. DevOps
โฏ KodeKloud โ Docker, K8s, Ansible
โฏ Learn Git Branching
โฏ Katacoda โ Interactive Linux & DevOps
โฏ Roadmap.sh โ What to learn
โฏ YouTube: TechWorld with Nana, Nana Janashia
No excuses. Everything you need is free!
1. Frontend Development
โฏ freeCodeCamp.org โ HTML, CSS, JS
โฏ MDN Web Docs โ Best docs for web tech
โฏ Frontend Mentor โ Real-world challenges
โฏ CSS Tricks โ CSS deep dives
โฏ YouTube: Kevin Powell, Web Dev Simplified
โ
2. Backend Development
โฏ Node.js Docs
โฏ Django Girls Tutorial
โฏ The Odin Project โ Full Stack
โฏ Spring Boot Guides
โฏ YouTube: Amigoscode, CodeWithHarry (Hindi), Tech With Tim
โ
3. Full-Stack Development
โฏ Full Stack Open โ React + Node
โฏ The Odin Project
โฏ CS50 Web โ Harvardโs free course
โฏ YouTube: Traversy Media, Clever Programmer, JavaScript Mastery
โ
4. Data Analytics
โฏ Kaggle Learn โ Python, SQL, Viz
โฏ Maven Analytics โ Free Power BI/Tableau projects
โฏ Google Data Analytics Course
โฏ W3Schools SQL
โฏ YouTube: Luke Barousse, Alex The Analyst
โ
5. Machine Learning
โฏ Googleโs ML Crash Course
โฏ fast.ai โ Deep learning made easy
โฏ Kaggle Courses โ End-to-end ML
โฏ Coursera โ Andrew Ng
โฏ YouTube: StatQuest, Krish Naik, Codebasics
โ
6. DevOps
โฏ KodeKloud โ Docker, K8s, Ansible
โฏ Learn Git Branching
โฏ Katacoda โ Interactive Linux & DevOps
โฏ Roadmap.sh โ What to learn
โฏ YouTube: TechWorld with Nana, Nana Janashia
โค8
๐ JavaScript Tips โ Part 2
1๏ธโฃ Use strict mode when appropriate
Strict mode helps catch certain common mistakes and prevents some unsafe behaviors.
2๏ธโฃ Use optional chaining for uncertain data
When working with API responses or nested objects, optional chaining can prevent errors when a property doesn't exist.
3๏ธโฃ Understand || vs ??
They behave differently when dealing with falsy values.
Use
4๏ธโฃ Don't overuse ternary operators
Ternary operators are great for simple conditions.
For complicated logic, a normal
5๏ธโฃ Use destructuring when it improves readability
Destructuring can make working with objects and arrays cleaner.
6๏ธโฃ Understand spread vs rest
The same
Spread โ expands values
Rest โ collects values
7๏ธโฃ Don't rely on implicit type coercion
JavaScript can automatically convert types, sometimes producing surprising results.
Be explicit when conversion matters.
8๏ธโฃ Handle asynchronous errors properly
Don't assume every API request or asynchronous operation will succeed.
9๏ธโฃ Don't block the main thread
Heavy calculations or large amounts of synchronous work can make a web application unresponsive.
For expensive tasks, consider:
โข Breaking work into smaller tasks
โข Web Workers
โข Efficient algorithms
โข Avoiding unnecessary rendering
๐ Use debounce and throttle appropriately
These techniques are useful when an event fires repeatedly.
Debounce โ Run after activity stops.
Throttle โ Limit execution to a controlled frequency.
Common use cases: Search inputs, Scrolling, Resizing, Mouse movement
1๏ธโฃ1๏ธโฃ Use const objects carefully
Understanding this distinction is important.
1๏ธโฃ2๏ธโฃ Don't blindly use JSON.parse() and JSON.stringify()
They are useful for JSON data, but they aren't universal deep-copy solutions. They can lose or alter certain JavaScript values and don't preserve all object types.
For structured cloning, consider
1๏ธโฃ3๏ธโฃ Use === consistently
Strict equality makes your comparisons easier to reason about.
1๏ธโฃ Use strict mode when appropriate
Strict mode helps catch certain common mistakes and prevents some unsafe behaviors.
"use strict";
2๏ธโฃ Use optional chaining for uncertain data
When working with API responses or nested objects, optional chaining can prevent errors when a property doesn't exist.
const user = {};
console.log(user.address?.city);3๏ธโฃ Understand || vs ??
They behave differently when dealing with falsy values.
const count = 0;
console.log(count || 10); // 10
console.log(count ?? 10); // 0
Use
?? when 0, false, or an empty string are valid values.4๏ธโฃ Don't overuse ternary operators
Ternary operators are great for simple conditions.
const age = 20;
const status = age >= 18 ? "Adult" : "Minor";
For complicated logic, a normal
if...else is usually easier to read.5๏ธโฃ Use destructuring when it improves readability
Destructuring can make working with objects and arrays cleaner.
const user = {
name: "Alex",
age: 25
};
const { name, age } = user;6๏ธโฃ Understand spread vs rest
The same
... syntax has two different purposes.Spread โ expands values
const numbers = [1, 2, 3];
const copy = [...numbers];
Rest โ collects values
function sum(...numbers) {
return numbers.length;
}7๏ธโฃ Don't rely on implicit type coercion
JavaScript can automatically convert types, sometimes producing surprising results.
console.log("10" + 5); // "105"
console.log("10" - 5); // 5Be explicit when conversion matters.
8๏ธโฃ Handle asynchronous errors properly
Don't assume every API request or asynchronous operation will succeed.
async function getData() {
try {
const response = await fetch("/api/data");
const data = await response.json();
return data;
} catch (error) {
console.error("Request failed:", error);
}
}9๏ธโฃ Don't block the main thread
Heavy calculations or large amounts of synchronous work can make a web application unresponsive.
For expensive tasks, consider:
โข Breaking work into smaller tasks
โข Web Workers
โข Efficient algorithms
โข Avoiding unnecessary rendering
๐ Use debounce and throttle appropriately
These techniques are useful when an event fires repeatedly.
Debounce โ Run after activity stops.
Throttle โ Limit execution to a controlled frequency.
Common use cases: Search inputs, Scrolling, Resizing, Mouse movement
1๏ธโฃ1๏ธโฃ Use const objects carefully
const prevents reassignment of the variable, but it doesn't make the object immutable.const user = {
name: "Alex"
};
user.name = "Sam"; // AllowedUnderstanding this distinction is important.
1๏ธโฃ2๏ธโฃ Don't blindly use JSON.parse() and JSON.stringify()
They are useful for JSON data, but they aren't universal deep-copy solutions. They can lose or alter certain JavaScript values and don't preserve all object types.
For structured cloning, consider
structuredClone() when appropriate.1๏ธโฃ3๏ธโฃ Use === consistently
Strict equality makes your comparisons easier to reason about.
if (status === "active") {
console.log("User is active");
}โค4
1๏ธโฃ4๏ธโฃ Learn the event loop
Understanding the event loop helps you predict the execution order of: Synchronous code, Promise callbacks, Timers, Events
This is especially important for JavaScript interviews.
1๏ธโฃ5๏ธโฃ Practice reading error messages
Don't immediately search for a solution when your code fails.
First understand: What error occurred โ Where did it occur โ Why did it occur โ How can it be fixed?
๐ฅ Golden Tip: The faster you become at understanding your own errors, the faster you'll become at solving JavaScript problems.
Double Tap โค๏ธ For More Useful Tips
Understanding the event loop helps you predict the execution order of: Synchronous code, Promise callbacks, Timers, Events
This is especially important for JavaScript interviews.
1๏ธโฃ5๏ธโฃ Practice reading error messages
Don't immediately search for a solution when your code fails.
First understand: What error occurred โ Where did it occur โ Why did it occur โ How can it be fixed?
๐ฅ Golden Tip: The faster you become at understanding your own errors, the faster you'll become at solving JavaScript problems.
Double Tap โค๏ธ For More Useful Tips
โค5