i
Capgemini
Proud winner of ABECA 2024 - AmbitionBox Employee Choice Awards
Filter interviews by
I applied via Naukri.com and was interviewed in Apr 2021. There were 4 interview rounds.
Optimizing Angular app performance involves reducing file size, lazy loading, and optimizing change detection.
Reduce file size by minifying and compressing code
Lazy load modules and components to improve initial load time
Optimize change detection by using OnPush strategy and avoiding unnecessary DOM updates
Use AOT compilation to improve performance
Implement server-side rendering for faster initial rendering
Use performa...
To call multiple APIs at once, use asynchronous programming and libraries like Axios or Fetch.
Use Promise.all() to make multiple API calls simultaneously
Use async/await to handle the responses
Use libraries like Axios or Fetch to simplify the process
Consider using a library like GraphQL to aggregate multiple API responses into a single response
Be mindful of API rate limits and adjust accordingly
SwitchMap and MergeMap are operators in RxJS used for flattening observables.
SwitchMap cancels the previous inner observable and subscribes to a new one when the source observable emits.
MergeMap subscribes to all inner observables and emits their values in the order they are received.
Use SwitchMap when you want to cancel previous requests and only care about the latest one.
Use MergeMap when you want to combine the resu...
I applied via LinkedIn and was interviewed before Apr 2022. There were 3 interview rounds.
What people are saying about Capgemini
I applied via Approached by company and was interviewed in Jan 2022. There was 1 interview round.
Capgemini interview questions for designations
I applied via Naukri.com and was interviewed in Feb 2021. There were 5 interview rounds.
Java program to find duplicate characters in a string.
Create a HashMap to store each character and its frequency
Iterate through the string and add each character to the HashMap
If the character already exists in the HashMap, increment its frequency
Print out the characters with frequency greater than 1
Java program to find duplicate integer
Create a HashSet to store unique integers
Loop through the array and add each integer to the HashSet
If the integer already exists in the HashSet, it is a duplicate
Print out the duplicate integer(s)
Java program to check if a given string is a palindrome or not.
Convert the string to lowercase to ignore case sensitivity.
Use two pointers, one at the beginning and one at the end of the string.
Compare the characters at both pointers and move them towards each other until they meet.
If all characters match, the string is a palindrome.
If any character doesn't match, the string is not a palindrome.
Interfaces define contracts for behavior while abstract classes provide partial implementation.
Interfaces only define method signatures while abstract classes can have both abstract and non-abstract methods.
A class can implement multiple interfaces but can only inherit from one abstract class.
Interfaces are used for loose coupling while abstract classes are used for code reuse.
Example of interface: Runnable interface i...
Constructor is used to initialize an object while method is used to perform an action on an object.
Constructor is called when an object is created while method is called on an existing object.
Constructor has the same name as the class while method has a unique name.
Constructor does not have a return type while method can have a return type.
Example: public class Car { public Car() { } public void start() { } }
Example: C
ArrayList is resizable and uses contiguous memory while LinkedList uses non-contiguous memory and is not resizable.
ArrayList is faster for accessing elements while LinkedList is faster for adding or removing elements.
ArrayList is implemented as an array while LinkedList is implemented as a doubly linked list.
ArrayList is better for random access while LinkedList is better for sequential access.
Example: ArrayList can be...
Hashmap is a key-value pair collection while Hashset is a unique value collection.
Hashmap allows duplicate values but not duplicate keys.
Hashset does not allow duplicate values.
Hashmap is faster for searching and retrieving values by key.
Hashset is faster for checking if a value exists in the collection.
Example: Hashmap can be used to store student names and their corresponding grades.
Example: Hashset can be used to st
List is an ordered collection of elements while set is an unordered collection of unique elements.
Lists allow duplicates while sets do not.
Lists maintain the order of elements while sets do not.
Lists are accessed by index while sets are accessed by value.
Examples of lists: [1, 2, 3] or ['apple', 'banana', 'orange']
Examples of sets: {1, 2, 3} or {'apple', 'banana', 'orange'}
Heap memory is a region of memory used for dynamic memory allocation.
Heap memory is allocated at runtime and can be resized as needed.
Memory management involves allocating and deallocating memory to prevent memory leaks and optimize performance.
Common memory management techniques include garbage collection and manual memory management.
Examples of languages that use heap memory include C++, Java, and Python.
Abstraction and encapsulation can be achieved through proper class design and access modifiers.
Abstraction can be achieved by hiding implementation details and exposing only necessary information.
Encapsulation can be achieved by using access modifiers to restrict access to certain class members.
Proper class design can help achieve both abstraction and encapsulation.
For example, creating a class for a bank account that ...
Method overload and method override are two concepts in object-oriented programming.
Method overload is when a class has multiple methods with the same name but different parameters.
Method override is when a subclass provides its own implementation of a method that is already defined in its superclass.
Method overload is resolved at compile-time based on the number and types of arguments passed to the method.
Method overr...
StringBuffer and StringBuilder are both used to manipulate strings, but StringBuffer is thread-safe while StringBuilder is not.
StringBuffer is synchronized, making it thread-safe, while StringBuilder is not
StringBuilder is faster than StringBuffer in single-threaded environments
Both classes have similar methods for appending, inserting, and deleting characters in a string
Example: StringBuffer sb = new StringBuffer("Hel...
Collections are extensively used in my framework for storing and manipulating data.
I have used ArrayList to store test data and iterate over it.
I have used HashMap to store key-value pairs for data-driven testing.
I have used HashSet to store unique values and perform set operations.
I have used LinkedList to implement queue and stack data structures.
I have used TreeSet to store sorted data and perform set operations.
I h...
Oops concepts like inheritance, polymorphism, encapsulation, and abstraction are used in our framework.
Inheritance is used to create a hierarchy of classes with shared attributes and methods.
Polymorphism is used to allow objects of different classes to be treated as if they are of the same class.
Encapsulation is used to hide the implementation details of a class from other classes.
Abstraction is used to create simplifi...
Interface and abstract are used in our framework for creating reusable and extensible code.
Interfaces define a contract that classes must implement.
Abstract classes provide a base implementation that can be extended by subclasses.
Both allow for polymorphism and abstraction.
Example: An interface for a database connection with methods like connect() and disconnect().
Example: An abstract class for a vehicle with a method ...
Different types of waits in computer programming
Sleep/wait: pauses the program for a specified amount of time
Join/wait for thread: waits for a specific thread to finish execution
Lock/wait for lock: waits for a lock to be released before continuing execution
Semaphore/wait for semaphore: waits for a semaphore to be released before continuing execution
Condition/wait for condition: waits for a specific condition to be met
Hard assert and soft assert are methods used in software testing to validate expected results.
Hard assert stops the test execution immediately if the assertion fails.
Soft assert continues the test execution even if the assertion fails and reports all the failures at the end of the test.
Hard assert is used when the failure of the assertion indicates a critical issue that needs to be fixed immediately.
Soft assert is used...
Different types of exceptions are checked, unchecked, error and runtime.
Checked exceptions are checked at compile time
Unchecked exceptions are not checked at compile time
Error exceptions are caused by the environment in which the application is running
Runtime exceptions are caused by the application logic
Exception handling is a mechanism to handle runtime errors in Java programs.
Exceptions are objects that are thrown at runtime when an error occurs
try-catch block is used to handle exceptions
finally block is used to execute code regardless of whether an exception is thrown or not
catch block can handle multiple exceptions using multiple catch blocks or a single catch block with multiple exceptions separated by |
throw key...
throw is used to throw an exception while throws is used in method signature to declare the exceptions that can be thrown by the method.
throw is used to explicitly throw an exception in a code block
throws is used in method signature to declare the exceptions that can be thrown by the method
throw is followed by an instance of the Exception class
throws is followed by the name of the exception class
throw is used to handle...
TestNG is a testing framework for Java while Cucumber is a BDD tool for behavior-driven development.
TestNG is used for unit, functional, and integration testing while Cucumber is used for acceptance testing.
TestNG uses annotations to define test cases while Cucumber uses Gherkin syntax.
TestNG provides features like parallel testing, data-driven testing, and reporting while Cucumber focuses on collaboration between stak...
TestNG executes annotations in a specific order.
TestNG executes @BeforeSuite, @BeforeTest, @BeforeClass, @BeforeMethod, @Test, @AfterMethod, @AfterClass, @AfterTest, and @AfterSuite annotations in that order.
If there are multiple annotations of the same type, they are executed in the order they are defined in the code.
Annotations can also be grouped using @BeforeGroups and @AfterGroups annotations.
Annotations can be us...
I will use window management techniques like tabbing, cascading, and tiling to handle multiple windows efficiently.
I will prioritize the windows based on their importance and urgency.
I will use keyboard shortcuts to switch between windows quickly.
I will use the taskbar or dock to keep track of open windows.
I will use window snapping to organize windows side by side.
I will close unnecessary windows to reduce clutter.
I w...
To run only failed test cases in TestNG, use the 'rerun-failed' option in the testng.xml file.
Add the 'preserve-order' attribute to the 'testng' element in the testng.xml file.
Add the 'suite' element with the 'name' attribute and 'test' element with the 'name' attribute and 'preserve-order' attribute.
Add the 'classes' element with the 'name' attribute and 'class' element with the 'name' attribute and 'methods' element ...
Merge conflicts can be handled by communication, understanding the changes made, and using version control tools.
Communicate with the team to understand the changes made
Use version control tools like Git to resolve conflicts
Prioritize changes based on importance and impact
Test the merged code thoroughly to ensure it works as expected
STLC and SDLC are software development processes. STLC focuses on testing while SDLC focuses on the entire software development process.
STLC stands for Software Testing Life Cycle and focuses on testing the software.
SDLC stands for Software Development Life Cycle and focuses on the entire software development process.
STLC includes stages like test planning, test design, test execution, and test closure.
SDLC includes st...
Test case design technique is a process of creating test cases to validate the functionality of a software application.
Identify test scenarios and prioritize them based on risk and importance
Use boundary value analysis to test the limits of input values
Equivalence partitioning to group input values into classes that should behave similarly
Decision table testing to test combinations of inputs and expected outputs
State t...
Get interview-ready with Top Capgemini Interview Questions
I applied via Naukri.com and was interviewed in Aug 2021. There were 2 interview rounds.
I applied via Recruitment Consulltant and was interviewed in Sep 2021. There were 2 interview rounds.
I applied via Company Website and was interviewed in Jun 2021. There was 1 interview round.
AuthGuard is a feature in Angular that allows you to protect routes from unauthorized access.
AuthGuard is used to restrict access to certain routes based on user authentication status.
It can be used to redirect unauthenticated users to a login page.
It can also be used to restrict access to certain parts of a page based on user roles.
AuthGuard is implemented as a service in Angular.
It works by checking the user's authen
An interceptor is a type of middleware that intercepts incoming requests and outgoing responses in an application.
Interceptors can be used for logging, authentication, authorization, and error handling.
In Angular, interceptors can be used to modify HTTP requests and responses.
In Spring, interceptors can be used to add common functionality to controllers.
Interceptors can be implemented in various programming languages a
Components can communicate through various methods such as props, events, and state management.
Props: pass data from parent to child components
Events: emit and listen to events using event bus or Vuex store
State management: use Vuex or Redux to manage shared state between components
Lazy loading is a technique used to defer loading of non-critical resources until they are needed.
Lazy loading improves page load time and reduces initial load size.
It is commonly used for images, videos, and other media files.
Lazy loading can be implemented using JavaScript libraries like LazyLoad or through custom code.
It is important to balance lazy loading with user experience and accessibility.
Lazy loading can als...
I applied via Naukri.com and was interviewed before Sep 2022. There were 2 interview rounds.
I applied via Naukri.com and was interviewed before Apr 2022. There were 2 interview rounds.
Some of the top questions asked at the Capgemini Senior Consultant interview -
The duration of Capgemini Senior Consultant interview process can vary, but typically it takes about less than 2 weeks to complete.
based on 226 interviews
5 Interview rounds
based on 3.7k reviews
Rating in categories
Consultant
55.1k
salaries
| ₹0 L/yr - ₹0 L/yr |
Associate Consultant
50.7k
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Consultant
46.2k
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Analyst
20.7k
salaries
| ₹0 L/yr - ₹0 L/yr |
Senior Software Engineer
20.3k
salaries
| ₹0 L/yr - ₹0 L/yr |
Wipro
Accenture
Cognizant
TCS