Capgemini Interview Questions 2026
Capgemini Interview Questions 2026 (with Answers for Freshers)
Last Updated: March 2026
About Capgemini
Capgemini is a global leader in consulting, technology services, and digital transformation. Headquartered in Paris, France, with a strong presence in India, the company employs over 350,000 people across 50+ countries. Capgemini is known for its collaborative business experience approach, deep industry expertise, and the 'Get the Future You Want' philosophy. The company offers comprehensive services spanning cloud, data, AI, connectivity, software, and digital engineering.
Capgemini Selection Process Overview
| Round | Description | Duration | Key Focus Areas |
|---|---|---|---|
| Round 1: Online Test | Aptitude + Technical MCQs + Essay | 120 mins | Quantitative, Logical, English, Technical Fundamentals |
| Round 2: Technical Interview | Technical + Coding discussion | 30-45 mins | Programming, Projects, CS Concepts |
| Round 3: HR Interview | Behavioral screening | 15-20 mins | Communication, Personality, Expectations |
Additional: Pseudo code writing, puzzle solving, and case studies may be included.
HR Interview Questions with Answers
Q1: Why do you want to join Capgemini?
Q2: What do you know about Capgemini's business?
- Cloud: Capgemini is a leading cloud partner for AWS, Azure, and Google Cloud
- Data & AI: The Perform AI portfolio helps clients scale artificial intelligence
- Digital Twin: Creating virtual replicas for simulation and optimization
- Sustainable IT: Helping clients reduce carbon footprint through technology
Capgemini acquired Altran (now Capgemini Engineering) to strengthen its capabilities in R&D and digital engineering. The company is also known for the Collaborative Business Experience methodology and the Seven Keys to Success framework. Capgemini's India operations are significant, serving both domestic and global clients."
Q3: Tell me about a time you demonstrated creativity.
Q4: How do you approach problem-solving?
-
Understand: I first ensure I fully comprehend the problem, asking clarifying questions and identifying constraints.
-
Analyze: I break complex problems into smaller components and identify patterns or analogies to similar solved problems.
-
Ideate: I brainstorm multiple solutions without immediately judging them, considering both conventional and creative approaches.
-
Evaluate: I assess each option against criteria like feasibility, cost, time, and risk.
-
Implement: I create a plan with milestones, execute while monitoring progress, and remain open to course correction.
-
Reflect: After resolution, I analyze what worked and document learnings.
For example, when my project team's database queries were slow, I analyzed execution plans, identified missing indexes, proposed optimization strategies, and implemented them with measurable performance improvement. This systematic approach ensures I don't jump to solutions prematurely."
Q5: Describe a situation where you had to meet a tight deadline.
Q6: What role do you usually take in a team?
Q7: How do you handle feedback that you disagree with?
Q8: What motivates you to do your best work?
Q9: Tell me about a time you helped someone without being asked.
Q10: How do you define professional success?
Technical Interview Questions with Answers
Q1: Write a program to reverse words in a sentence.
public class ReverseWords {
// Method 1: Using built-in functions
public static String reverseWords(String sentence) {
String[] words = sentence.trim().split("\\s+");
StringBuilder reversed = new StringBuilder();
for (int i = words.length - 1; i >= 0; i--) {
reversed.append(words[i]);
if (i > 0) reversed.append(" ");
}
return reversed.toString();
}
// Method 2: In-place character array (more efficient)
public static String reverseWordsInPlace(String sentence) {
char[] chars = sentence.toCharArray();
int n = chars.length;
// Reverse entire string
reverse(chars, 0, n - 1);
// Reverse each word
int start = 0;
for (int end = 0; end <= n; end++) {
if (end == n || chars[end] == ' ') {
reverse(chars, start, end - 1);
start = end + 1;
}
}
return new String(chars).trim();
}
private static void reverse(char[] chars, int left, int right) {
while (left < right) {
char temp = chars[left];
chars[left] = chars[right];
chars[right] = temp;
left++;
right--;
}
}
public static void main(String[] args) {
String input = "Hello World from Capgemini";
System.out.println(reverseWords(input)); // Capgemini from World Hello
}
}
Time Complexity: O(n), Space Complexity: O(n) for method 1, O(1) extra for method 2.
Q2: Explain Polymorphism with examples.
Compile-time Polymorphism (Method Overloading):
class Calculator {
// Same method name, different parameters
int add(int a, int b) { return a + b; }
double add(double a, double b) { return a + b; }
int add(int a, int b, int c) { return a + b + c; }
}
Calculator calc = new Calculator();
calc.add(5, 3); // Calls first method
calc.add(5.5, 3.3); // Calls second method
Runtime Polymorphism (Method Overriding):
class Animal {
void makeSound() { System.out.println("Animal sound"); }
}
class Dog extends Animal {
@Override
void makeSound() { System.out.println("Bark"); }
}
class Cat extends Animal {
@Override
void makeSound() { System.out.println("Meow"); }
}
Animal animal1 = new Dog();
Animal animal2 = new Cat();
animal1.makeSound(); // Outputs: Bark
animal2.makeSound(); // Outputs: Meow
Benefits:
- Code reusability and extensibility
- Loose coupling between components
- Clean, readable code through common interfaces
- Easy to add new implementations without changing existing code
Polymorphism enables the 'program to an interface, not implementation' principle."
Q3: What is the difference between Array and ArrayList?
Array Example:
int[] arr = new int[5]; // Fixed size 5
arr[0] = 10;
// arr = new int[10]; // Requires recreation
ArrayList Example:
ArrayList<Integer> list = new ArrayList<>(); // Dynamic
list.add(10);
list.add(20); // Automatically grows
list.remove(0); // Easy deletion
When to use Array:
- Fixed number of elements known in advance
- Performance-critical code
- Multi-dimensional data
- Working with primitives at scale
When to use ArrayList:
- Unknown or changing size
- Need frequent insertion/deletion
- Want type safety
- Need collection methods
Note: ArrayList internally uses an array and resizes when full (usually 1.5x growth)."
Q4: Write a SQL query to find employees who joined in the last 6 months.
-- MySQL
SELECT * FROM employees
WHERE join_date >= DATE_SUB(CURDATE(), INTERVAL 6 MONTH);
-- PostgreSQL
SELECT * FROM employees
WHERE join_date >= CURRENT_DATE - INTERVAL '6 months';
-- SQL Server
SELECT * FROM employees
WHERE join_date >= DATEADD(MONTH, -6, GETDATE());
-- Oracle
SELECT * FROM employees
WHERE join_date >= ADD_MONTHS(SYSDATE, -6);
-- Standard SQL (works in most databases)
SELECT * FROM employees
WHERE join_date >= CURRENT_DATE - INTERVAL '6' MONTH;
-- Alternative using BETWEEN
SELECT * FROM employees
WHERE join_date BETWEEN DATE_SUB(CURDATE(), INTERVAL 6 MONTH) AND CURDATE();
-- With specific columns and ordering
SELECT employee_id, first_name, last_name, join_date, department
FROM employees
WHERE join_date >= DATE_SUB(CURDATE(), INTERVAL 6 MONTH)
ORDER BY join_date DESC;
Always consider time zones and whether you need to truncate dates for accurate comparison.
Q5: Explain the difference between final, finally, and finalize.
// Final variable - constant
final int MAX_SIZE = 100;
// MAX_SIZE = 200; // Error - cannot reassign
// Final method - cannot be overridden
class Parent {
final void show() { }
}
// Final class - cannot be inherited
final class SecurityManager { }
finally (Block): Executes regardless of exception occurrence.
try {
// Code that might throw exception
file.read();
} catch (IOException e) {
// Handle exception
} finally {
// Always executes
file.close(); // Cleanup code
}
finalize() (Method): Called by garbage collector before object destruction.
class Resource {
@Override
protected void finalize() throws Throwable {
// Cleanup before garbage collection
releaseResources();
super.finalize();
}
}
Note: finalize() is deprecated since Java 9. Use try-with-resources instead.
Key Differences:
- final is for variables, methods, classes
- finally is for exception handling
- finalize() is for cleanup before GC
Memory Aid: final = restrict, finally = always execute, finalize = before destroy."
Q6: What is the difference between String, StringBuilder, and StringBuffer?
String (Immutable):
String s = "Hello";
s = s + " World"; // Creates new object, old one discarded
Each modification creates a new String object in the String Pool.
StringBuilder (Faster, not synchronized):
StringBuilder sb = new StringBuilder("Hello");
sb.append(" World"); // Modifies same object
Use when thread safety is not required.
StringBuffer (Thread-safe, synchronized):
StringBuffer sb = new StringBuffer("Hello");
sb.append(" World"); // Thread-safe modification
Use in multi-threaded environments.
Performance Comparison: StringBuilder > StringBuffer >> String (for modifications)
Recommendation: Use String for constants, StringBuilder for single-threaded string manipulation, StringBuffer only when thread safety is required."
Q7: Write a program to implement bubble sort.
public class BubbleSort {
// Standard bubble sort
public static void bubbleSort(int[] arr) {
int n = arr.length;
for (int i = 0; i < n - 1; i++) {
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
// Swap arr[j] and arr[j+1]
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
}
}
}
}
// Optimized bubble sort (stops if already sorted)
public static void optimizedBubbleSort(int[] arr) {
int n = arr.length;
boolean swapped;
for (int i = 0; i < n - 1; i++) {
swapped = false;
for (int j = 0; j < n - i - 1; j++) {
if (arr[j] > arr[j + 1]) {
int temp = arr[j];
arr[j] = arr[j + 1];
arr[j + 1] = temp;
swapped = true;
}
}
// If no swapping occurred, array is sorted
if (!swapped) break;
}
}
public static void main(String[] args) {
int[] arr = {64, 34, 25, 12, 22, 11, 90};
optimizedBubbleSort(arr);
System.out.println(Arrays.toString(arr)); // [11, 12, 22, 25, 34, 64, 90]
}
}
Time Complexity:
- Worst/Average Case: O(n²)
- Best Case (optimized): O(n)
Space Complexity: O(1) - in-place sorting
Note: Bubble sort is educational but rarely used in practice. Use Arrays.sort() (uses QuickSort/Dual-Pivot Quicksort) or Collections.sort() for real applications."
Q8: Explain the difference between throw and throws.
public void withdraw(double amount) {
if (amount > balance) {
throw new InsufficientFundsException("Not enough balance");
}
balance -= amount;
}
- Used inside method body
- Creates and throws exception object
- Can throw any Throwable type
- Only one exception per throw statement
throws (Clause): Declares exceptions a method might throw.
public void readFile(String filename) throws FileNotFoundException, IOException {
FileReader file = new FileReader(filename); // May throw FileNotFoundException
file.read(); // May throw IOException
}
- Used in method signature
- Informs caller about possible exceptions
- Can declare multiple exceptions (comma-separated)
- Caller must handle or declare these exceptions
Key Differences:
| Aspect | throw | throws |
|---|---|---|
| Location | Inside method | Method signature |
| Action | Actually throws exception | Declares possible exceptions |
| Instances | Single exception object | Exception types |
| Count | One at a time | Multiple possible |
Flow: throws declares → throw actually throws → try-catch handles."
Q9: What are access modifiers in Java? Explain with examples.
public: Accessible everywhere.
public class PublicClass {
public int publicVar; // Accessible from any class
}
private: Accessible only within the same class.
class Example {
private int privateVar; // Only within this class
private void privateMethod() { }
}
protected: Accessible within package and subclasses.
class Parent {
protected int protectedVar; // Package + subclasses
}
class Child extends Parent {
void access() { protectedVar = 10; } // OK - subclass
}
default (no modifier): Accessible only within package.
class Example {
int defaultVar; // Package-private only
}
Visibility Matrix:
| Modifier | Same Class | Same Package | Subclass | Anywhere |
|---|---|---|---|---|
| public | ✓ | ✓ | ✓ | ✓ |
| protected | ✓ | ✓ | ✓ | ✗ |
| default | ✓ | ✓ | ✗ | ✗ |
| private | ✓ | ✗ | ✗ | ✗ |
Best Practices:
- Use private for fields (encapsulation)
- Use protected for inheritance hooks
- Use public for API methods
- Avoid default for library code"
Q10: Write a program to check if two strings are anagrams.
import java.util.Arrays;
public class AnagramCheck {
// Method 1: Using sorting
public static boolean isAnagramSort(String s1, String s2) {
if (s1.length() != s2.length()) return false;
char[] arr1 = s1.toLowerCase().toCharArray();
char[] arr2 = s2.toLowerCase().toCharArray();
Arrays.sort(arr1);
Arrays.sort(arr2);
return Arrays.equals(arr1, arr2);
}
// Method 2: Using character count (more efficient)
public static boolean isAnagramCount(String s1, String s2) {
if (s1.length() != s2.length()) return false;
int[] count = new int[256]; // ASCII characters
for (int i = 0; i < s1.length(); i++) {
count[s1.toLowerCase().charAt(i)]++;
count[s2.toLowerCase().charAt(i)]--;
}
for (int c : count) {
if (c != 0) return false;
}
return true;
}
public static void main(String[] args) {
System.out.println(isAnagramCount("listen", "silent")); // true
System.out.println(isAnagramCount("hello", "world")); // false
}
}
Time Complexity:
- Sorting method: O(n log n)
- Counting method: O(n) - preferred
Space Complexity: O(1) for counting method (fixed size array)
Anagrams contain the same characters with the same frequencies."
Managerial/Behavioral Questions with Answers
Q1: How would you handle a conflict between two team members?
Q2: Describe a time you had to make a decision with incomplete information.
Q3: How do you ensure you're continuously improving?
Q4: Tell me about a time you had to influence without authority.
Q5: How would you handle a situation where you can't meet a commitment?
Tips for Cracking Capgemini Interview
-
Understand Pseudo Code: Capgemini often asks for pseudo code rather than actual programming. Practice writing clear, logical pseudo code.
-
Know French Multinational Culture: Capgemini has European roots. Show appreciation for diverse cultures and collaborative working styles.
-
Focus on Java Fundamentals: Java is extensively used at Capgemini. Master OOPs, collections, exception handling, and multithreading basics.
-
SQL Proficiency: Database knowledge is crucial. Practice joins, subqueries, aggregate functions, and normalization concepts.
-
Puzzle Solving: Be prepared for logical puzzles and aptitude questions. Practice on sites like BrainDen and Puzzle Baron.
-
Written Communication: The essay writing round tests communication. Practice writing structured, coherent essays on general topics.
-
Project Explanation: Be ready to explain your academic projects clearly. Focus on your specific contributions and technical decisions.
-
Case Study Basics: Understand how to approach simple business case studies - identify problem, analyze options, recommend solutions.
-
Sustainability Interest: Capgemize emphasizes sustainable IT. Show awareness of environmental impact of technology.
-
Capgemini's Seven Values: Research and align with Capgemini's values: Honesty, Boldness, Trust, Freedom, Team Spirit, Modesty, and Fun.
Frequently Asked Questions (FAQs)
Q1: What is the Capgemini fresher salary? A: Typically ranges from 3.8 LPA to 7.5 LPA depending on the role (Analyst, Senior Analyst) and performance in assessments.
Q2: Is pseudo code compulsory in Capgemini interview? A: Often yes. Capgemini emphasizes logical thinking over syntax. Practice writing algorithmic steps clearly without language-specific syntax.
Q3: What is the essay topic in Capgemini online test? A: Essay topics are generally on current affairs, technology trends, or general subjects. Practice writing 200-300 word essays with clear structure.
Q4: How many technical interviews does Capgemini have? A: Typically one or two technical interviews, possibly followed by an HR interview. Higher roles may have additional rounds.
Q5: Does Capgemini have a bond period? A: Yes, typically a 1-year bond for freshers. Details are specified in the offer letter.
Best of luck with your Capgemini interview preparation!
Explore this topic cluster
More resources in Interview Questions
Use the category hub to browse similar questions, exam patterns, salary guides, and preparation resources related to this topic.
More in Interview Questions
More from PapersAdda
Top 30 HR Interview Questions with Best Answers (2026)
Top 30 System Design Interview Questions for 2026
Top 40 React.js Interview Questions & Answers (2026)
Top 50 Data Structures Interview Questions 2026