Let me share with you a short story of an interview which helped me become a much better NodeJS Developer in just 2 weeks. So, I applied for a backend developer role in a company last month. The interview started with basic stuff and then it escalated very quickly. The initial questions were easy but then I got hit by some serious questions, which I was not prepared for.
📌 How does the NodeJS application use the CPU cores and threads to execute the code?
📌 Can a multi-core virtual machine increase the performance of the NodeJS backend web app?
📌 NodeJS is single-threaded following an Event Loop model, but then how can we execute CPU-intensive tasks in NodeJS without blocking off our web server?
So eventually I failed terribly in that interview and the interview ended and my interviewer asked me this very boiler-plate question do you have any questions for me?
I was devastated by the fact that I was ignoring all these concepts and today they were asked in the interview, so I humbled myself and asked, sir, I am very interested in working in NodeJS and I confess that I have ignored all these concepts, but can you suggest me how all these things work and why are they essential for any developer to learn?
The interviewer was really really chill!
He started laughing and very honestly told me, “Lavish, with your current knowledge we are definitely not moving ahead with you for the position, but I have sat across 5-10 candidates with the same type of questions, and none of them was able to answer and none of them asked for a feedback, you are the first so I will answer you”
He then went on to explain in short how NodeJS actually has a single “main” thread for all the code execution but it has this concept of worker threads. He explained how NodeJS can actually handle CPU-intensive tasks.
Basically, he answered all of my queries in brief and cleared the crap in my head that as a NodeJS developer these things are not important to learn. He even told me that you cannot learn all this stuff when you don’t implement them practically with code.
I thanked him and got to work! It took just 2 weeks and now I am really confident about all these concepts about NodeJS and I cracked the interview at the same company. After 2 weeks of implementing them, reading documentation and watching all those non-fancy tutorials explaining this stuff made me a much more confident NodeJS developer. It also explained why as a developer you need to learn this stuff which is it increases the performance and scalability of your NodeJS application.
Now I would really like to help you all out and explain all this stuff which seems really boring in starting. I will write blogs about all these queries in the easiest language possible and with the easiest examples for you guys. Do follow the blog.
PS: I did not join the company as I couldn't dedicate the number of hours required by the organization despite them offering me a really good stipend. Since I am a college student I only work on a freelance basis or part-time.
Thank You for reading :)
Laptop (Macbook Air 2020 M1)
Keyboard and Mouse: amzn.to/3eTvFTP
External Display Monitor: amzn.to/3doZI5z
External SSD: amzn.to/3BrrSoD
USB Hub for Macbook Air: amzn.to/3ScC3E1
(some of the above are affiliate links ie if you purchase any item using the links above I'll get a very small percentage of it and you'll get the product at the same price)
Did you find this article valuable?
Support Lavish Goyal by becoming a sponsor. Any amount is appreciated!