profile-pic
Vetted Talent

Kumar Sagar

Vetted Talent
.Net fullstack developer, utilizing my ~6 years of experience in developing, executing, testing and deploying successful WEB, Desktop and Reporting applications. Developing re-usable utilities within project and following best practices in .Net technologies. My goal is to develop safe, stable and quality product while delivering exceptional results and exceeding goals for the company.
  • Role

    Full Stack Developer

  • Years of Experience

    6 years

Skillsets

  • UWP
  • MySQL - 6 Years
  • Azure DevOps - 5 Years
  • Rest APIs - 6 Years
  • Git - 6 Years
  • MVC - 6 Years
  • SQL - 6 Years
  • .NET - 6 Years
  • SSMS
  • EF
  • JavaScript - 5 Years
  • WPF
  • Web API
  • .NET Framework
  • .NET Core - 6 Years
  • SQL Server
  • C# - 6 Years
  • AJAX
  • Angular

Vetted For

16Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    .Net Full Stack Developer (Onsite, Bengaluru)AI Screening
  • 62%
    icon-arrow-down
  • Skills assessed :Angular Js, DevOps Knowledge - CI/CD Pipelines, react, Scrum framework, CSS, MS SQL, Oracle, .NET Core, AWS, Bootstrap, C#, Git, HTML, JavaScript, jQuery, MySQL
  • Score: 56/90

Professional Summary

6Years
  • Oct, 2022 - Present3 yr 8 months

    .Net Fullstack Developer

    Boeing India
  • Jun, 2020 - Sep, 20222 yr 3 months

    Programmer Analyst - .Net Developer

    Boeing India
  • Jul, 2018 - May, 20201 yr 10 months

    System Engineer

    INFOSYS

Applications & Tools Known

  • icon-tool

    ADO

  • icon-tool

    GitLab

  • icon-tool

    CI/CD

  • icon-tool

    Azure DevOps

  • icon-tool

    SonarQube

  • icon-tool

    TFS

Work History

6Years

.Net Fullstack Developer

Boeing India
Oct, 2022 - Present3 yr 8 months
    Developing an in-house Web Application which enables the manager to fetch all kinds of report, create tasks for engineers and locate them in the factory floor. Developed the app using ASP.NET MVC, Javascript, AJAX, Web API and SSMS. Working in DB Design and API Architecture. The code repository and CI/CD Pipelines are maintained using Azure DevOps. Initiated and led the deployment on Cloud PCF and worked Cloud Migration to TAS.

Programmer Analyst - .Net Developer

Boeing India
Jun, 2020 - Sep, 20222 yr 3 months
    Developed and automated the application which replaces the paper work on factory floor. The app uses UWP (Universal Windows Platform) with MVVM architecture similar to WPF. Maintained code quality by using Re-sharper and SonarQube. Worked in UX redesign and on application architecture. Worked above and beyond for another application that helps in tracking hazardous material using Angular, .Net Framework and SQL Server.

System Engineer

INFOSYS
Jul, 2018 - May, 20201 yr 10 months
    Developed MVC Application that calculates commission for employees in Retail stores and developed SSIS Application that generates report for Business to make multi-million $ buying decision for demand and supply in market. The application is developed using C#, MVC5, Entity Framework, SQL Server, SSIS, TFS. Worked in Designing Commission Calculation procedures and reduced the overall SSIS job timing by 40% leading to improvement in efficiency in turn generating revenue for the client. Automated the complete support process by using Python.

Achievements

  • Finalist for I2P (Idea to Product) Hackathon
  • Winner for STAR Employee Development Program
  • Reward and Recognition from Senior Managers for delivering quality work
  • Award and recognition for conducting safe and quality code practice session at Company Level

Major Projects

5Projects

In-house Web Application

Oct, 2022 - Present3 yr 8 months
    Developing an in-house Web Application which enables the manager to fetch all kinds of report, create tasks for engineers and locate them in the factory floor.

Application to replace paper work on factory floor

Jun, 2020 - Sep, 20222 yr 3 months
    Developed and automated the application which replaces the paper work on factory floor. The app uses UWP (Universal Windows Platform) with MVVM architecture similar to WPF.

Another application for tracking hazardous material

