i
Capgemini
Filter interviews by
I am proficient in several programming languages, including Python, Java, and JavaScript, each with unique strengths for various applications.
Python: Excellent for data analysis and machine learning; libraries like Pandas and TensorFlow are widely used.
Java: Strongly typed language ideal for enterprise applications; used in Android development and large-scale systems.
JavaScript: Essential for web development; fram...
SQL's GROUP BY and HAVING clauses are used to aggregate data and filter grouped results based on specific conditions.
GROUP BY is used to arrange identical data into groups. Example: SELECT department, COUNT(*) FROM employees GROUP BY department;
HAVING is used to filter records after aggregation. Example: SELECT department, COUNT(*) FROM employees GROUP BY department HAVING COUNT(*) > 10;
GROUP BY can be used wit...
Use Java Streams to efficiently find the first duplicate character in a string.
Convert the string to a stream of characters using `chars()` method.
Use `mapToObj()` to convert the int stream to a Character stream.
Use `collect()` with a `LinkedHashSet` to maintain insertion order.
Use `filter()` to find the first duplicate by checking if the character is already in the set.
Example: For input 'abca', the output should...
HashSet uses a hash table for storage, while TreeSet uses a red-black tree for sorted order.
HashSet allows null elements, TreeSet does not allow null elements.
HashSet offers O(1) time complexity for add, remove, and contains operations; TreeSet offers O(log n) due to tree structure.
HashSet does not maintain any order of elements; TreeSet maintains a sorted order based on natural ordering or a comparator.
Example: H...
What people are saying about Capgemini
The Factory Design Pattern provides an interface for creating objects, allowing subclasses to alter the type of objects created.
Encapsulation: The Factory Pattern encapsulates the object creation process, promoting loose coupling between client code and the classes it instantiates.
Interface: It defines an interface for creating an object, but lets subclasses decide which class to instantiate, enhancing flexibility...
An immutable class ensures that its instances cannot be modified after creation, promoting thread safety and predictable behavior.
Final Fields: Use final fields to ensure that the state of the object cannot be changed after construction. Example: 'private final String name;'.
No Setters: Avoid providing setter methods to prevent modification of fields after object creation.
Constructor Initialization: Initialize all...
A Future object represents a value that may not be available yet but will be computed asynchronously.
Used in concurrent programming to handle asynchronous tasks.
Allows you to retrieve a result once it's available using methods like get().
Example: In Java, Future is part of the java.util.concurrent package.
Can be used with ExecutorService to manage thread pools and tasks.
Helps in avoiding blocking calls while waiti...
The Factory Design Pattern creates objects without specifying the exact class, promoting loose coupling and flexibility.
Encapsulates object creation, allowing for easier maintenance and scalability.
Promotes loose coupling by relying on interfaces or abstract classes.
Example: A ShapeFactory that creates different shapes (Circle, Square) based on input.
Useful in scenarios where the system needs to be independent of ...
Constructor overloading allows a class to have multiple constructors with different parameters for flexibility in object creation.
Constructor overloading enables creating objects with different initial values.
Example: A class 'Point' can have constructors like 'Point()' for default, 'Point(int x, int y)' for specific coordinates.
It enhances code readability and usability by allowing varied initialization.
Overloade...
Program to find second largest number in an array and list using streams and traditional methods.
Use streams to find second largest number in array: Arrays.stream(array).distinct().sorted().skip(array.length - 2).findFirst().orElse(null)
Use traditional method to find second largest number in list: Sort the list in descending order and get the element at index 1
Ensure to handle edge cases like empty array/list or a...
I applied via Naukri.com and was interviewed in Dec 2024. There was 1 interview round.
The microservices in our current project are designed using a combination of RESTful APIs and event-driven architecture.
Microservices are designed to be loosely coupled and independently deployable.
Each microservice focuses on a specific business domain or functionality.
Communication between microservices is done through RESTful APIs and message queues.
We use event-driven architecture for handling asynchronous communic...
Program to find second largest number in an array and list using streams and traditional methods.
Use streams to find second largest number in array: Arrays.stream(array).distinct().sorted().skip(array.length - 2).findFirst().orElse(null)
Use traditional method to find second largest number in list: Sort the list in descending order and get the element at index 1
Ensure to handle edge cases like empty array/list or arrays...
I applied via Naukri.com and was interviewed in Nov 2024. There was 1 interview round.
List is an ordered collection of elements, while a Dictionary is a collection of key-value pairs.
List maintains elements in a specific order, while Dictionary stores key-value pairs where keys are unique.
Accessing elements in a List is done by index, while accessing values in a Dictionary is done by key.
Example: List - [1, 2, 3], Dictionary - {'a': 1, 'b': 2, 'c': 3}
Decorators in Python are functions that modify the behavior of other functions or methods.
Decorators are denoted by the @ symbol followed by the decorator function name.
They are commonly used for adding functionality to existing functions without modifying their code.
Decorators can be used for logging, authentication, caching, and more.
Example: @staticmethod decorator in Python is used to define a method that is not bo...
List comprehension is a concise way to create lists in Python. Regression is a statistical method to model relationships between variables.
List comprehension example: squares = [x**2 for x in range(10)]
Regression example: fitting a linear regression model to predict house prices based on square footage
Docker is a platform for developing, shipping, and running applications in containers. Kubernetes is a container orchestration tool for managing containerized applications across a cluster of nodes.
Docker allows developers to package applications and dependencies into containers for easy deployment.
Kubernetes automates the deployment, scaling, and management of containerized applications.
Docker containers are lightweig...
Deploying an app in Kubernetes involves creating a deployment configuration, defining pods, services, and managing resources.
Create a deployment configuration file specifying the app's image, ports, and replicas
Define pods to run the app containers
Create services to expose the app internally or externally
Manage resources such as CPU and memory limits for optimal performance
Interfaces in Golang allow for defining behavior without specifying implementation details.
Interfaces are a collection of method signatures.
A type satisfies an interface if it implements all the methods in the interface.
Interfaces allow for polymorphism in Golang.
Example: type Writer interface { Write([]byte) (int, error) }
Example: type MyWriter struct {} func (mw MyWriter) Write(data []byte) (int, error) { return len(...
Goroutines are lightweight threads managed by Go runtime, allowing concurrent execution of functions.
Goroutines are created using the 'go' keyword followed by a function call.
They are multiplexed onto multiple OS threads by the Go runtime.
Example: go func() { fmt.Println('Hello, goroutine!') }
Goroutines are used for concurrent programming in Go, enabling parallelism.
I appeared for an interview in Nov 2024.
Request mapping is a technique used in web development to map incoming HTTP requests to specific handler methods in the application.
Request mapping is used in frameworks like Spring MVC to define how incoming requests should be handled.
It helps in routing requests to the appropriate controller methods based on the URL and HTTP method.
Request mapping annotations like @RequestMapping or @GetMapping are used to specify th...
Use Java 8 stream to find the 2nd largest number in an array of strings.
Convert the array of strings to an array of integers using stream and map function.
Sort the array in descending order using sorted() method.
Skip the first element to get the second largest number using skip() method.
Merge two sorted arrays into a single sorted array without using extra space.
Iterate through both arrays simultaneously, comparing elements and placing them in the correct position in the merged array.
Use two pointers to keep track of the current position in each array.
Modify the original array in place to achieve the merge without using extra space.
I applied via Company Website and was interviewed in Jul 2024. There were 2 interview rounds.
I applied via Naukri.com and was interviewed in Jul 2024. There were 2 interview rounds.
Resolved impediments related to outdated technology, lack of communication, and unclear requirements
Upgraded legacy systems to modern technology to improve performance and security
Implemented regular team meetings to enhance communication and collaboration
Worked closely with stakeholders to clarify project requirements and ensure alignment
Metrics used in the project include code coverage, bug count, sprint velocity, and customer satisfaction.
Code coverage: Measure of how much of the codebase is covered by automated tests.
Bug count: Number of open bugs in the system, tracked over time.
Sprint velocity: Measure of how much work the team can complete in a sprint.
Customer satisfaction: Feedback from customers on the usability and quality of the software.
I will listen to their concerns, empathize with their situation, and work towards finding a solution that meets their needs.
Listen actively to understand their concerns
Empathize with their situation to show understanding and build rapport
Work collaboratively to find a solution that meets their needs
Maintain professionalism and patience throughout the interaction
I would communicate with the stakeholders to understand the reasons for the changes and prioritize them accordingly.
Communicate with stakeholders to understand the reasons for the changes
Prioritize the changes based on impact and urgency
Adjust the sprint plan and tasks accordingly
Ensure clear documentation and communication with the team
Disabling the web server in a Spring Boot application can be done through configuration settings.
Use application.properties: Set 'spring.main.web-application-type=none' to disable the web server.
Use application.yml: Set 'spring: main: web-application-type: none' for YAML configuration.
Programmatically: Use 'SpringApplicationBuilder' and call 'web(false)' to disable the web server.
For testing: Use '@SpringBootTest(webEn...
Spring Boot starters are convenient dependency descriptors that simplify project setup and configuration.
Starters are a set of convenient dependency descriptors, e.g., 'spring-boot-starter-web' for web applications.
They reduce the need for manual dependency management by bundling commonly used libraries.
Using starters, developers can quickly set up a Spring application with minimal configuration.
Example: 'spring-boot-s...
I applied via Naukri.com and was interviewed in Jun 2024. There was 1 interview round.
Enhanced RE Framework is a robust automation framework in UiPath that provides reusable components and efficient error handling.
Enhanced RE Framework is an advanced version of the Robotic Enterprise Framework (REFramework) in UiPath.
It includes additional features such as enhanced error handling, logging, and reusability of components.
The framework follows best practices for automation development and helps in building...
SQL Integration with UiPath allows for seamless data manipulation and automation processes.
UiPath provides activities to connect to SQL databases and execute queries
SQL queries can be used to retrieve, update, or delete data within UiPath workflows
Data can be transferred between SQL databases and UiPath variables for processing
Yes, I have used G-Suite in UiPath for automating tasks and integrating with Google services.
Used G Suite activities in UiPath to automate tasks like sending emails, creating Google Sheets, and fetching data from Google Drive
Integrated UiPath with Google Calendar API to schedule tasks and appointments
Utilized Google OAuth 2.0 authentication for secure access to G Suite services
There are 4 transitions in RE Framework: Init, Get Transaction Data, Process Transaction, and End Process.
Init - Initializes the application, opens applications, logs in, and sets up environment.
Get Transaction Data - Retrieves transaction data from queue or data source.
Process Transaction - Processes the transaction data, performs necessary actions, and updates status.
End Process - Cleans up resources, logs out, and c...
UiPath has introduced new features like AI Fabric, Document Understanding, and improved automation capabilities.
Introduction of AI Fabric for integrating AI models into automation workflows
Enhanced Document Understanding capabilities for processing unstructured data
Improved automation capabilities with features like Task Capture and Task Mining
In Spring, @ControllerAdvice is used for handling global exceptions across multiple controllers.
@ControllerAdvice allows you to define global exception handling logic.
You can use @ExceptionHandler within a class annotated with @ControllerAdvice to handle specific exceptions.
Example: @ExceptionHandler(ResourceNotFoundException.class) public ResponseEntity<String> handleResourceNotFound() {...}
You can also use @Res...
Some of the top questions asked at the Capgemini Senior Software Engineer interview -
The duration of Capgemini Senior Software Engineer interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 143 interview experiences
Difficulty level
Duration
based on 2.2k 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.5 L/yr - ₹21 L/yr |
Senior Analyst
21.9k
salaries
| ₹3.1 L/yr - ₹7.6 L/yr |
Senior Software Engineer
21.5k
salaries
| ₹4.7 L/yr - ₹12.8 L/yr |
Wipro
Accenture
Cognizant
TCS