Cape Teaching and Leadership Institute
10+ Capgemini Interview Questions and Answers
Q1. what difference between @EnableAutoConfiguration and ComponentScan
EnableAutoConfiguration enables auto-configuration of Spring Boot application while ComponentScan scans for Spring components.
EnableAutoConfiguration automatically configures Spring Boot application based on classpath and other settings.
ComponentScan scans for Spring components and registers them as beans.
EnableAutoConfiguration is used in main application class while ComponentScan can be used in any configuration class.
EnableAutoConfiguration can be disabled using @SpringBoo...read more
Q2. What is functional interface write your own.
A functional interface is an interface with only one abstract method. It can be implemented using lambda expressions.
Functional interfaces are used in Java 8's functional programming features.
Examples of functional interfaces include Runnable, Comparator, and Callable.
To create your own functional interface, use the @FunctionalInterface annotation.
The interface should have only one abstract method, and can have default and static methods.
Lambda expressions can be used to impl...read more
Q3. what are the methods available in stream class
Stream class methods include read, write, seek, tell, flush, and more.
read() - reads data from the stream
write() - writes data to the stream
seek() - moves the stream position to a specified location
tell() - returns the current position in the stream
flush() - flushes any buffered data to the stream
eof() - returns true if the end of the stream has been reached
good() - returns true if the stream is in a good state
fail() - returns true if a read or write operation failed
clear() -...read more
Q4. How to handle transaction in microservices
Transactions in microservices ensure data consistency and integrity.
Use distributed transactions to ensure atomicity across multiple services.
Implement compensating transactions to handle failures and rollbacks.
Use event-driven architecture to maintain consistency between services.
Consider using a Saga pattern to manage long-running transactions.
Avoid two-phase commit as it can lead to performance issues and scalability problems.
Q5. what is @Transactional annotation in spring
The @Transactional annotation is used in Spring to manage transactions in a declarative way.
It is used to define the scope of a transaction.
It can be applied at the class or method level.
It supports various attributes like propagation, isolation, timeout, and read-only.
It can be used with different transaction managers like JDBC, Hibernate, JPA, etc.
It rolls back the transaction if an exception is thrown.
It can be used with AOP to provide transaction management.
Example: @Tran...read more
Q6. Difference between Future and CompleteblaFuture class
Future is an interface while CompletableFuture is a class that implements Future and provides additional methods.
Future is a basic interface for asynchronous programming in Java
CompletableFuture is a class that implements Future and provides additional methods like thenApply(), thenAccept(), etc.
CompletableFuture can be used to chain multiple asynchronous operations
CompletableFuture can also be used to handle exceptions in asynchronous programming
CompletableFuture is more fle...read more
Q7. What are the new features added to java8
Java8 introduced several new features including lambda expressions, streams, and default methods.
Lambda expressions allow for functional programming and simplify code.
Streams provide a way to process collections of data in a functional way.
Default methods allow for adding new methods to interfaces without breaking existing implementations.
Other features include the Date and Time API, Nashorn JavaScript engine, and improved security.
Java8 also introduced the concept of Optiona...read more
Q8. what are the http methods and it's uses
HTTP methods are used to specify the type of action to be performed on a resource.
GET - retrieve information from the server
POST - submit data to the server
PUT - update a resource on the server
DELETE - remove a resource from the server
HEAD - retrieve headers from the server
OPTIONS - retrieve the supported HTTP methods for a resource
PATCH - update a resource partially on the server
Q9. Tell me about Executor framework
Executor framework is a Java framework that provides a way to execute tasks asynchronously using a thread pool.
It provides a way to manage threads and execute tasks in a thread pool
It allows for better resource management and improved performance
It supports different types of thread pools such as fixed, cached, and scheduled
Example: Executors.newFixedThreadPool(10) creates a thread pool with 10 threads
Q10. What is aggregation and composition
Aggregation and composition are two types of relationships between objects in object-oriented programming.
Aggregation is a relationship where one object is a container for other objects, but the contained objects can exist independently.
Composition is a relationship where one object is composed of other objects, and the composed objects cannot exist independently.
Aggregation is represented by a 'has-a' relationship, while composition is represented by a 'part-of' relationship...read more
Q11. How two threads will communicate
Two threads can communicate through shared memory or message passing.
Shared memory: Both threads can access the same memory location to exchange data.
Message passing: One thread sends a message to another thread through a communication channel.
Synchronization primitives like locks, semaphores, and barriers can be used to coordinate access to shared resources.
Examples: POSIX threads, Java threads, Windows threads.
Top Interview Questions from Similar Companies
Reviews
Interviews
Salaries
Users/Month