profile-pic
Vetted Talent

Md Adil Alam

Vetted Talent
Professional developer with years of experience currently works at TCS. Writing backend components in Node Js applications using the technologies Nodejs, Express, TypeScript, Redis, EJS, Docker, Heroku, JWT, MongoDB, Elastic Search, RabbitMQ Palam
  • Role

    Specilist Engineer

  • Years of Experience

    7 years

Skillsets

  • Git
  • TypeScript
  • Redux
  • react
  • RabbitMQ
  • Nodejs
  • Next.js
  • MongoDB
  • Jest
  • Heroku
  • JavaScript - 5 Years
  • Express.js
  • Elasticsearch
  • CI/CD
  • AWS S3
  • Docker
  • Redis
  • MySQL
  • JavaScript - 5 Years

Vetted For

14Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    MERN Stack DeveloperAI Screening
  • 50%
    icon-arrow-down
  • Skills assessed :Debugging, Engineering Background, Relational Databases, Troubleshooting, Node Js, Node Js, React Js, React Js, Agile, Github, JavaScript, Mongo DB, Redux, Rest APIs, SQL, Type Script
  • Score: 45/90

Professional Summary

7Years
  • Sep, 2024 - Present1 yr 8 months

    Specilist Engineer

    LTIMindtree
  • Sep, 2021 - Sep, 20243 yr

    Software Development Engineer (Full Stack)

    Tata Consultancy Services
  • Oct, 2019 - Sep, 20211 yr 11 months

    Software Development Engineer (Frontend)

    Opalina Technology
  • Sep, 2018 - Apr, 2019 7 months

    Frontend Engineer

    Lynkit

Applications & Tools Known

  • icon-tool

    VSCode

  • icon-tool

    Jira

  • icon-tool

    snyk

  • icon-tool

    Eclipse

Work History

7Years

Specilist Engineer

LTIMindtree
Sep, 2024 - Present1 yr 8 months
    Engineered reusable React components, increasing development efficiency by 30% and reducing code duplication across multiple projects. Led a cross-functional team to deliver high-quality software solutions, accelerating project delivery timelines by 25%. Facilitated collaboration among diverse teams, enhancing communication and project alignment, resulting in improved overall outcomes. Developed scalable backend services using Node.js, contributing to a 20% increase in application performance and reliability.

Software Development Engineer (Full Stack)

Tata Consultancy Services
Sep, 2021 - Sep, 20243 yr
    Lead development of pharmaceutical applications using Node.js (Express) microservices, ensuring scalability and reliability. Managed debugging processes for Node.js microservices, optimizing performance and reducing downtime. Implemented Elasticsearch for efficient data storage and retrieval, enhancing search capabilities. Utilized Redis for caching sessions and routes, improving application response times by 40%. Key Technologies: Nodejs, Redis, Heroku, AWS(S3), VVMC, Elasticsearch, React.js.

Software Development Engineer (Frontend)

Opalina Technology
Oct, 2019 - Sep, 20211 yr 11 months
    Led backend development of a Content Management System (CMS) and dashboard using Node.js and MongoDB, improving data management efficiency by 25%. Executed pagination, code splitting, and lazy loading strategies, enhancing application performance by 40% and significantly reducing load times.

Frontend Engineer

Lynkit
Sep, 2018 - Apr, 2019 7 months
    Engineered cross-platform mobile applications for both Android and iOS using React Native, demonstrating proficiency in developing versatile and high-performance solutions. Innovated and implemented reusable components in React, enhancing development efficiency and maintaining consistency across projects. Developed unit tests to validate functionality of codebase, achieving 95% test coverage. Key Technologies: React-native, Redux, Reactjs, Nodejs, Express.

Major Projects

1Projects

P &D (Passenger and Driver) Mobile Application

    Designed and launched a user-friendly mobile application that streamlined passenger authentication via mobile registration, improving user engagement by 30%. Implemented real-time driver status updates, enhancing user experience and increasing driver visibility by 40%. Utilized React Native and Node.js to develop scalable features, ensuring seamless interaction between passengers and drivers in on-demand transportation. Leveraged MongoDB and Redis for efficient data management, resulting in a 25% reduction in response time for user queries.

Education

  • Specialized in Software Development & Problem Solving

    Scaler (2024)
  • BTech in Computer Science

    MITM JAMSHEDPUR (2015)

