We are seeking a skilled Backend Developer with expertise in Node.js, MongoDB, and AWS to join our team and help build the server-side of our professional networking platform.
The ideal candidate will have a strong understanding of server-side development, database management, and cloud infrastructure. They will work closely with the front-end and DevOps teams to design and implement scalable and secure backend systems.
Responsibilities:
Develop and maintain server-side applications using Node.js and Express.js
Design and implement database schemas using MongoDB
Integrate with AWS services (e.g., EC2, S3, Lambda) for deployment and scaling
Implement RESTful APIs and WebSocket communication
Ensure data security, authentication, and authorization
Optimize server-side performance and database queries
Write clean, modular, and well-documented code following best practices
Collaborate with front-end developers to integrate backend APIs
Participate in code reviews and provide constructive feedback
Requirements:
6+ years of experience as a Backend Developer, with expertise in Node.js, MongoDB, and AWS
Strong proficiency in JavaScript and server-side development concepts
Experience with Node.js frameworks with Express.js
Familiarity with database query optimization and indexing techniques
Knowledge of AWS services and serverless architecture
Experience with version control systems with Git & Bitbucket
Strong problem-solving and debugging skills
Excellent communication and collaboration skills
Assessment:
Design and implement a REST API endpoint for retrieving a user's profile information. The endpoint should query the MongoDB database and return the user's details, work experience, education, and skills.
Implement an API endpoint for updating a user's profile information. Validate the incoming request data, perform necessary data transformations, and update the corresponding user document in MongoDB.
Create a MongoDB aggregation pipeline to fetch a user's profile along with their latest posts and comments. Optimize the query performance by using appropriate indexes and limiting the number of returned documents.
Implement a background job using AWS Lambda to send a welcome email to newly registered users. The Lambda function should be triggered when a new user document is inserted into the MongoDB collection.
Build a simple Node.js API with CRUD operations and MongoDB integration.
Design a MongoDB database schema, considering factors such as data relationships, indexing, and performance.
Describe how they would deploy a Node.js application on AWS, utilizing services such as EC2, S3, and Lambda.
Present a scenario with a slow-performing API endpoint and ask the candidate to identify and resolve the performance bottlenecks, considering factors such as database queries and caching.
Show the task that involves implementing authentication and authorization in a Node.js application using JWT (JSON Web Tokens) or another authentication mechanism.
Design a scalable architecture for a Node.js application, considering factors such as load balancing, horizontal scaling, and caching strategies.
Present a backend development challenge (e.g., real-time data synchronization, complex data aggregation) and ask the candidate to propose and implement a solution using Node.js and MongoDB.