Backend Development With Nodejs – Interview Guide


Free Download Backend Development With Nodejs – Interview Guide

Published: 12/2024
MP4 | Video: h264, 1920×1080 | Audio: AAC, 44.1 KHz
Language: English | Size: 2.24 GB | Duration: 11h 12m
Ace your next Node.js interview with intimate knowledge of Node, general backend development and good practices


What you’ll learn


Intimate knowledge of NodeJS architecture (Event Loop, Event Queue, Libuv workers)
Learn how to solve "In which order these console logs will appear" questions, based on intricate knowledge of event loop phases and microqueues
Learn how production grade applications are built starting from app construction and ending with scaling best practices
Best practices regarding working with databases including database design, data normalisation, server side programming and query optimisation practices
Fundamentals of system design – client-server model, caches, proxies, load balancing etc
How to efficiently work with data in NodeJS, including important pitfalls of various APIs
Testing best practices including examples of mocking, stubbing and spying

Requirements


JavaScript & TypeScript
Basic understanding of how backend applications are built
Basic understanding of NodeJS

Description


Interviews can be quite stressful. For some reason, you often freeze or struggle to verbalise the concepts with which you work on the daily basis. Although you have enough coding and design knowledge, you might not be as efficient presenting this knowledge as using it in your projects.Preparation is the best type of effort you can put in, to put your best foot forward in an interview setting. Apart from coding skills, you also need to be able to verbalise the concepts you work with and be able to clearly articulate how they work and what problems they address.This is where this course comes in. I gathered 100+ actual Node.js interview questions either I personally received or my colleagues did. Although I wouldn’t do bad answering those in the actual interview, I often left out important details. Especially when asked about intimate knowledge of how Node.js operates and what makes it so good for the web, database related questions and some good practices around working with them and many more. Here’s a glimpse of some of the more important topics covered in this course:Node.js event loopCluster mode (+ PM2), Child Process and Worker ThreadsNPM dependenciesstubbing, spying and mocking in testingBuffer & Stream for working with datapitfalls of streams when working with a lot of datadata streaming in Node.jsdesigning data contracts andhttp responsesREST v GraphQLCommonJS v ES Moduleswebserver building blocks – middleware, interceptor, router, controller, servicerelational v non-relational databasesdatabase migrationsSQL anti-patternsmulti-stage Dockerfilesmanaging tasks in distributed multi-pod microservicehow to mitigate risk of SQL injectionand MUCH more!This course is meant to prepare you for such questions by going as deep as needed into each concept, understanding the context of questions, understanding the underlying technology used to address the problem asked by the interviewer and providing clear recommendations. In the end, there are no perfect solutions, there are just trade-offs. To find the right solution, you need to understand those trade-offs.I know I will be using this course to prepare for my Node.js interviews. I also plan on adding new questions from my own interviews and others’. I would love to add yours too!Another valuable resource is course repository with running code examples for a lot of questions. That’s the playground where theory meets practice. Each example is a standalone recipe on how to use a component or pattern in practice.I am not saying this course is going to make you a Node.js expert. But I’m also not saying it won’t.

Overview


