Mastering NodeJS with Interview Questions 2024
Explore the dynamic universe of server-side web development with this meticulously crafted Node.js course, tailored for both aspiring learners and seasoned professionals looking to master server-side JavaScript. This progressive guide takes you on a hands-on exploration of Node.js, the powerhouse behind scalable and efficient web applications.
In this course, you’ll learn the correct approach to tackle real-world projects - ensuring that you gain practical skills that are directly applicable in professional settings.
Adding to that, I’ll equip you with a curated collection of interview questions, preparing you to confidently navigate Node.js technical assessments.
Here are the key features of this course:
Master Node.js Fundamentals - Grasp the foundational principles of Node.js.
Express.js and API Development Skills - Master middleware techniques for building robust web applications and APIs.
Interview-Ready Confidence - Real-world interview preparation, ensuring confidence in tackling Node.js technical assessments.
Effective Database Integration - Seamless database integration, mastering CRUD operations and scalability strategies for optimal application performance.
I’ll keep you in the loop on what's next for Node.js to be always ahead of the game with insights into the future of this tech powerhouse.
Watch Online Mastering NodeJS with Interview Questions 2024
# | Title | Duration |
---|---|---|
1 | What is Node,js? | 02:07 |
2 | Installation and Environment Setup | 02:02 |
3 | Initializing Project using NPM | 02:16 |
4 | First Application | 01:20 |
5 | Introduction to Modules | 03:10 |
6 | Exporting Object Literal - Multiple Exports | 03:59 |
7 | Basic Debugging | 03:58 |
8 | Global Objects | 02:10 |
9 | setTimeout() - Global object Method | 02:23 |
10 | clearTimeout() - Global object Method | 01:54 |
11 | setInterval() - Global Object Method | 02:34 |
12 | clearInterval() - Global Object Method | 01:43 |
13 | The “process” Global Object | 01:53 |
14 | Process.argv | 02:30 |
15 | “process.on()” - Process Event Handling | 02:18 |
16 | Chalk library | 02:24 |
17 | OS Module | 01:52 |
18 | What is REPL? | 01:22 |
19 | Event Loop | 04:20 |
20 | Introduction to Buffers | 00:46 |
21 | Numeric Systems | 04:05 |
22 | Character sets - Unicode | 01:58 |
23 | Working with Buffers | 02:07 |
24 | Buffer.from() | 01:27 |
25 | Changing Buffer Values | 01:15 |
26 | What is File System Object? | 02:16 |
27 | Does it Exist? - fs.existsSync() | 01:42 |
28 | Reading Files With вЂfs’ Object | 01:38 |
29 | Writing Files - writeFile() | 01:29 |
30 | readFile() vs readFileSync() | 04:15 |
31 | fs.copyFile() | 03:30 |
32 | Assignment - Copy Any File to a Given Location | 01:11 |
33 | fs.appendFile() | 03:11 |
34 | Reading Directory Using “readdir()” | 01:07 |
35 | Assignment - Count files & folders of directory | 01:37 |
36 | Renaming and moving Files - fs.rename() | 01:52 |
37 | Deleting a File - fs.unlink() | 01:31 |
38 | readdir() Vs readdirSync() | 02:22 |
39 | Creating Folder using fs.mkdir() | 01:37 |
40 | Delete Folder - fs.rmdir() & recursive | 02:11 |
41 | Introduction - What is a server? | 03:28 |
42 | Creating Server with "http" | 05:16 |
43 | Decoding "The Request" object | 02:24 |
44 | Auto Restart Server - "Nodemon" | 01:36 |
45 | Responding to request - Response object | 02:49 |
46 | Routes - Request.url | 04:49 |
47 | Sending JSON Response | 02:52 |
48 | Assignment - Get Server Date & Time | 02:21 |
49 | <form>, Query String - GET method | 05:26 |
50 | Request with POST method | 02:16 |
51 | POST-ing Data | 02:34 |
52 | “querystring” - Parsing | 03:48 |
53 | Assignment - POST data to a JSON file on server | 02:36 |
54 | Introduction | 01:01 |
55 | Creating Server with Express.js | 02:06 |
56 | Understanding the Request | 02:30 |
57 | Responding to the Request | 03:24 |
58 | Headers & JSON Response | 02:18 |
59 | Defining Routes | 01:27 |
60 | Wildcard Characters in Routing | 02:27 |
61 | Dealing with URL parameters | 03:19 |
62 | POST Request With Express.js | 04:52 |
63 | Accessing POST Data with Middleware | 02:45 |
64 | express.Router() - Better Approach for Routes | 03:39 |
65 | POSTMAN - Introduction & Installation | 02:01 |
66 | Making Request Using POSTMAN | 01:38 |
67 | PUT, PATCH, DELETE Request | 02:27 |
68 | res.sendFile() - Serving HTML Files | 04:15 |
69 | express.static() | 03:40 |
70 | Introduction to Middleware | 02:13 |
71 | First Custom Middleware | 02:47 |
72 | Assignment - Create a Middleware to Check Content-Type | 04:27 |
73 | The bodyParser() Middleware | 02:51 |
74 | Introduction to Server Side Rendering | 03:28 |
75 | Project Scaffolding | 01:31 |
76 | Creating Store HTML - Nav & Product Cards | 05:25 |
77 | Converting HTML to Pug | 03:47 |
78 | Rendering the Pug File | 01:36 |
79 | Creating Form Using Templating Engine | 03:03 |
80 | Fetching the Product Data | 02:22 |
81 | Rendering Products Using each...in... | 02:39 |
82 | Conditional Rendering - No Product Section | 01:19 |
83 | Inherited Reusable Interface - Template Layout | 02:55 |
84 | Giving Dynamic Classes With Pug | 01:51 |
85 | Configuring Handlebars | 03:48 |
86 | Adding Dynamism With Handlebars | 04:13 |
87 | Working with Default Layout in Handlebars | 02:51 |
88 | Introduction to EJS | 04:32 |
89 | Component Based EJS? - Partials | 02:33 |
90 | Setting up the Project | 01:45 |
91 | Connecting to the Database | 04:08 |
92 | Querying the Database - pool.query() | 01:24 |
93 | Inserting Data with pool.query() | 01:26 |
94 | Updating Records with pool.query() | 02:26 |
95 | Deleting Records with pool.query() | 01:25 |
96 | Safer Approach for Query Execution - pool.execute() | 01:22 |
97 | Introduction to APIs | 02:44 |
98 | API Creation | 02:37 |
99 | Status Codes | 03:18 |
100 | Inserting Data with POST Request | 02:39 |
101 | Deleting Records With API | 01:22 |
102 | Updating Database with PUT | 02:33 |
103 | Refactoring the Code Structure | 06:19 |
104 | Introduction to MyStore | 01:54 |
105 | MyStore Application Flow | 01:23 |
106 | Creating Home Route | 02:49 |
107 | Configuring the Template Files | 01:52 |
108 | Creating Navbar with "includes" | 02:36 |
109 | Creating Home Interface | 06:25 |
110 | Conditional Rendering - No Product Found | 01:46 |
111 | Configuring Add Product Route | 02:31 |
112 | Creating “Add Product” Interface | 05:29 |
113 | Configuring Edit Product Route | 02:27 |
114 | Interface and Functionality - “Edit Product” | 03:09 |
115 | Setting Up MySQL | 01:30 |
116 | Fetching the Products | 01:59 |
117 | Adding Product to Database | 04:31 |
118 | Editing the Product | 04:30 |
119 | Deleting the Product | 02:14 |
120 | Introduction | 01:07 |
121 | Authentication Workflow | 02:09 |
122 | Understanding Cookies | 03:13 |
123 | Creating Cookie Using setHeader() | 02:33 |
124 | res.setHeader() vs. res.cookie() | 01:15 |
125 | Reading a Cookie | 02:31 |
126 | Expiring Cookie - expires & maxAge Attributes | 05:39 |
127 | Optional Security Attributes of Cookie | 02:51 |
128 | Introduction | 02:37 |
129 | Setting Up the Route for SignUp | 03:39 |
130 | Designing the SignUp Form | 03:04 |
131 | Show/Hide Password Functionality | 05:00 |
132 | Validating Password | 01:47 |
133 | Registering User to the Database | 03:23 |
134 | Configuring Login Page | 01:41 |
135 | Validating User and Sending Cookie | 04:38 |
136 | Reading the Cookie - cookie-parser | 03:11 |
137 | Rendering DOM Based on Login Status | 03:00 |
138 | Implementing Logout | 01:21 |
139 | Why Need Session Cookie? | 01:54 |
140 | Configuring express-session | 03:12 |
141 | Sending Session Cookie to Client | 02:08 |
142 | Reading and Configuring Session Cookie | 02:11 |
143 | Storing Session in MySQL - express-mysql-session | 04:58 |
144 | Logout - Destroying Session | 02:38 |
145 | Introduction to JSON Web Token | 02:10 |
146 | Understanding JWT Practically | 02:59 |
147 | Verifying a Token with JWT | 01:50 |
148 | Sending Token on Login | 03:38 |
149 | Validating Request with Custom Middleware | 04:44 |
150 | Enabling The Conditional Rendering | 06:05 |
151 | Introduction & Installing Bcrypt | 01:50 |
152 | Generating Salt with Bcrypt | 03:36 |
153 | Hashing with Bcrypt | 02:28 |
154 | Validating a Hashed String | 01:31 |
155 | Hashing the Password on SignUp | 02:19 |
156 | Validating Login Credentials | 01:41 |
157 | Introduction | 02:23 |
158 | Configuring Multer as Middleware | 02:55 |
159 | Storing Files Using Multer | 04:46 |
160 | Updating the Database | 02:43 |
161 | Introduction | 03:28 |
162 | Connecting to MySQL using Sequelize | 05:25 |
163 | Creating Model With Sequelize | 05:31 |
164 | Entering records in the table | 02:10 |
165 | Displaying records from table | 03:21 |
166 | Updating records from table | 01:50 |
167 | Deleting records from table | 02:04 |
168 | Validations And Constraints With Sequelize | 03:15 |
169 | Empty String Validation | 02:23 |
170 | Setting Unique Constraint | 03:55 |
171 | Validating Length of Characters | 02:50 |
172 | Built-in min and max validator | 02:31 |
173 | Applying Custom Validations | 02:55 |
174 | Getting the field value | 02:15 |
175 | Assignment - Implementing User Validation | 10:22 |
176 | Introduction | 01:21 |
177 | Configuring Sequelize with MyStore | 04:10 |
178 | Updating Products Model | 03:28 |
179 | Updating Users Model | 01:25 |
180 | Synchronizing models with the database | 01:53 |
181 | Updating Product CRUD Operations | 08:58 |
182 | Updating User Auth | 03:50 |
183 | Managing Login Session With Sequelize | 03:14 |
184 | Introduction To MongoDB | 03:29 |
185 | Installing MongoDB | 05:56 |
186 | Creating Database with MongoDB | 04:46 |
187 | Connecting MongoDB with Node.js | 05:52 |
188 | Inserting document | 05:33 |
189 | Finding Data From Collection | 07:01 |
190 | What is a Cursor? | 04:56 |
191 | Sorting and Limiting | 04:58 |
192 | Counting Documents | 03:41 |
193 | Assignment - Total Employees Earning Above 50K | 04:01 |
194 | Updating Documents | 04:40 |
195 | Assignment - Increase and decrease salary by department | 02:31 |
196 | Deleting Documents | 03:37 |
197 | Introduction To Mongoose | 03:47 |
198 | Installing Mongoose | 03:27 |
199 | Creating Collection Using model() | 06:27 |
200 | Schema - A Better Way | 01:56 |
201 | Required Constraints In Schema | 04:01 |
202 | Unique Constraints In Schema | 03:47 |
203 | Built-in Validators (minLength & maxLength) | 02:10 |
204 | Built-in Numeric min & max Validators | 01:57 |
205 | Implementing Custom Validations | 04:58 |
206 | { VALUE } Placeholder | 01:44 |
207 | Assignment - UserSchema with Password and Email Validation | 08:41 |
208 | CRUD With Mongoose (CREATE Operation) | 02:44 |
209 | CRUD With Mongoose (READ Operation) | 02:25 |
210 | CRUD With Mongoose(UPDATE Operation) | 04:20 |
211 | CRUD With Mongoose (DELETE Operation) | 02:10 |
212 | Introduction | 01:48 |
213 | Configuring Mongoose with MyStore | 03:24 |
214 | Creating Product Schema and Model | 01:35 |
215 | Creating User Schema and Model | 03:44 |
216 | Defining Product CRUD Operations | 10:20 |
217 | Defining User Auth | 06:05 |
218 | Managing Login Session With MongoDB | 04:13 |
219 | Introduction to web sockets | 05:05 |
220 | Getting Started With Web Socket | 03:23 |
221 | Configuring Socket.IO Server | 06:16 |
222 | Disconnecting Socket.IO With Client | 01:18 |
223 | Socket.IO Events - Part 1 (Transfer messages in real time) | 06:02 |
224 | Socket.IO Events - Part 2 (Broadcasting message) | 03:29 |
225 | Assignment - Broadcasting message to connected clients | 04:13 |
226 | Event Acknowledgements | 03:57 |
227 | Rendering Messages Inside The Template | 05:38 |
228 | Creating A Join Page | 04:22 |
229 | Storing & Displaying Connected Users In Chat Page - Part 1 | 08:23 |
230 | Storing & Displaying Connected Users In Chat Page - Part 2 | 02:39 |
231 | Sorting The Displayed Users | 05:51 |
232 | Updating the UI | 04:18 |
233 | Sending Private Message | 08:02 |
234 | Implementing A Persistent User ID | 09:49 |
235 | Sending Images in the Chat | 07:12 |
236 | Finalizing the chat app | 02:26 |