
As an experienced Senior Software Engineer, I have a proven track record in the information technology and services industry. My expertise spans across Spring, Spring Boot, JPA, Spring Data, Hibernate, JavaServer Pages (JSP), Object-Oriented Design, SQL, JavaScript, JQuery, and React JS. With a robust foundation in Computer Science from my Bachelor of Technology (BTech) degree, I have consistently demonstrated strong engineering capabilities in my professional journey.
Tech Lead
Harman Connected ServicesAssociate Tech Lead
To The NewMember Technical Staff
NEC Technologies pvt ltdSoftware Developer
MCKS Technology Solution LLP
Eclipse

Intellij

Putty

Tomcat

AWS

MongoDB

Java

Javascript

MySQL

Ajax

jQuery
.jpg)
Hibernate ORM

JSP

Putty

AWS

AWS SQS

AWS Cloud Watch
.png)
Keycloak

AWS S3

Highcharts

Apache POI
Okay. So my self's, and currently, I'm working with the Harmon, uh, character services. I'm working here as a a technical lead position. Right? So, uh, so my roles and responsibilities is, like, mentoring my juniors and, uh, whatever the work assigned. Right? So that I need to work on that. Right? So I'm working here as a individual contributor. So while working on this thing, uh, my roles and responsibilities, I used to work on the back end and, uh, front end, both of the things. So I used to work on the at the back end side, I used to work on the Java, Java, Spring, Hibernate, JPA. And at the front end side, uh, you used to work on the Angular features.
What design patterns are beneficial when creating usable and modular components in Java. Okay. So, uh, it depends on the situations. Right? So so for the modular components, I you I have used on the strategy design pattern. Right? So the we have the scenario to create the workflow where the, uh, not into this organization, but in the last organization, I have used this scenario. So where we have created the framework for approval of the user. Right? So let's let's say a user submitted a a request to the server. Right? And that's the request can be approved at a multi multiple level. Right? So if the level if the request is approved by the level 1, it it goes to the level 2. Then if it is approved by the level 2, it is goes to the level 3. Right? So there is a possibility. So in our case, there is total 3 level of the approvals. Right? And at any moment, if the request is the, uh, denied, right, so it will be again back to the original state, and the application will be in the draft state of the, uh, the users with the approval comment, whatever he has. Alright. So for that, we have used the strategy design pattern. Right? So along with the strategy, we have used the, uh, factory as well as the, uh, singleton design pattern. Right? So the singleton design pattern is being used across the all the framework of the string where the component is initialized at only once and can be reused at the all the places.
So for, uh, the controller device can be used for handling the, uh, globally spring boot applications exception. Right? So we can create a class and with the annotations, the controller advice. Right? And there, we can define certain methods with the annotations, uh, where we can define the status code of the HTTP status along on the basis of that HTTP status, the method will be invoked. Right? So let's say, uh, the somewhere from somewhere in the code, we are throwing the s p status, uh, 40, something related to the client, something related to the server, like the resource not found. Right? So on the basis of the resource server error code, the method will be invoked. Right? And the other option is, uh, we can define the exception name as well. Right? So if that exception triggers, right, so the accept the exception occurs in our application. On the basis of that, the exception, uh, that method will be no whoever having the, uh, exceptions names in their annotations.
So just a method include the SQL queries from Spring Boot. K. The performance of the SQL queries from a spring boot application. So, um, for this Okay. So let's say in a situation we are getting, uh, fetching something from the database, and we are pulling all the records, right, and filtering something in at the Java level. Right? So we can filter them into the, uh, database level side. Right? That's the one major thing we can do it for the improvement of the queries, uh, of the Java APIs. The second thing is, like, uh, in that let's say we are using the join queries. Right? So or the the table which has the used data and filtering something, so we can filter the records on the basis of the indexes. Right? So the you we can check the indexes is being used while fetching the query or not. Right? So we can, um, check that. Right? And, uh, the third option is the caching. We can use the cache in the, uh, Spring Boot app application. Right? So if anything, like, we are calculating in each and every request, and the request quite similar for all the, uh, request. Right? So we can calculate it once and put it somewhere into the cache and get it again and again. Right? So
Okay. So against the sequel injection, uh, we can use the prepared statement. Right? So instead of appending the parameters, whatever we are getting from the user request, we should be using the placeholder. Right? So the through the placeholder, we can avoid the SQL injections. Right? And there is also some script we can add into the spring filter. Right? There we can use check, like, are we allowing anything something related to the SQL keywords. Right? So we should be stop the request or restrict the request to the, uh, at the filter level and send it to the error, to the user back.
To configure second really one of caching. Okay. So the for the secondary level of cache, we can use the e h cache. Right? So, uh, through the application or property or if you are using the properties, uh, application or property for the, uh, spring application, There we can define the option. Right? And, uh, in the query where whenever we are, uh, calling to the spring application, we can use the, uh, cache hints. Right? Through that, we can enable the second level of the cache to get the, um, record faster. Like, the record is should be somewhere stored already.
Okay. So in this code snippet, the, uh, attributes should be private. If you're the attribute should be modified only through the getter and setter. Right? So so that we can achieve the encapsulation. Right? So the the attribute, if you want to add any kind of the restriction or any kind of the, uh, uh, additional features. Right? So that can be achieved through the data center. So the problem here is this code is only the I I can see right now is access modifier. That should be private.
Give you the following Java snippet with the spring annotations. Now why this course might lead to a runtime issue when using Android and how do you resolve it? Okay, Sudh. Problem with might be with this repository is, uh, possibly, uh, if there are 2 classes, Right? 2 attributes. Uh, 2 not the attributes. 2 beans exist in the spring bean container with having named user repository. Right? So either none of the bean finer more than one bean occurs into the bean container. So possibly in that case, uh, this, uh, code snippet can throw the exception.
Okay. So we can define the isolation level, uh, and the concurrency level at the using annotations. Right? So the con solution in the concurrent transactions. So each and every time, the data should be added, uh, whatever it it wants to update, that should be directly updated in the database. Whatever you you want to read it, it should be, uh, read from the database. Right? So for that isolation, we can use the serializable isolation. Right? So each and every moment that ensures the data should be updated directly into the database. Right? Where the 2 concurrent transactions will not have the, uh, you know, dirty lead kind of the scenario.
Okay. So the edX, uh, is the feature to, uh, where the this enables users to get the data without refreshing the page. Suppose, uh, we have a web page, there, we have the some kind of the header and the left side navigation and something. Right? So on the basis of the user action. Right? So a certain portion of the page is updating. Right? So, um, so so in that case, as soon as user trigger the actions, right, so the AJAX request should be sent to the back end. Right? And the back end only returns a particular part of the HTML part. Right? So if you are using the rest APIs. Right? So it or AJAX only returns the data from the, uh, get the data from the back end that is required to be refreshed, um, specific on the page. Right? And, uh, uh, the back, uh, the front end will get the data from the back end and whatever it wants to manipulate on the add something HTML to the that section that can be rendered to the web page.
I'm not sure about this question.