Jun, 2020 - Sep, 20222 yr 3 months
    Worked above and beyond for another application that helps in tracking hazardous material using Angular, .Net Framework and SQL Server.

MVC Application to calculate commission for employees

Jul, 2018 - May, 20201 yr 10 months
    Developed MVC Application that calculates commission for employees in Retail stores.

SSIS Application for generating business reports

Jul, 2018 - May, 20201 yr 10 months
    Developed SSIS Application that generates report for Business to make multi-million $ buying decision for demand and supply in market.

Education

  • Bachelor of Technology in Computer Science and Engineering

    PSIT Kanpur (Dr APJ Abdul Kalam Technical University, Lucknow) (2018)

Certifications

  • Developing on aws by amazon

  • Safe agile

  • Safe coding practices

  • Html5 certificate

  • Certificate of internship from infosys

AI-interview Questions & Answers

So brief introduction about myself is, I have been working as a full stack developer, and my complete experience is in dot net. So I have also worked on a variety of dotnet applications, be it reporting applications, be it databases using MySQL or SQL Server. I have worked on web applications and desktop applications. Apart from that, I have also experience with server-side programming. Apart from developing applications, I also have experience in automation using Selenium and Appium. So I can develop automation tests. I also have experience in DevOps. I am responsible for creating CICD pipelines and also for managing all releases. Currently, I am working on a web application which has several microservices interacting with each other and a UI which interacts with these microservices. So we have implemented some multi-threading as well, and we are using entity framework. We have also used the cloud for our deployment processes.

My team got to my legacy.netalvision.netcore. And how would you handle data migration from MySQL to MSSQL in this process? So migrating an application from.NET to.NET Core is a little bit difficult, but it is achievable. So first of all, we'll have to install the.NET Core version in which we want to migrate it, to let's say, the latest one is.NET 8. So when we are trying to migrate to.NET, there's a lot of functions that have been replaced. The code-wise, it will be very simple because both places the code would be in C#. So it is easier to modify the code. However, some functions have been modified from.NET Framework to.NET Core. So we'll have to take care of which function to use and what are the replacements of those methods, which have existed already. And also, migrating MySQL to MSSQL will face problems with stored procedures and triggers if we have any in the database. The integrity, meaning the relationship between the tables, will be the same because both are relational DBMS. So in that way, it will be easier to perform the database migration.

With the potential risk of not following the SOLID principle when developing a new model. So if you're not following the SOLID principle, it is very easy to introduce a bug in the code and which is very difficult to rectify and point out, like, where the bug is. So SOLID principles help us reduce code redundancy also, and they help us achieve scalability in the application. So, starting with SOLID, it's the Single Responsibility Principle. So it allows a class to have only one reason to change. So now there is the Open-Closed Principle. This means a class should be open for extension, but closed for modification. L is the Liskov Substitution Principle. Lower-level classes should not depend on high-level classes, and high-level classes should depend on abstraction. Next is I, which is the Interface Segregation Principle. So it is similar to what we have for classes. The interface should also not be overloaded if it is responsible for different interfaces. It should be defined separately and then can be used in any class. These dependency injection principles help us a lot because we are not creating the object every time using the new keyword. So wherever the service or the view model or anything is required, this can be directly injected and can be used throughout the application. So this is how we can mitigate.

Would you apply the repository pattern in a.NET Core application to start? How do you apply the repository pattern in a.NET Core application to abstract data access? The pattern we follow is the MVC pattern. So we have the model, the view, and the controller. So models are a representation of what we have in the database, or we can say, the repository. So models will be that, and then we have the view models. View models are what we are going to display to the view. So, not all properties of the models are required to be displayed in the view. Only a few will be required. So that is why we are using view models, and we'll perform a 1 to 1 mapping if required. And for establishing database connection, we can use the program.cs file, and we can have our DB connection details there. So it will be established only once, and we can host the service and a provider. And then whoever wants to subscribe it can have it because it is already hosted. So we will have our services managing the business logic. So let's say from the view model, we are getting the name, and then we are separating the first name and the last name, and then giving it to the model to update the database. So using the DB context. So that is how we'll have the service in between. And the controller will be responsible for managing the views, but it will not have business logic.

