PapersAdda

Capgemini Interview Questions 2026

22 min read
Interview Questions
Advertisement Placement

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

RoundDescriptionDurationKey Focus Areas
Round 1: Online TestAptitude + Technical MCQs + Essay120 minsQuantitative, Logical, English, Technical Fundamentals
Round 2: Technical InterviewTechnical + Coding discussion30-45 minsProgramming, Projects, CS Concepts
Round 3: HR InterviewBehavioral screening15-20 minsCommunication, 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?

  1. Understand: I first ensure I fully comprehend the problem, asking clarifying questions and identifying constraints.

  2. Analyze: I break complex problems into smaller components and identify patterns or analogies to similar solved problems.

  3. Ideate: I brainstorm multiple solutions without immediately judging them, considering both conventional and creative approaches.

  4. Evaluate: I assess each option against criteria like feasibility, cost, time, and risk.

  5. Implement: I create a plan with milestones, execute while monitoring progress, and remain open to course correction.

  6. 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:

Aspectthrowthrows
LocationInside methodMethod signature
ActionActually throws exceptionDeclares possible exceptions
InstancesSingle exception objectException types
CountOne at a timeMultiple 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:

ModifierSame ClassSame PackageSubclassAnywhere
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

  1. Understand Pseudo Code: Capgemini often asks for pseudo code rather than actual programming. Practice writing clear, logical pseudo code.

  2. Know French Multinational Culture: Capgemini has European roots. Show appreciation for diverse cultures and collaborative working styles.

  3. Focus on Java Fundamentals: Java is extensively used at Capgemini. Master OOPs, collections, exception handling, and multithreading basics.

  4. SQL Proficiency: Database knowledge is crucial. Practice joins, subqueries, aggregate functions, and normalization concepts.

  5. Puzzle Solving: Be prepared for logical puzzles and aptitude questions. Practice on sites like BrainDen and Puzzle Baron.

  6. Written Communication: The essay writing round tests communication. Practice writing structured, coherent essays on general topics.

  7. Project Explanation: Be ready to explain your academic projects clearly. Focus on your specific contributions and technical decisions.

  8. Case Study Basics: Understand how to approach simple business case studies - identify problem, analyze options, recommend solutions.

  9. Sustainability Interest: Capgemize emphasizes sustainable IT. Show awareness of environmental impact of technology.

  10. 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!

Advertisement Placement

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

Share this article: