profile-pic
Vetted Talent

Subhajit Nandi

Vetted Talent
Seeking position where I can leverage my expertise in object-oriented programming and software development to improve system performance and user experience.
  • Role

    SOFTWARE ENGINEER

  • Years of Experience

    3 years

Skillsets

  • Core Java
  • API
  • Hibernate
  • Python
  • Security
  • JavaScript
  • PowerShell
  • LinkedIn
  • On
  • CSS
  • HTML
  • MySQL
  • Database
  • SOLID
  • SVN
  • REST API
  • JPA
  • JSP
  • Zk framework
  • Tomcat
  • CI/CD
  • Java - 3 Years
  • Spring Boot - 3 Years
  • Spring Boot - 3 Years
  • Spring MVC - 3 Years
  • Spring MVC - 3 Years
  • MVC
  • Oracle Database
  • jQuery
  • Apache
  • Java - 3 Years
  • Oracle
  • AJAX
  • Flask
  • Spring
  • Jira
  • Windows
  • Angular
  • Jenkins

Vetted For

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

Professional Summary

3Years
  • Apr, 2024 - Present1 yr 8 months

    Consultant

    Capgemini
  • Jun, 2020 - Jul, 2020 1 month

    Software Engineer

    Knorr Bremse Technology Centre India
  • Jun, 2020 - Feb, 20243 yr 8 months

    SOFTWARE ENGINEER

    KNORR-BREMSE TECHNOLOGY CENTER INDIA

Work History

3Years

Consultant

Capgemini
Apr, 2024 - Present1 yr 8 months

    Kolkata, West Bengal, India

Software Engineer

Knorr Bremse Technology Centre India
Jun, 2020 - Jul, 2020 1 month

    Handling java web applications .

    Developing new features in the application according to the requirements.

    Fixing JIRA issues related to the application.

SOFTWARE ENGINEER

KNORR-BREMSE TECHNOLOGY CENTER INDIA
Jun, 2020 - Feb, 20243 yr 8 months


    • Oracle SQL Developer
    • Spring Boot
    • Oracle Database
    • Microservices
    • MySQL
    • Java
    • Debugging
    • Spring Security
    • Spring MVC
    • Spring Framework


Achievements

  • Keep it up awards
  • For implementing cyber security fixes in Solid2
  • For valuable contribution in Project Forms
  • For performance improvement in SoLiD
  • For valuable contribution in SoLiD by giving successful releases
  • For implementing crucial features in Solid2

Major Projects

7Projects

SoLiD

Knorr Bremse Technology Centre India
Jun, 2020 - Present5 yr 6 months

    SoLiD is a web application which supports the KB deployment process for brake software and replaces any other way of software distribution, e.g., via email, USB stick or similar.

Kbsoftware

Knorr Bremse Technology Centre India
Jan, 2021 - Present4 yr 11 months

    This web application to provide software from SoLiD application to external customer 24/7.

KEAT-X

    REST API web service that performs CRUD operations with database for its modules.

Project Forms

KEAT-X Technology:

KEAT-X Auto Installer

Helping Hand

Education

  • Post Graduate Diploma of Advanced Computing

    CDAC ACTS (2024)
  • Bachelor of Engineering in Computer Science

    Shri Shankaracharya Engineering College (2024)
  • 12th

    Kendriya Vidyalaya Chirmiri (2024)
  • PG-DAC

    CDAC ACTS Pune (2020)
  • 10th

    Kendriya Vidyalaya Chirmiri

AI-interview Questions & Answers

Yeah. Uh, myself, Shubhajit Nandy. So I'm basically, uh, 4 years of experience having in Java related development activities. So mostly, I'm handling Java, uh, related projects, uh, like the projects in Spring Boot and Spring MVC. And, uh, also, I have worked in JavaScript also and, uh, little bit in the front end side also, uh, such as Angular. So, uh, the main aim of our project, uh, are, like, uh, whatever requirement is have been given, we have to implement new features according to that. And, uh, after that, uh, they we will provide it to the testing team. And, uh, after testing, they will give us the results. If there is any bug found, then we have to fix that. So, basically, I have worked on 4 to 5 projects. I have worked on, uh, 2 projects single handedly because no no developer was there, uh, other than me. So, uh, some project some, uh, we used to do both, uh, type of, like, development type of activities and also some bug fixes also or improvements in the project like, uh, we do in the maintenance. So this all are the projects I have worked, and these are all my experience.

Design pattern, uh, when creating are reusable and modular components, a Java based application. For that, uh, we can use, like, uh, factory design pattern. The usability, we can use the singleton design better. Uh, for example, we have created 1 object, and throughout the application, we will, uh, we will not create it. We will create it once only. And uh, if it is not created, then only we create it. Uh, but it is already there present, so we will reuse it. So object will be created only once, uh, in inside the whole application. So we, uh, for using this design pattern, uh, we can, uh, like, we will do one thing. We will check. Uh, we will make a class. We will have a static, uh, type of, reference 2 of that class. And inside that, we are populating this. Uh, we will do one thing. We will, uh, make the constructor private. And after making the constructor private, we will every time, uh, we we will make a static method and we will check if the object is already exist. If the object is exist, then we will, uh, we will not create we will return the same object. And if object is null, then we will create that object. Also, there are factory design patterns we can use. Factory design pattern based on our input, it will give the output.

