profile-pic
Vetted Talent

Sushil Munda

Vetted Talent

A B.Tech graduate from IIT Guwahati in Chemical Engineering, I leverage technical skills in AWS, React, and Node.js to build durable and efficient systems. Motivated by a commitment to excellence, I aim to simplify complex problems through innovative development practices while contributing to impactful, data-driven so

  • Role

    Software Development & Jira Engineer

  • Years of Experience

    3 years

  • Professional Portfolio

    View here

Skillsets

  • HTML
  • WebSocket
  • VS Code
  • TypeScript
  • Postman
  • PostgreSQL
  • Nodejs
  • MySQL
  • Jira
  • Jest
  • JavaScript - 2.5 Years
  • GitLab
  • Github
  • Git
  • Express
  • CSS
  • Bootstrap
  • AWS
  • react - 2.9 Years

Vetted For

5Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Full Stack Engineer - RemoteAI Screening
  • 54%
    icon-arrow-down
  • Skills assessed :AWS, JavaScript, MongoDB, Node Js, React Js
  • Score: 43/80

Professional Summary

3Years
  • Oct, 2024 - Present1 yr 5 months

    Regular Software Development Engineer

    IQVIA RDS (India) Private Limited
  • Jul, 2022 - Sep, 20242 yr 2 months

    Associate Software Developer

    IQVIA RDS (India) Private Limited

Applications & Tools Known

  • icon-tool

    GitHub

  • icon-tool

    Postman

  • icon-tool

    VS Code

Work History

3Years

Regular Software Development Engineer

IQVIA RDS (India) Private Limited
Oct, 2024 - Present1 yr 5 months
    Design and developed robust, scalable and high-performance software solutions using JavaScript, TypeScript, AWS Cloud storage solutions. Integrated third-party APIs ans services including Microsoft Graph APIs and Office Add-ins platform, ensuring seamless user experiences and functionality across platforms. Implemented unit tests, integration tests using Jest and React Testing Library(RTL) to ensure high-quality and bug-free code, reducing post-release.

Associate Software Developer

IQVIA RDS (India) Private Limited
Jul, 2022 - Sep, 20242 yr 2 months
    Assisted with the design/development of software solutions requiring general domain knowledge and limited business experience. Worked at all layers of the application stack including front-end user interface and backend development. Troubleshooted code issues and evolved IQVIAs platforms to meet user requirements/needs. Participated in the review of functional specifications and other validation deliverables as assigned. Developed an introductory understanding of industry and IQVIA-specific quality standards.

Major Projects

1Projects

CUSTOMER BUYING EXPERIENCE

Oct, 2022 - Present3 yr 5 months
    Designed and implemented the user interface using React, ensuring the table is highly responsive and supports real-time updates. Created RESTful APIs using Express to handle client requests for adding, modifying and deleting table rows/columns, ensuring the backend logic is robust and optimized. Implemented real-time updates for concurrent users, ensuring that all changes made by one user are immediately reflected in the UI of others using WebSockets. Wrote unit and integration tests to ensure the stability and reliability of the application under various use cases using Jest and RTL. Developed an integration solution using Microsoft Graph API to send email from Outlook within application. Integrated the Word Add-In using the Office JavaScript API and Office Add-ins platform enabling seamless interaction between the web application and Microsoft Word.

Education

  • B.Tech in Chemical Engineering

    Indian Institute of Technology, Guwahati (2022)
  • Science - CBSE

    Jawahar Navodaya Vidyalaya, Sundargarh, Odisha (2017)

AI-interview Questions & Answers

The time complexity will be of n square. If array one has a length of n and array two has a length of n, then the time complexity will be of n square. Or if, uh, area one has a land, uh, length of m and array two has a length of and then the time complexity will be m into n.

So, basically, here we are trying to find, uh, the target element. From this array, we need two elements. Full summation will be the target element. So here, uh, what we can do, we can, uh, have a hash table where we can put the subtraction from the each element from the target element, and, uh, we can have this, uh, data in one hash table. And when we are iterating through each array, we can, uh, just check the who's over the subtraction of target element minus the element is present in the hash table. We can extract the element if that is present in the area or not. So in that way, we can just, uh, uh, we can have, uh, the required element, uh, required two elements from the, uh, array. So that way, we can have a better time close to which can reduce to, uh, of n. And it will be the area of, uh, length.

