Tip 1: If there are any additional tasks for bonus points, always do them.
Tip 2: Never stop practicing DSA. Solve at least one problem every day.
Tip 1: There must be at least 2 relevant projects related to the role.
Tip 2: Do not include hobbies in your resume.
Objectives:
• Build a robust and scalable backend for a real-time group chat application using Node.js and Web Sockets.
• Demonstrate understanding of WebSocket communication, server-side logic, data management, and API
design.
• Document the architecture choices and design decisions.
Functional Requirements:
➢ User Authentication:
- Securely handle user registration and login (hashing/salting passwords).
- Implement token-based authentication (e.g., JWT) for API requests.
➢ Group Management:
- Provide APIs for creating, joining, and leaving groups.
- Manage group membership and permissions.
➢ Real-time Messaging:
- Enable real-time message delivery within groups using Web Sockets.
- Store message history in a database.
➢ User Presence: Track and update user online/offline status within groups.
➢ API Design:
- Design RESTful APIs for all backend functionalities.
- Use appropriate HTTP status codes and error handling.
Explain your project. Explain the challenges that you faced while building this project.
What is socket.io? How does it work? Explain the process in detail.
Why did you choose MongoDB to store data for your app? There are other databases as well. (Learn)
What is the difference between MongoDB and Mongoose? (Learn)
Difference between relational and non-relational databases. (Learn)
Note: I have been asked this question in many interviews.
Why did you switch to the IT field?
What are your strengths and weaknesses?
How much are you expecting from us?
Tell me about an experience when you faced difficulty at work while working on a project.

Here's your problem of the day
Solving this problem will increase your chance to get selected in this company
What is recursion?