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
- 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
objectsetImmediate
vsprocess.nextTick
vssetTimeout(fn, 0)
. Link- External processes
- Starting external application using
process.spawn
spawn
vsfork
vsexec
vsexecFile
- Starting external application using
- 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:
- Serverless framework
- Containerization with Docker
- CI/CD: Github actions, AWS Codepipeline
- Monitoring and logging in production
- New Relic
- Datadog
- Server side rendering (SSR)
- Next.js