For implementing data as a layer, we will do one thing. We will, uh, actually, we will we will extend the JPA repository. And, uh, inside that, uh, we will pass the type, means the custom class for which we want to make the details layer, and we will pass the, uh, primary key. Means the ID of that, uh, of that class. So, uh, JPA is a repository have some, uh, end built method specification which will be actually, uh, which will be actually, uh, users, uh, hibernate, uh, internally, uh, whenever we do it in Spring Boot. So Spring Boot, uh, JPA implements hibernate. JPA's specification, hibernate is an implementation. So, uh, on also, we can do object relation or mapping by, uh, implementing the, uh, POJO classes. Actually, inside the POJO class, we will do at the rate entity and, uh, at the rate table and at the rate entity, uh, we will do. We we will at the rate entity, actually, it, represents, uh, ORM, uh, between the tables in the database and, uh, between the, uh, classes which we make, which represent the database

For, uh, ensuring that the transaction in Spring Boot applications are handled correctly, uh, using asset properties with an SQL database, We can use add direct transaction transactional. We can use add direct transactional, uh, for an for a method which consists of, uh, different types of, uh, activities, uh, which is related to database, uh, mail saving or updating. So at the rate transaction basically means that if the task execute completely, then it will be committed to the database. And if it fails, then it will not, uh, do anything in the database. Database will not be changed, actually. There there will not be any impact in the database. So, uh, we can use add direct transaction, so it will basically maintain the asset related properties.

There are, uh, many techniques to secure a Spring Boot application against SQL injection attacks, uh, integrating, uh, with an SQL database. For example, we everything, uh, anything we put in the URL, we can do encoding, which will, uh, protect us, uh, from different types of attacks. Like, for example, if we are inside, uh, in the URL, we are executing some, uh, queries, right, database queries, or something like that we are passing, and it didn't it it may be going to hit the database. So for that, we have to do URL encoding, which is the safest method, uh, and the most useful technique to, uh, stop the SQL injection. Because, uh, whatever we, uh, write in the URL, it will be encoded in a format. So, basically, it, uh, denies if the attacker want to use some kind of, like, uh, queries indirectly, which will go to the database and, uh, disrupt the database.

Yeah, we can employ declarative trajection management in Spring MVC application by using one, like we have XML. In the XML we can do tx, annotation driven we can do, start, for the transaction we have some particular, we have XML, XML tags for that, we will do it in the spring-security.xml and after that we can use add-direct-transactional, add-direct-transactional basically means that the, it will, it will like execute, the method will execute and if it execute correctly it will affect to the database, it will be impact to the database and if it do not execute then it will not do anything, either it will execute fully or it will do not do anything, so this is the more method of add-direct-transactional, add-direct-transactional are mostly used in the save or update method for example we are doing multiple updates according to one condition which has their related entities also to update, for example we have an employee and department class, so basically we are updating something in the employment and in between while updating department something happens, so we cannot execute the query, so it will like, it will be half done, so it will loss the integrity, so to maintain that we use add-direct-transactional whether everything would be execute fully or there will be no operation.

Actually, in this code, I can see at the rate column name equal to, uh, some different sign in it. Means, uh, we will not have that, uh, backslashes, uh, in at the red column name equal to, uh, in the, uh, 1, 2, 3, 4, 5, 6, 7. 7th line. 7th and 9th line. At the red column name equal to price. These 2 are incorrect statements. Backslashes should not be there. Only the name of that, uh, column should be there. Means, it it should be the correct answer would be at the right column name equal to name only with the double quotes and at the right column name equal to price

Yeah. Actually, uh, if there is no user repository. Yeah. If there is no user repository, then enter it or the word will, uh, have some error because there is no dependencies there. Also, one thing can happen, for example, find by username. If if we do not have this method in the repository, then it will also through some error. We have to declare this in the user repository, and then we can use

For hibernate dot, uh, hibernate persisted, uh, layer, that enforces strong consistency and isolation levels in the concurrent transition. We will use, uh, we will, uh, enable the adjacent annotation. So in the first instance where we can do that

We will basically use the, uh, we will, uh, remove the old HTML semantics, And, basically, in the XSD, uh, in the top of the GSP file, uh, we can use the HTML file directly by using including the the the schema for the same. And so in it will enhance the structure because as we are using HTML 5, then it would be like it will many new things we can get from there, and we can use that. So it will have a good look and feel. Yeah.

Yeah. We can include the JS extension files, and so we can, uh, include it in the HTML or CSS. We can have that JS file. In the dot JSP file, we can do that. Yeah. In the dot GSP, we can use jQuery JavaScript. Everything we can use. So we need to do one thing. We can do that, uh, inside the script. We can include that, uh, write in the JavaScript code or we can do, like, uh, include source.