Node.js

Check this first

Please review this guide first and try to understand if you have any gaps in your knowledge you need to fill in.

Senior developer expectations

This is a non-exhaustive list but outlines some key areas a senior Node developer should have work experience in or have a strong understanding of:

  • Arrow functions vs normal functions
  • Modules
    • using Module.export and exports
    • understading the difference between both
  • Asynchronous programming: blocking vs non-blocking code
    • Promises
    • Callbacks
    • async / await
  • Generators
  • TypeScript
  • Generics
  • Node.js APIs:
    • Working with files
    • Events
    • Streaming
    • Buffer
    • HTTP
    • TCP/UDP
  • Node.js architecture
    • V8 engine
    • event queue
    • event loop
    • thread pool
    • node bindings
    • garbage collector
    • memory management
    • role of libuv in Node.js
  • Handling callback hell
  • Event driven programming model
  • Express
    • Routing
    • Middlewares
    • req/res
    • locals
    • Session handling
  • SQL
    • PostgreSQL
    • MySQL
  • NoSQL
    • Mongo
    • DynamoDB
    • GraphQL
  • ORMs
    • Sequelize
    • TypeORM
    • Prisma
    • Mongoose
    • Apollo
  • Authentication & authorization
  • Debugging in Node.js
  • Testing in Node.js
    • Mocha
    • Chai
    • Sinon
    • Faker
  • Use of ENV variables
  • Caching
    • Redis
    • Memcached
  • Cluster module
  • this object
  • setImmediate vs process.nextTick vs setTimeout(fn, 0). Link
  • External processes
    • Starting external application using process.spawn
    • spawn vs fork vs exec vs execFile
  • Offloading tasks that take some time to workers
  • Handling JWTs in Node.js
  • Handling CORS
  • Architectures in Node.js
    • MVC
    • MVVM
    • Hexagonal architecture
  • Templating languages
    • Mustache
    • Handlebars
    • EJS
  • How to parallelize code with async
  • Security in Node.js applications. How to prevent:
    • CSRF
    • XSS (cross-site scripting)
    • SQL injection
  • Websockets and real-time communication
  • Monolithic arquitectures vs Microservices
    • Pros and cons of each one
    • When to use one vs the other
  • Lambda functions
  • Inter service communication
    • AWS SQS/SNS
    • Kafka
  • Package managers
    • NPM
    • Yarn
    • Understand their differences
  • Deployment and DevOps:
  • Monitoring and logging in production
    • New Relic
    • Datadog
  • Server side rendering (SSR)
    • Next.js