0% found this document useful (0 votes)
3 views

Java Final2 Edited

The document outlines the author's extensive experience in full-stack software development, particularly in Java and microservices, with a focus on back-end development at Illumina and Early Warning Services. It details their technical expertise in various frameworks, APIs, and cloud technologies, as well as their role in developing financial applications and managing complex systems. Additionally, the document covers key technical concepts such as Dependency Injection, REST APIs, and error handling in software development.

Uploaded by

bommusindhusree
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
3 views

Java Final2 Edited

The document outlines the author's extensive experience in full-stack software development, particularly in Java and microservices, with a focus on back-end development at Illumina and Early Warning Services. It details their technical expertise in various frameworks, APIs, and cloud technologies, as well as their role in developing financial applications and managing complex systems. Additionally, the document covers key technical concepts such as Dependency Injection, REST APIs, and error handling in software development.

Uploaded by

bommusindhusree
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOCX, PDF, TXT or read online on Scribd
You are on page 1/ 4

Introduction:

I have over 10 years of experience in full-stack software development, primarily working


with microservices, APIs, and data-driven systems. Additionally, I have experience with
JavaScript, TypeScript, and front-end frameworks such as Angular, React, and Node.js. In
my most recent role at Illumina, I am working as a Senior Full-Stack Java Developer,
primarily focusing on back-end development.

Illumina is a biotech software company that manufactures integrated systems for genetic
analysis. My role involves providing solutions to various vendors by managing vendor
portfolios and processing reports. I develop APIs and services to streamline the delivery of
sequencing and genomic solutions. Our technology stack primarily includes Java Spring
Boot-based microservices and PCF for deployment. On the front end, we use Angular and
TypeScript.

Overall, I have extensive experience as a Java developer, with expertise in both front-end
and back-end development. I have worked with Angular, React, JavaScript, and TypeScript.
On the back-end, I specialize in microservices, REST APIs, and database management.
Additionally, I have experience with messaging systems such as Kafka and RabbitMQ. I am
proficient in CI/CD pipelines, using Jenkins for build and deployment processes, and have
worked with cloud providers like AWS, deploying services to Elastic Compute and Elastic
Kubernetes Service. I also have experience with AWS Lambda functions and DynamoDB.

Experience at Early Warning Services:

I have seven years of experience in full-stack software development, mainly working with
microservices and APIs in the Java ecosystem, with some exposure to front-end
development using JavaScript, TypeScript, and frameworks such as Angular, React, and
Node.js.

In my most recent project at Early Warning Services, I worked on a credit and risk payment
platform that collaborated with various fintech companies to protect financial data and
provide consumer reports. My role focused on the back-end layer of this financial platform,
integrating with different banks and aggregating transactional data from multiple sources.
This data was used to track customers' financial activities, assess risks, and manage
payments. The tech stack included Java, Spring Boot-based microservices, AWS, and
Kafka, with front-end technologies such as JavaScript, TypeScript, and Angular.

Role as a Java Full-Stack Developer:


As a Java Full-Stack Developer, I oversee both front-end and back-end development for
complex web applications. My responsibilities include:

 Designing, architecting, and implementing software solutions that ensure high


performance and scalability.

 Developing responsive, user-friendly front-end applications using React and


Angular.

 Creating reusable UI components, managing state with Redux and Context API, and
optimizing performance through lazy loading and memoization.

 Building and maintaining scalable and robust back-end services using Spring Boot.

 Implementing RESTful APIs and integrating them with relational and NoSQL
databases.

 Utilizing Java 8 and 11 features such as Streams API, lambda functions, and
CompletableFuture to enhance performance and maintainability.

 Leading the development of microservices-based applications using Spring Boot,


integrating services with various platforms and tools, and implementing messaging
systems such as Kafka.

 Collaborating with designers, business analysts, and developers in Agile teams to


ensure timely delivery of high-quality solutions.

 Mentoring junior developers and optimizing application performance.

My current domain focus is financial applications, where I work on handling high-


concurrency applications, large transaction volumes, and real-time data processing.

Concepts and Technical Knowledge:

Q1. What is Dependency Injection?

Dependency Injection is a design pattern where a class receives its dependencies from an
external source rather than creating them itself. For example, in a Spring Boot application,
when initializing components, all dependencies are registered in the application context.
This allows for the injection of service components into controllers, promoting better code
maintainability and testability.

Q2. How to set up a service to read and upload files?


To set up a service for reading and uploading files, we can schedule a job to read from a
specific folder every five minutes. If the files reside on an external server, we can use
Spring Integration to connect via FTP or SFTP, retrieve the files, and upload them to a
different server or location.

Q3. What do you know about REST API?

REST (Representational State Transfer) is an architectural style for designing networked


applications. Key principles include:

 Statelessness: Each request from a client contains all necessary information,


without relying on previous requests.

 Client-Server Architecture: A clear separation between the client and server.

 Uniform Interface: APIs should follow HTTP methods such as GET, POST, PUT,
PATCH, and DELETE.

 Resource Orientation: APIs should represent and manipulate resources in a


structured format (e.g., JSON, XML).

Q4. What is the Choreography Pattern?

The Choreography pattern is a type of Saga pattern where each microservice has an event
handler. Each local transaction publishes changes to a handler, propagating updates to
other events through a publish-subscribe mechanism. This approach allows for event-
driven workflow execution across microservices.

Q5. Why is MongoDB required?

MongoDB is a document-based NoSQL database ideal for storing key-value pairs and
JSON-like structures. It supports Multi-Version Concurrency Control (MVCC), allowing
multiple transactions to run concurrently while reducing conflicts. Features like read and
write concerns, transaction isolation, and lock timeout ensure data consistency and
performance.

Q6. What is SSO?

SSO enables users to authenticate once and access multiple services seamlessly. Key
components include:

 Identity Provider (IDP): Authenticates users using OAuth or OpenID Connect.

 Service Gateway: Routes client requests to microservices and verifies


authentication tokens.
 JSON Web Tokens (JWT): Used for stateful authentication.

 OAuth Protocol: Used for authentication and authorization.

Q7. Can you discuss the concept of rate limiting in RESTful APIs?

Rate limiting controls excessive requests from malicious users or bots, preventing system
overload and resource starvation. Different types include:

 IP-based rate limiting

 User-based rate limiting

 Global rate limiting

 Time-based rate limiting

Q8. How do you manage error handling in RESTful APIs?

Spring Boot provides a global exception handler called @ControllerAdvice, which allows
centralized error handling. Common HTTP error codes include:

 400: Bad Request

 401: Unauthorized

 403: Forbidden

 500: Internal Server Error

Q9. Insurance Domain - Project At Zurich Insurance,

I worked on Policy Center, a back-end application that facilitates the lifecycle of insurance
policies, including provisioning, fulfillment, renewal, subscriptions, and quotes. The
architecture was microservices-based, built using Java and Kotlin with Spring Boot.
Services were containerized using Docker and orchestrated via Kubernetes.
Communication between services was handled using RESTful APIs and Kafka for event-
driven messaging. The database stack included DynamoDB for NoSQL use cases and
Oracle RDS for relational data.

You might also like