AI-interview Questions & Answers

Hi, my name is Adil, and I'm from India. Now, I have been living in Delhi for the last five years and working on React and JavaScript sites, actually. My tech stack is primarily React, JavaScript, and so on. Here, I'm working at TCS to manage client-side applications that use technologies like React, Node, and MongoDB. My domain of expertise is in the pharmaceutical industry. This is my introduction. Thank you.

For monitoring, we can use Node.js to print the paper trail to logging and use it for a longer period of time, so we'll save the database for everything. And for performance, we write the list called an e6 way backend service on the structured way to improve performance, and we write an asynchronous way to any issue.

How do you ensure that your components are using different projects? Ensure that your components are these are visible. And so the idea of the components are visible across different points. When we write components in real JS, we write in a way, like, my state component is different from the stateless component, so that we can pass data from one component to another component. So, suppose there's a form component or there's a UI component. We just change, so what we have created is a button component. We'll use this button component throughout our application. We pass it as a prop for styling or some width. So, this way, we can use the component throughout our application, the button component, or any other filled components. In this way, we can use them.

To improve the load time, we can implement lazy load in the ideas. So, we can use lazy load components, and you know, we can use the suppose we are loading the website, so there are different components. Every component, we can separate call from header, separate call from body, separate call from sidebar, there's a different call. So we can use an asynchronous way in that way. So every component faces data from the backend individually, and then the screen is rerendered, not at one time. There are some different timings. The header will load first and then just a fraction of a second later, the sidebar and the body will load. In this way, we can use a synchronized way to achieve this.

So SQL injections, when we post any data when we use any post method or any from postman to Node.js, and so we first of all check the validated data from suppose there was a 2-field input, number and email. So must be number field, must be type of number, and email field such with that email checker. We can use a validate checker so that we can verify the length of this field length of the variable so that we can not give the limit of the length, you can pass any string, any long string. Any okay. So in this way, we can reduce the SQL injection. We can check the length, type, and not just put raw data inside the MySQL. We have to check. We have to implement a middleware here. So we have to check every field. Every field. Not just blindly put the raw data coming from the front end to inside the database. So this way, we can prevent these SQL injections. We can check also there's another script from coming from any field from the UI side. So we had to check this thing.

For this, suppose my MongoDB connection is getting dropped or not active, MongoDB connection. So that time, we can get a 500 error. If my try catch is throwing an error, this might be some misconfiguration of the user model or we pass the parents as the IDs we are passing as the ID from UI, just get the user. And so this way, my try block gets fail, then we reach out to, then my call goes to the catch block, and they will send a 500 error. So this way, we can get a 500 error.

Here, suppose if you do not provide any ID, file update the user, then we go, then we get an error means, okay, then we fall when we do not provide any email and we just check, then we put the request, then we get an email is required. So we necessarily have the ID in params and body. We have applied to email so that it will work. And if this email is not and if the ID is not in my database, then we simply return user not found. So in this line, if user not found, then we do not update the user by ID and update. It will not work if the user is not found in my database. So this way, it might get wrong if the ID is not found in my database because we are going to update the user by ID and update. And if the ID is not present, then we will go wrong here. So we can ensure that here, the ID must be present in my database, then we can update this try block code. Then this code will work. Must be present the user ID. So here, this part gets wrong if the user is not found. We ensure that before we find the user by ID and update, we can also write a line above, "Find the user by ID." If the ID is found, then we go to update. If the ID is not found, then simply send the user not found. So this line, we can write in two lines.

For scaling a moment, we database, we can use MongoDB cluster to use multiple replicas, say, to scale the MongoDB. MongoDB minimum, we can amend a 3 node of the MongoDB to scale the applications. 3 node, at least 3 cluster we can use.

Yeah. When we try to, you know, when we don't try to organize the components or we don't check the rerendering happens, so they can then we can lose from a bottleneck because and suppose we are writing and we're using a useEffect hook and we pass an array, then my then this component is in the end, then it's after my application gets crashed. So we have to check we have to write when we write hooks in a hooks API and like when we write a very clear way and recheck again when we write this thing.

We can write a small functional component and then win together to add one component, so that we can reduce the class component to a functional component. So if for a class component, there are multiple responsibilities, then we can simply reduce the complexity into small React components. In this way, we can use this.