i
Capgemini
Filter interviews by
ControllerAdvice in Spring Boot is used for global exception handling in RESTful APIs.
Create a class annotated with @ControllerAdvice
Use @ExceptionHandler to define methods to handle specific exceptions
Use @RestControllerAdvice for returning JSON responses
I would implement timeout mechanisms and retries to handle the scenario of one microservice awaiting a response from another microservice taking an extended time.
Implement timeout mechanisms in the calling microservice to limit the waiting time for a response.
Set up retry logic to automatically resend the request to the slow microservice if no response is received within the specified timeout period.
Use circuit br...
Java 8 introduced static and default methods in interfaces, allowing for method implementation and code reusability.
Java 8 introduced static methods in interfaces, allowing for method implementation directly in the interface itself.
Default methods were also introduced in Java 8, enabling interfaces to have method implementations without affecting implementing classes.
Static methods in interfaces can be called usin...
Configure JDBC in Spring Boot to specify which database to use
Define multiple DataSource beans in the configuration class
Use @Primary annotation to specify the primary DataSource
Use @Qualifier annotation to specify the secondary DataSource
Inject the DataSource beans where needed in the application
What people are saying about Capgemini
No, the program will not compile if the parent class throws a runtime exception while the child class throws an arithmetic exception.
In Java, if a parent class method throws a checked exception, the child class method can only throw the same exception or its subclasses.
ArithmeticException is an unchecked exception, so if the parent class throws a checked exception and the child class throws an unchecked exception,...
RequestParam is used to extract query parameters from the URL, while PathVariable is used to extract values from the URI path.
RequestParam is used for query parameters in the URL, while PathVariable is used for values in the URI path.
RequestParam is optional, while PathVariable is required.
RequestParam is used with the @RequestParam annotation, while PathVariable is used with the @PathVariable annotation.
Example: ...
To use a Jetty server in a Spring Boot application, you can configure it as a dependency and customize its settings.
Add Jetty server dependency in your pom.xml file
Exclude Tomcat server dependency if it's included by default in Spring Boot
Configure Jetty server settings in application.properties or application.yml file
Example: Add Jetty dependency - <dependency> <groupId>org.springframework.boot</gr...
ArrayList and LinkedList are both implementations of the List interface in Java, differing in performance and memory usage.
ArrayList is backed by a dynamic array, while LinkedList uses a doubly linked list structure.
ArrayList provides faster random access (O(1)) due to its array nature, e.g., list.get(5).
LinkedList excels in insertions and deletions (O(1)) at both ends, e.g., list.addFirst(value).
ArrayList has a f...
A singleton is a design pattern that restricts a class to a single instance and provides a global access point to it.
Ensures only one instance of a class exists throughout the application.
Provides a global point of access to that instance.
Commonly used for configuration settings, logging, and thread pools.
Example in Java: Using a private constructor and a static method to get the instance.
A singleton class ensures a class has only one instance and provides a global point of access to it.
A singleton class restricts instantiation to a single object.
It is commonly used in scenarios where a single point of control is needed, like logging or configuration.
In Java, a singleton can be implemented using a private constructor and a static method to get the instance.
Example: public class Singleton { private ...
I applied via Approached by Company and was interviewed in Dec 2024. There was 1 interview round.
Java 8 introduced static and default methods in interfaces, allowing for method implementation and code reusability.
Java 8 introduced static methods in interfaces, allowing for method implementation directly in the interface itself.
Default methods were also introduced in Java 8, enabling interfaces to have method implementations without affecting implementing classes.
Static methods in interfaces can be called using the...
HashMap is a data structure that stores key-value pairs and uses hashing to efficiently retrieve values.
HashMap uses an array of linked lists to store key-value pairs.
When a key-value pair is added, the key is hashed to determine the index in the array where it will be stored.
If multiple keys hash to the same index, a linked list is used to handle collisions.
To synchronize a HashMap, you can use the synchronizedMap() m...
No, the program will not compile if the parent class throws a runtime exception while the child class throws an arithmetic exception.
In Java, if a parent class method throws a checked exception, the child class method can only throw the same exception or its subclasses.
ArithmeticException is an unchecked exception, so if the parent class throws a checked exception and the child class throws an unchecked exception, the ...
Configure JDBC in Spring Boot to specify which database to use
Define multiple DataSource beans in the configuration class
Use @Primary annotation to specify the primary DataSource
Use @Qualifier annotation to specify the secondary DataSource
Inject the DataSource beans where needed in the application
I would implement timeout mechanisms and retries to handle the scenario of one microservice awaiting a response from another microservice taking an extended time.
Implement timeout mechanisms in the calling microservice to limit the waiting time for a response.
Set up retry logic to automatically resend the request to the slow microservice if no response is received within the specified timeout period.
Use circuit breaker...
I applied via Naukri.com and was interviewed in Dec 2024. There was 1 interview round.
SOLID principles in Java focus on object-oriented design principles. Java 8 features like lambdas and streams adhere to these principles.
S - Single Responsibility Principle: Java 8 lambdas allow for defining single-purpose functions.
O - Open/Closed Principle: Java 8 streams enable extending behavior without modifying existing code.
L - Liskov Substitution Principle: Java 8 interfaces support polymorphism and substitutio...
Code to print unique elements from an array of strings
Create a HashSet to store unique elements
Iterate through the array and add elements to the HashSet
Print out the elements in the HashSet to get unique elements
Code to find the second largest element in an array
Iterate through the array and keep track of the largest and second largest elements
Initialize variables to store the largest and second largest elements
Compare each element with the largest and second largest elements and update accordingly
Hash collision occurs when two different inputs produce the same hash value. hashCode() and equals() methods are from Object class.
Hash collision can occur when two different objects have the same hash code value.
hashCode() method is used to get the hash code value of an object.
equals() method is used to compare two objects for equality.
Circuit breaker is a design pattern used to prevent cascading failures in distributed systems.
Circuit breaker monitors for failures and trips when a threshold is reached
It then redirects calls to a fallback mechanism to prevent further failures
Once the system stabilizes, the circuit breaker can be reset to allow normal operation
About basic test of knowledge on english & general knowledge
I applied via Naukri.com and was interviewed in Oct 2024. There was 1 interview round.
Circuit breaker is a design pattern used in software development to prevent system failures by temporarily stopping requests to a failing service.
Circuit breaker monitors the number of failures and opens when a threshold is reached.
When the circuit is open, requests are not sent to the failing service, preventing further failures.
After a specified time, the circuit breaker closes and allows requests to be sent again.
Ex...
Frequency of occurrence of words in a given text can be calculated by counting each word and storing it in a data structure.
Split the text into words using whitespace as delimiter
Create a map to store word frequencies
Iterate through the words and update the frequency count in the map
Return the map with word frequencies
I applied via Approached by Company and was interviewed in Jul 2024. There was 1 interview round.
Constants in SQL are values that remain the same throughout the execution of a query or program.
Constants can be defined using the 'CONST' keyword in SQL.
They are used to store values that do not change during the execution of a query.
Constants can be used in WHERE clauses, JOIN conditions, and other parts of a SQL query.
Example: CONST MAX_VALUE = 100;
I appeared for an interview in May 2025, where I was asked the following questions.
I applied via Naukri.com and was interviewed in Apr 2024. There was 1 interview round.
The interview questions cover a wide range of topics including design patterns, exception handling, Hibernate, MongoDB, Java collections, Spring framework, and microservices.
Design patterns like markers interface, functional interface, and Singleton pattern are important in Java development.
Understanding exception handling with try-catch-finally blocks is crucial for handling errors in Java applications.
Knowing the dif...
Some of the top questions asked at the Capgemini Java Developer interview -
The duration of Capgemini Java Developer interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 63 interview experiences
Difficulty level
Duration
based on 109 reviews
Rating in categories
Consultant
58.7k
salaries
| ₹8.9 L/yr - ₹15 L/yr |
Associate Consultant
51.3k
salaries
| ₹4.5 L/yr - ₹10 L/yr |
Senior Consultant
50k
salaries
| ₹12.4 L/yr - ₹21 L/yr |
Senior Analyst
22.3k
salaries
| ₹3.1 L/yr - ₹7.5 L/yr |
Senior Software Engineer
21.5k
salaries
| ₹4.7 L/yr - ₹12.8 L/yr |
Wipro
Accenture
Cognizant
TCS