profile-pic
Vetted Talent

Rahul Bains

Vetted Talent

A focused Software Developer with 3 years of experience emphasizing a commitment to innovation, problem solving and continuous learning

  • Role

    Software Developer

  • Years of Experience

    3 years

  • Professional Portfolio

    View here

Skillsets

  • Java
  • SQL
  • Datastructures
  • Algorithms
  • Oop
  • J2EE
  • Spring collections

Vetted For

11Skills
  • Roles & Skills
  • Results
  • Details
  • icon-skill_image
    Intermediate Java Spring Boot DeveloperAI Screening
  • 52%
    icon-arrow-down
  • Skills assessed : CSS, Hibernate, RESTful API, Spring Boot, Spring MVS, AWS, Git, HTML, Java, JavaScript, SQL
  • Score: 47/90

Professional Summary

3Years
  • Aug, 2022 - Present3 yr 2 months

    Software Developer

    Alphasaker Technologies
  • Apr, 2021 - Jul, 20221 yr 3 months

    Tech Ops

    TCS(Morgan Stanley)

Applications & Tools Known

  • icon-tool

    Spring

  • icon-tool

    Hibernate

  • icon-tool

    Spring Boot

  • icon-tool

    Eclipse

  • icon-tool

    IntelliJ

  • icon-tool

    Thymeleaf

Work History

3Years

Software Developer

Alphasaker Technologies
Aug, 2022 - Present3 yr 2 months
    Contributed in the development of the company's internal tools. Active role in code flow, designed and built REST API's, contributed views and suggestions in discussions.

Tech Ops

TCS(Morgan Stanley)
Apr, 2021 - Jul, 20221 yr 3 months
    Decommissioned over 2000 jobs of different departments at Morgan Stanley while working with the department heads. Worked on multiple projects in java i.e. processing data from CSV files according to our requirements.

Achievements

  • Decommissioned over 2000 jobs of different departments at Morgan Stanley
  • Solved 500+ coding problems in java on different data structures
  • Developed internal tools and REST APIs at Alphasaker Technologies

Major Projects

4Projects

Customer Relationship Manager (CRM)

    A Spring application that keeps the record of your customers updated to your database.

Course Management System

    A Spring Boot application with the records of all students, courses, instructors, and reviews with the necessary mappings.

Quiz Application

    A Spring Boot application which hits free API that gives us JSON data regarding the questions, answers, and other parameters.

Dictionary

    A Spring Boot application which uses a free public API to get the meaning of the words typed in.

Education

  • Undergraduate Course

    Jaypee Institute of Information Technology (2020)

Certifications

  • Introduction to java

  • Data structures in java

  • Java programming: solving problems with software by duke university

AI-interview Questions & Answers

Hello. I'm Rahul Bains, and I was graduated in computer science in, uh, 2,020 from JPS Institute of Information Technology, and I started my development career as a back end developer from TCS where initially I was training Java and Spring, and that is the same technology I used to work in. Earlier, I was in the Morgan Stanley decommission department there in TCS, and I had to decommission jobs from the mainframe to Java platform. And after that, I joined Alpha Secur Technologies in Chandigarh where I was working as a developer in different technologies, but mostly it was, um, Java and Spring only. And I have been working on different technologies and different projects of multiple clients since it was a service based firm. So I didn't had a specific project I was all the time working on. In fact, I had variation of projects I had to work on, mostly CRMs of the clients we used to have.

I'm sorry. I am not exactly getting the meaning of the data transfer objects here. So what I'm getting from this question is most probably, I think you're talking about the injections, DI injections that we use in Java or Spring Boot. So the thing is that with the the injections we use in Spring, whenever there is a it is kind of an outsourcing of the objects rather than using the new keyword and creating a new object all the time. We just create the objects we have to use in spring in the background rather than in the front. So it is like whenever we start our Spring Boot application, all the objects or objects that have to be used are created and injected wherever they have been auto wired and that's how we use the dependency injections. And, uh, hence, the objects are transferred wherever they have to be used from the background of the spring. Our spring configure the spring, I'm not getting the exact word I should be using here. The spring machine, which does everything in spring boot. We call it there's a specific term for it, which I can't remember as of now, but I surely will get on it. Uh, so whenever we have need any object anywhere in our, um, REST APIs or anywhere, like, in our repositories or the services we have been using. We just have to do one thing that we have to auto wire that specific object there and our spring boot configurer just watches that and auto wires or injects that specific object right