Section 1: How to follow this course
Lecture 1 Course repository
Section 2: NodeJS architecture and Event Loop
Lecture 2 How does NodeJS event loop work?
Lecture 3 What’s the order in which these console.logs are going to run
Lecture 4 What’s the order in which async console.logs are going to run?
Lecture 5 Describe NodeJS architecture
Lecture 6 What are pros and cons of NodeJS architecture?
Lecture 7 What’s the difference between I/O bound and CPU bound tasks?
Lecture 8 What are blocking and non-blocking operations?
Lecture 9 How to improve I/O performance of a NodeJS app?
Lecture 10 How to improve performance of a CPU-bound task in a Node app?
Lecture 11 Give an example of how you could block the event loop.
Lecture 12 What are some good practices to ensure optimum use of the NodeJS event loop?
Lecture 13 Describe how libuv thread pool works.
Lecture 14 Tell me what you think!
Section 3: Concurrency and parallelism in NodeJS
Lecture 15 Is NodeJS capable of both concurrency and parallelism?
Lecture 16 How do you leverage libuv do achieve a level of parallelism?
Lecture 17 How does the promise work under the hood?
Lecture 18 What’s the difference between Cluster and PM2? pt. 1
Lecture 19 What’s the difference between Cluster and PM2? pt. 2
Lecture 20 Pros and Cons of PM2
Lecture 21 How Cluster mode compares to Worker Threads, what are their use cases?
Lecture 22 What problem do Worker Threads solve? What are their pros and cons?
Lecture 23 How Worker Threads compare to Child Processes?
Section 4: NPM
Lecture 24 NPM: What files are used when working with NPM?
Lecture 25 NPM: It is possible or advisable to effectively update package-lock.json?
Lecture 26 NPM: How does NPM resolve dependencies?
Lecture 27 What are peer dependencies?
Lecture 28 What is semantic versioning? How to understand changes between versions?
Lecture 29 Best practices when updating project dependencies?
Section 5: Error handling in NodeJS applications
Lecture 30 Give some examples of exit codes in NodeJS
Lecture 31 How to handle errors in NodeJS applications?
Lecture 32 How to create custom errors in NodeJS applications?
Section 6: Testing NodeJS applications
Lecture 33 Describe test pyramid.
Lecture 34 How to benchmark NodeJS applications?
Lecture 35 What’s the difference between mocking, spying and stubs? How to use each. pt. 1
Lecture 36 What’s the difference between mocking, spying and stubs? How to use each. pt. 2
Lecture 37 What are unit testing best practices?
Lecture 38 What are integration testing best practices?
Section 7: Working with data in NodeJS applications
Lecture 39 What is the difference between readFile and createReadStream in NodeJS?
Lecture 40 What is a Buffer and how is it used?
Lecture 41 What is a Stream and how is it used in NodeJS?
Lecture 42 What types of streams does NodeJS support?
Lecture 43 How are streams optimising I/O performance?
Lecture 44 What is High Watermark in streams?
Lecture 45 List and explain readable stream events
Lecture 46 List and explain writable stream events
Lecture 47 How can using streams lead to performance issues?
Lecture 48 Explain backpressure in the context of NodeJS streams
Lecture 49 How to correctly copy enormous files with NodeJS using streams?
Lecture 50 How to stream data in NodeJS?
Lecture 51 What is piping or stream chaining?
Lecture 52 Why you shouldn’t use .pipe() API in production?
Lecture 53 What is and what’s the purpose of a Pipeline in NodeJS Streams?
Lecture 54 How to implement a custom stream in NodeJS?
Lecture 55 A review would be much appreciated!
Section 8: HTTP requests and Responses
Lecture 56 Describe main HTTP methods are their most popular use cases.
Lecture 57 What does it mean an HTTP method is idempotent or safe?
Lecture 58 Describe HTTP response status code classes and commonhttp codes.
Lecture 59 What information can be included in an HTTP request?
Lecture 60 What is a data contract and what are some good practices around it?
Lecture 61 What are good practices when constructing responses?
Lecture 62 How do HTTP headers control the HTTP protocol?
Lecture 63 Provide an example of a useful HTTP header.
Section 9: REST
Lecture 64 What is and what problems does REST solve?
Lecture 65 How do you design RESTful endpoints?
Section 10: GraphQL
Lecture 66 What is GraphQL and what problem does it solve?
Lecture 67 Cons of a GraphQL API?
Lecture 68 What is a GraphQL resolver?
Lecture 69 GraphQl and REST. When to use which?
Section 11: Application Construction
Lecture 70 What’s the difference between CommonJS and ES Modules?
Lecture 71 What is middleware?
Lecture 72 What is an interceptor?
Lecture 73 What is a router?
Lecture 74 What is a controller?
Lecture 75 What is a service?
Lecture 76 What is a utility?
Lecture 77 Best practices when debugging NodeJS applications?
Section 12: Databases
Lecture 78 What’s the difference between relational and non-relational databases?
Lecture 79 What are best practices when designing a relational data structure?
Lecture 80 Inner Join vs Left Join vs Right Join
Lecture 81 What’s a database migration? pt. 1
Lecture 82 What’s a database migration? pt. 2
Lecture 83 What’s a database transaction and what problem does it solve?
Lecture 84 What’s ACID in the context of a database?
Lecture 85 What are database indexes and how do they work?
Lecture 86 How do you normalize data for use in relational database?
Lecture 87 How do you optimise performance of SQL queries?
Lecture 88 What are some SQL antipatterns?
Lecture 89 What is database server side programming and its use cases? pt. 1
Lecture 90 What is database server side programming and its use cases? pt. 2
Section 13: Deployment
Lecture 91 Explain the difference between npm i and npm ci, and when you would you use each
Lecture 92 What is a multi-stage Dockerfil and why use it?
Lecture 93 What’s the difference between a[Docker] image and container?
Section 14: Microservices
Lecture 94 What are pros and cons of microservices?
Lecture 95 What are some good practices for error handling in microservices architecture?
Lecture 96 What problem does asynchronous communication between microservices solve?
Lecture 97 What are some best practices for databases with microservices?
Lecture 98 How do you manage tasks that need to be performed once in a multi-pod cluster?
Section 15: System design
Lecture 99 What is a monolithic architecture?
Lecture 100 Describe client server architecture.
Lecture 101 Describe server-less architecture.
Lecture 102 Describe main quality attributes of a distributed system.
Lecture 103 What is a cache and how do you control it?
Lecture 104 What caching strategies do you know?
Lecture 105 What types of proxies do you know?
Lecture 106 What are queues, why do we use them?
Lecture 107 What is load balancer?
Section 16: Security
Lecture 108 How to mitigate risk of sql injection?
Lecture 109 What are some strategies to ensure security of NodeJS applications?
Lecture 110 What security headers could be used to improve security and how?
Lecture 111 A review would be much appreciated!
beginner NodeJS developers preparing for NodeJS job interviews,intermediate NodeJS developers preparing for NodeJS job interviews,full-stack Typescript developers looking to sharpen their NodeJS knowledge,full-stack JavaScript developers looking to sharpen their NodeJS knowledge

Homepage:

https://www.udemy.com/course/backend-development-with-nodejs-interview-guide/

DOWNLOAD NOW: Backend Development With Nodejs – Interview Guide

Buy Premium From My Links To Get Resumable Support,Max Speed & Support Me

No Password – Links are Interchangeable