So here, the first issue, what I can see is the it's service one down. So it is a function. So we need to first, uh, test the, uh, definition or, uh, declaration of this is service one down, first of all. Then because, uh, currently, uh, if that is not present, then it will give us a it will throw an error. So then if we'll go to the next statement next condition So it's referred to services which, uh, currently is a coming through parameter, and it's, uh, present. So it's, uh, problem says that all the parameters are passed correctly. So it's fine. Then, uh, if we go to next statement, it says it should split load. So, uh, here as well. So so the speed split load is, uh, not we need to check if it's defined or not. Then, uh, if we go inside, we have a, mhmm, if, uh, condition, which says that each time consuming or each premium. So these two are, uh, coming through parameters, so it will, uh, work properly. Then if any of them it's, uh, or any one of them is true, then it will, uh, execute the return service one. So each return service one is also, uh, uh, if it's there, it will be working correctly. Then, uh, if, uh, both of this is time consuming or is premium is first, then it will, uh, go to next step when we return service two. Then, uh, we have in, uh, another if condition, which is split load only for premium. So and, uh, here, uh, I think every function is, uh, all functions used are also working correctly, it says. So if it's, uh, fine, then, uh, uh, it will, uh, execute the each premium and the return service one. So, uh, this problem says that, uh, every functions are declared and, uh, all parameters are passed. So we need to check the, uh, return type of it. So based on the is premium is true or not, then we need to, uh, return the, uh, service one. And if, uh, if uh, is premium is fast, then we need to go for service two. Okay? So and, uh, we have here, uh, service one is fast and premium service, and service two is, uh, it's slow and nonpremium. So, uh, based on these two parameters, is premium or is time consuming. So it's time consuming, then then we need to go for, uh, and go for the service one if we have is premium is true. Okay? And, uh, the last uh, so from this, uh, function, uh, which service to use if everything is, uh, false, like, uh, if you're not going with the premium one, it's pretty much false, and it's time consuming is is also true, then, uh, it will be our return service, uh, return service too. So yeah. So, uh, like, that way, we need to test each scenario here and

Okay. Given two lines segments, can you give the logic to know, uh, whether these two lines has been overlaps or not? Okay. Start and end points to be inclusive. Can you give me the logic to know whether these two lines has been coalesced or not? Okay. Line one. Start. Line one. Line one. Two. And okay. Six six seven. Five six seven. Yeah. To, uh, uh, check the overlap here, we can just, uh, so we have a line one start and line one end. Okay? So if line one start is greater than, uh, line two's line two start, then it will overlap. And if, uh, line one end is, uh, greater than, uh, line two start, so then then that condition also, it's overlapping. Then, uh, so first condition will be the, uh, line one start if, uh, is greater than line two start. This is the first condition, and, uh, the second will be the line one end if, uh, is greater than line two start, then in that condition also, uh, line will be overlap. Then, uh, the line, uh, two, uh, one condition will be also there. Like, if line two end is less than line one end is line, uh, less than line two end. So, uh, let me just, uh, recheck. Yeah. So, uh, this, uh, from this, uh, two dimensional area, so each, uh, line one and line two will be, uh, will not does not, uh, overlap if, uh, line one start is less than line two start. And if, uh, line one ends is less than line two start, end, uh, the line one end is less than also, uh, line two end. So in that case, it will not overlap. In other other case, it will it will be overlap overlap.

Okay. We have, like, uh, user defined, then, anyways, we're back together, uh, calling an API. Post. Okay. Count. 10 response. So, basically, here, we are trying to call an API to, uh, what we are trying to do here, It's under stringify dot count. Okay. We're fetching the, uh, count. We'll do here from the API. Uh, no. No. No. We are, uh, what we're doing here? But, uh, if we let's see. Increment twice. Uh, increment twice, if you are doing, then we should increase the value by two, not by one. Okay. And set count. Okay. So here. So here we have the issue, basically. So here, the this set count count plus one and the set count count plus one. This will, uh, increase by one only. So if you are to executing, uh, if you are trying to increase by two, then why can't we just increment count plus two? Uh, and, uh, set the const decrease decrement. If count is greater than zero, set count minus one. Okay. It's look good if we are trying to decrease by one. Yeah. If count is greater than we are decreasing. And here, uh, I'm not getting why we are what we are doing to trying to do here. Method post and JSON to stringify. JSON dot, uh, stringify. Okay. We are creating a I'll do here. There we are. Uh, so we'll be our will be passed here. And yeah. So we need to handle the, uh, error here as well. So, like, um, whether this, uh, call API call is getting passed or not. So based on that, uh, maybe we need to execute once. But, uh, we need to, um, so, uh, if we are trying to save the data or care data, uh, this so this this user, it will be called once. Okay? So during mount of this component. So, uh, and, uh, some method says that it it will be create post. It will be create one record in the table. But, uh, it says, uh, if if you don't have any dependency, then it will not be executed later. So we need to have a dependency on that if you're trying to create a, um, record for this count. Right? Yeah. Yeah. There's two issue I can see in this, uh, Versus code, and this is component log. Sorry. Add component.