So, uh, here, I'm understanding that we are talking about the data processing. Suppose we are extracting our data from some particular web API and we hit that API, and we can use many different kind of resources extract data from that specific API. For example, one of those can be a web client. So whenever we use it, we just use that, um, get hit that API with the use of web client and store it in a particular object or an area of the object. And, hence, we have all that information, which is automatically in spring converted to a Java POJO from a JSON object. And, uh, that is how Jackson in the background itself does all our work rather than getting us to do it. Jackson processes the data or otherwise, we can even do it ourselves by just defining particular entities and linking them with the specific annotations. So, normally, what we do is we just define that entity as a particular class and give all the parameters which are there in our JSON object JSON data as well. So whenever, uh, the API is hit and the data comes to us, the the with the help of Jackson, it is automatically converted into a Java pojo and is stored in our and is stored in our database, we can say, or in our object

I would implement a data access layer in Spring Boot that complies with principle of ORM provided by Hibernate in such a sense that whatever data is coming in is actually extracted first in my data layer in the repository class. Suppose we can consider if it is like a database linked to my Spring Boot application, what I will do is that I will define every kind of instruction or command I have to feed in that particular application. For example, if there is a database linked with products, we can say, so for example there is an e-commerce website, so what will I do, I will first define all kind of methods I can put in that data access layer in Spring Boot like if I have to find that object, so I will find object or define a whole method to find all the objects in the list or find a specific object by ID or if I have to delete an object or I have to add an object, everything will be done in that particular data access layer only because it is the basic layer from where every operation starts and further it can be bifurcated into our service layer and eventually into our controller layer from where we display everything but initially everything starts and the real work is real commands are put there in our data access layer for the development part rather than the business logic which is then particularly defined in our service layer and eventually we all know that the REST APIs are there to actually display the whole data and define our REST endpoints.

increase the performance of sql queries from a spring boot application that heavily interacts with the database to increase the performance of sql queries from a spring boot application that heavily interacts with the database a method to increase the performance of sql queries from a spring boot application that heavily interacts with the database are first of all we need to use some kind of interactive body between them rather than using direct sql queries that is the jdbc or anything else we would rather use hibernate or any orm application to do it which will make our queries definitely more efficient and easier to be defined and process as well so i would not use our basic vanilla jdbc for it since in hibernate also in the background jdbc is the one which interacts with the database and the spring boot application but still we can't say that jdbc is just similarly efficient as much as our hibernate or any other orm application that we use that is why it is better to use the orm applications which definitely increase the performance of the sql queries from a spring boot application

How do you ensure that the transaction has been good application handled correctly using the asset properties with an SQL database. Transactions in the Spring Boot application are handed. Um, I can ensure that transaction in Spring Boot application are handed correctly using the asset properties with an SQL database by, first of all, defining my queries rightly and using the transactional annotation wherever I'm doing a transaction based SQL query is defined or wherever, um, in whichever method it is defined. So I make sure that I use the transactional annotation so that the transaction can be smoothly done. Otherwise, there if I don't use that annotation, it will just cause an error and tell my application and the transaction won't be completed. Other than that, what I can do is that I always make sure that there is not a chaos of my commands and I am not mixing everything in a single method. Um, that is, like, um, I use, uh, the benefits of cohesion here and, uh, that every method is just doing what it is expected to do rather than giving multiple functionalities in a single method.

Analyzing this rest controller method in spring boot. Like, um, any exceptional exception handling that could impact the API consumer experience.

The given hibernate entity spinet. The incorrect part in regards of JPA entity specifications is how the name is written in the column annotation. What we do is we don't have to put at least that. Uh, these, uh, what can I call them, the slash signs? Uh, we just have to write the entity name here rather than the whole name, um, the entity name of the SQL column here. And that's the simplest thing. Other than that, I don't see any other problem. Um, like, uh, the entity is defined on the class head, and the the primary key is given the ID annotation. The generated value is auto. Hence, it's auto incrementing. And other than that, everything seems fine. The only problem here is that we don't use that backslash sign all the time. We just use the name rather than the backslash sign and the inverted commas with along with it inside the inverted commas.

How would you design a hibernate based persistence layer that influences strong consistency and isolation levels in concurrent transactions? I would design a Hibernate based persistent layer that enforces strong consistency and isolation levels in concurrent transaction by making sure that all the transactions are being done rightly, like, uh, are being completed whenever they're being executed, and I would not since I wouldn't want to achieve concurrency here, uh, I would always want to use multithreaded data structures rather than the simple one, and the the processes and processes I should be working with should be

Use of Ajax with jQuery.

How would you apply HTML5 semantic elements to enhance the application?