So multi-tenant application. I haven't used multi-tenant application. So in order to establish a connection with all the databases, we have to have different DB contexts, and we have to create the connection so that the program sees it accordingly. Dotnet Core provides this facility to create connections with not only MSSQL, but also Oracle and MySQL. So we can have different DB connections. And then, let's say we have one table in the Oracle database and another table in the MS SQL. So we have to use different DB contexts, and then we can populate the models of both these databases and then do business interactions among them. So how to design it is, as I mentioned, using a program with a CS file where you can service the DB connection.

Notion will leverage the framework's caching capabilities in this query. So, using the caching is very easy. Let's say when a person is trying to log in to the application, we will hit the DB only once and get the user details, and then we can cache the user details in the cache. We need not go to the DB every time and retrieve the user details in order to perform any actions while he's on the system. We can set an expiry for the caching, like after these many minutes or if the system is idle for this much time, we can remove the cache thing, and then the service goes back to normal. The other ways we can use caching is to store the JavaScript that we have in it. So, let's say if I'm uploading a new feature, we have to modify the JavaScript, and that is already cached in the web browser. So first, you have to clear the cache and then reload the page so you'll be able to see the new changes also. That is how we can make use of caching.

Let's store the modified data into a variable called result, and then use console.log to print that result value. So, we first store the result of modified data into some variable. Let result be able to modify data, and then console.log that result value.

Select name, max salary, count from employees group by department. Counting, so in the group by, we'll have to have name, salary, and department because the number of the property that we are putting in select column, that property also has to be in group by as well. So that is the error. We'll not be able to get the proper results. So having count of departments greater than 5, we have to instead of count, we can have count. I'm assuming it is count of departments, so count of departments than 5.

What is the most efficient way to synchronize real time data between a.NET Core application and connected clients using SignalR and a React frontend in consistency with the back end MS SQL database is to follow a master-slave database design. So we can have the right operations onto the master database. And whenever you are trying to read, we can read it from the slave database. It depends on the industry we're trying to serve here. So if it's a transactional Fintech company, and we want the transaction to be reflected as soon as the operation is open. We'll have to set up the cloud settings so that it is highly consistent. So it will perform the right operation accordingly and update the slave database. This is one of the efficient ways.

Can you describe the process for setting up a DevOps workflow in a.NET company that includes automated testing and deployment to AWS Cloud deployment? So, to set up the workflow in DevOps, first, you need to set up your code repository. To set up the code repository, you first have to establish a service connection. Let's say the code repository is in Azure DevOps. So, you'll first have to get the service connection from there. To get the service connection, they provide something called a token. Within that token and password, you will have to create a service connection in your CI or CD pipeline. For testing and deployment, for testing, we can do is in a CI pipeline called this integration pipeline, we can add a step to run the tests from our build, which will generate. So, there's a particular step to run the unit test. You can mention what should be the name of the file, like using a label like "unit test" or "integration test." For deployment, you will have to set up another release pipeline, which will deploy it to the cloud. So, for deploying it to the cloud, you'll first establish a connection. Using PowerShell, you can establish a connection using the username and password, and then choose the environment where you want to deploy. If you have, like, prod stage and dev all in one place, so then you can choose which one you have to deploy to, which is known as the space on cloud. So, after choosing the space, you'll have to perform a CF push. So, there's a PowerShell script code. You can use that also.

What do you recommend for securing the VPN points? So in order to transport the data from a React application front end to.NET Core Web API endpoints, there are a lot of ways for and several places that we can put. 1st is we can have the API key sent from the application to the.NET Core Web API, which we're trying to access. Authenticate it, and we can authenticate it on the API side. So that is 1 way. In order to implement this API key auth, we can have our own attribute added. In order to have that attribute executed, we'll have to implement an IAsyncActionFilter, which takes two arguments: the action indicator and the action context. So you can write your logic there, and then at the end, you'll have to put await next, so the next action can be executed. The action is our control method where we will handle the request made by the client side. Apart from that, we can use JWT tokens. JWT tokens follow up a public and private key. The public key will be given to the client, and the private key is already stored on the server side. So what we do with JWT is we try to encrypt the data before sending it over the network. We encrypt the data, serialize it, and then send it over the network. Then on the server side, we can decrypt the data from the JWT using the JWT token's private key, and we can have different levels of security.