Applied through- Linkedin Easy Apply
Experience ~1 year
After resume screening, they gave me a assignment to be completed within 2-3 days.
Round-1(Assignment) :
Role-Based Access Control (RBAC)
In this assignment, you are required to implement a Role-Based Access Control (RBAC)
system in a blog platform. The goal is to create a secure application where different roles
have distinct permissions, such as admin and user. This assignment will evaluate your ability
to handle authentication, authorization, and secure data access.
Objectives
- Implement authentication and role-based authorization for users and admins.
- Ensure secure access to different functionalities based on user roles.
- Develop a full-stack solution integrating frontend and backend.
Requirements
- Backend: Use Node.js and Express.js to handle authentication and role-based
authorization. Implement the following:
- Authentication using JWT.
- Role assignment for users (e.g., admin, user).
- Middleware to restrict access based on roles (e.g., only admins can create or delete blog
posts).
- Frontend: Create a React-based user interface with the following features:
- Login and signup forms.
- Pages for users to view blog posts.
- An admin dashboard to manage blog posts (create, update, delete).
- Database: Use MongoDB or PostgreSQL to store user roles, blog posts, and user
information. The data model should include:
- User details (name, email, role, hashed password).
- Blog post details (title, content, author, timestamp).
- Optional: Implement email verification for user signup.
Deliverables
- Source code for the frontend and backend.
- README file with instructions on how to run the application locally.
- A brief document explaining the architecture and flow of the application.
Evaluation Criteria
- Code Quality: Readability, maintainability, and adherence to coding standards.
- Functionality: Implementation of role-based access control and required features.
- Security: Proper handling of authentication, authorization, and sensitive data.
- User Experience: Design and usability of the frontend interface.
- Innovation: Bonus points for additional features such as email verification or real-time
updates.
Submission Guidelines
- Share the project code via a GitHub repository (ensure the repository is public or
accessible).
- Include a clear README file with instructions to run the project.
- Submit the repository link via email or as per the instructions provided.
- Due Date: [Insert Due Date Here]
I completed this assignment within 2 days and submitted it.
After 3 days, I got a mail that i have cleared this round and they scheduled my 2nd round on the same day.
Round 2 :
After quick intro, interviewer moved to theory ques:
1- what is package.json file?
2- features of v8 engine, why it is used
3- What are Promises?
4- how Nodejs handles everything,being single threaded
5- what is joi
6- what is multer
7- explain indexing
8- what is composite index
After this, he asked me to open the assignment and asked ques related with code and why i have used it here.
I explained him everything but he was in a hurry to go bcz he paused 2-3 times between the interview asking me to wait as he was busy somewhere.
Same day , I got a rejection mail...i dont know why even i told him everything clearly.
other Interview experiences:
Xarterian - https://leetcode.com/discuss/post/6722085/sde-1backend-xarterian-interview-experie-i8i8/
Network18 - https://leetcode.com/discuss/post/6724572/sde-1-full-stack-network18-interview-exp-9r3m/