Are there any box in the in function that, uh, returns total number of occurrence of a target into an area? Okay? How would you improve the function's credibility? And so is the best that should be followed. Okay? We need to check the occurrence of air. We can have total number of occurrence of the target in '21. Okay? Mhmm. If, uh, not under return. Okay. Error less than zero, I can return. Okay. For where, uh, a dot I equal to b, global account plus one. Global count plus b. This is the target element. Then why we are adding this to global account? We just need to the we just need to, um, increase by one, right, whenever there is a matching of the b in the array. This is the one error. And, uh, to increase the readability, what we can do So, uh, we don't need to, uh, I will need to check if the array is present or not, okay, if if we are not passing anything. So, uh, so first of all, what we can do, uh, so we are checking from. So why why can't we define the, uh, the type of, uh, parameter we are passing for the a? We just uh, if I need to a, so we just we will be, uh, this if first can first second will be removed. So we just need to check if the array dot length is greater than zero. Uh, if less than, uh, if less than zero, then less than equal to zero, then we just need to return. Okay? Then, uh, we have a global count. So global count can be, uh, kept inside the function. Just we need a we are just we need to just return the global count. So why we are keeping this variable our count outside, we can just have inside because each time with this function, it will get called. We need to just unless in slightly zero, then we need to return the the occurrence of the b. You know? Then global count plus b. And here, uh, I see the we are adding local count to we just we are adding target count to global count. It's not correct. We should increase by one with each time time we are getting the occurrence of b in the array. And, uh, to check the redouble, we have, uh, for array, we have for each method, for each or, um, which, uh, look through the same for to with e with each occur with each element, uh, okay, for a in for a of array, we can just check if a if a equal to equal to, uh, for item in array array array. You can just check if, uh, and then you can just increase the global count. Yeah.

You have the following queries on the MongoDB order collection, and the performance is slow. Provide detailed plan on how you can optimize this query. Okay. Data and the profile is slow. Provide detailed plan on how you can optimize these queries. Okay. And these are slow. We are trying to find a customer ID where the customer is 12345, then find status, you will shift. Total amount is greater than 100. Under high end customer, you want to reset the shift. Sort. Sort, uh, and then total amount one. Total amount. So we need to restart. Okay. Performance slow. So, uh, basically, uh, this performance will be slowed where we have a lot of data, uh, in the table. So, uh, for the first query, if we see, we are trying to, uh, paste the data, uh, using customer ID 12345. So if, uh, we have lot of records, uh, with the customer ID, so, like, I'm aware of 10,000 or something, so it will, uh, it will be slowed. Okay? So for that, uh, we can, uh, have for this, uh, no SQL databases, basically, uh, we have we can have the, um, elastic search, uh, uh, where we will, uh, use these, uh, queries and all, which will, uh, increase the, uh, the queries time. Okay? And, uh, and then to query the customer ID, one to three, we can have the other query parameters as well. We which will enhance the, uh, the the query here. And, uh, we have a primary key and, uh, secondary key. Okay? So if, uh, we have, uh, this customer ID ID is a primary key, and and, uh, we can keep another, uh, key, the secondary key, which will, uh, help us to improve the the query time, and it will make faster. Okay? And in the second as well, we can pass the, uh, primary key and secondary key to the, uh, the queries here and which will, uh, which will which will help us to to, uh, increase the, uh, the query time. You know? So yeah. So in the second also, if we have, uh, considered the the customer ID as a primary key, then we will so it will help us to, uh, increase the performance here. Right? And then we are just sorting the, uh, out of the amount. You know? Yeah. So that is the one approach. So other one will be the create a primary key and secondary key. If, uh, we are creating customer as a primary key, then it will help us to increase the query time. And, uh, if if we have a second key as well, that will also can help us the, uh, help us to reduce the, uh, query time. And, uh, and then that we can use the different, uh, that that is a different option. So that is a that we'll do it if, uh, we'll go next on that. So that what what I said is, uh, the elastic search and other tools, uh, which will enhance the query time. Yeah. Other than that, uh, it looks fine here. So and, uh, or else, uh, we can, uh, limit limit the count if required because that will also, uh, uh, which we which we call pagination, basically. So we limit the, uh, query reading to some, uh, uh, extent somewhere, uh, uh, some 5,000 or a 100 somewhere. Some somewhere where it can, uh, increase your performance here. Yeah.