cswork / libraryOpen practice workspace

Interview guides · Capgemini

Capgemini Software Engineer Interview Guide

Capgemini Software Engineer interview guide: reported rounds, questions and how candidates describe the process.

The 60-second brief

As a Software Engineer at Capgemini, you will play a central role in driving enterprise-level digital transformations for global industry leaders across finance, healthcare, automotive, aerospace, and public sectors. Capgemini operates as a global leader in consulting, technology services, and digital transformation, meaning software engineering here goes far beyond isolated feature writing. You will be architecting, building, and deploying scalable applications that power critical business processes for Fortune 500 clients worldwide. The position offers an exceptionally diverse technological environment.

This guide is scoped to a Software Engineer candidate at Capgemini.

Focus areas

  • Java
  • Spring Boot
  • React

The Capgemini interview process

Capgemini candidates report 6 rounds over 4-6 weeks. The stages below are what candidates describe, not a published process.

Automated Online Assessment

Initial assessment testing analytical reasoning, pseudo-coding, data structures, and workplace personality scenarios.

What to demonstrate

  • Initial assessment testing analytical reasoning, pseudo-coding, data structures, and workplace personality scenarios
  • Depth in Java

How to prepare

  • Answer aloud and timed: Explain the internal working of HashMap and HashSet in Java, including how hash collisions are handled.
  • Answer aloud and timed: What is the difference between fail-fast and fail-safe iterators in Java?

Recruiter Phone Screening

Direct conversation with a recruiter to evaluate candidate background and role fit.

What to demonstrate

  • Direct conversation with a recruiter to evaluate candidate background and role fit
  • Depth in Java

How to prepare

  • Be able to walk your CV end to end in two minutes, and say why this company specifically.
  • Have your salary expectations, notice period and location constraints ready, and ask for the rest of the loop in writing.

Technical Round L1

Focus on core language concepts, syntax, data structures, and practical coding tests.

What to demonstrate

  • Focus on core language concepts, syntax, data structures, and practical coding tests
  • Depth in Java

How to prepare

  • Answer aloud and timed: How do you create and handle custom exceptions in Java, and what is the difference between checked and unchecked exceptions?
  • Answer aloud and timed: Explain the internal security flow of JWT and OAuth2 in a microservices environment.

Technical Round L2

Deep dive into microservices design, cloud patterns, project architecture, and scenario-based problem-solving.

What to demonstrate

  • Deep dive into microservices design, cloud patterns, project architecture, and scenario-based problem-solving
  • Depth in Java

How to prepare

  • Answer aloud and timed: How do Kafka topics, partitions, and consumer groups operate in event-driven backend architectures?
  • Answer aloud and timed: What are the key differences between useLayoutEffect and useEffect in React?

Managerial Assessment

Evaluation of project fit, stakeholder communication, and domain adaptability in selected engagements.

What to demonstrate

  • Evaluation of project fit, stakeholder communication, and domain adaptability in selected engagements
  • Depth in Java

How to prepare

  • Answer aloud and timed: Explain how state management works with Redux Toolkit (RTK Query), and define concepts like staleTime and cache invalidation.
  • Answer aloud and timed: How do you implement error boundaries in React to prevent component tree crashes?

HR Round

Discussion covering compensation expectations, location preference, and company culture.

What to demonstrate

  • Discussion covering compensation expectations, location preference, and company culture
  • Depth in Java

How to prepare

  • Prepare three examples from your own work, each with a decision you made and an outcome you can quantify.
  • Re-read the description of the hr round above and write down what you would ask to confirm before it.

Where candidates lose points

Prepare a clear, 2-minute summary of a major project from your resume

Be ready to explain the system architecture, tech stack, key technical challenges, and your exact personal contributions.

Master Your Core Fundamentals

Do not memorize answers from books without understanding execution mechanics. Be ready to explain how concepts like polymorphism, garbage collection, dependency injection, or virtual DOM actually operate under the hood.

Structure Behavioral Responses

Use the STAR method (Situation, Task, Action, Result) when answering behavioral or project-related questions to ensure concise, structured responses.

Questions & practice

Describe a situation where you faced a major technical roadblock during a sprint. How did you resolve it?

Medium · Behavioral, Project & Problem-Solving

Approach

  1. Say what the runtime actually does before reasoning about the code.
  2. Name what is shared across threads and what owns each piece of state.
  3. Identify the window where an invariant is briefly untrue.
  4. Distinguish a value from a reference to it, and say which one you handed out.

Follow-up

  • What happens if two callers reach this at the same time?
  • Where could this allocate more than you expect?

How do you approach problem-solving when given ambiguous or changing requirements from a client?

Medium · Behavioral, Project & Problem-Solving

Approach

  1. Restate the input: its shape, its size, and what is guaranteed about it.
  2. Name the brute-force solution and its complexity before improving on it.
  3. Choose the data structure from the access pattern, not from familiarity.
  4. State the target complexity and say which constraint rules the naive version out.

Follow-up

  • How does this change if the input no longer fits in memory?
  • What is the worst case, and how likely is it on real data?

Track a rolling failure rate per destination for circuit decisions

Easy · sliding window · ring buffer · circuit breaker

The egress service delivers about 1,500 webhooks per second across roughly 40,000 destinations, each call bounded by a 10 second timeout. Maintain, per destination, the failure rate over the trailing 60 seconds so a caller can ask before dispatch whether the circuit should open. Attempts arrive as (destination_id, finished_at_ms, outcome). Requirement: amortised O(1) per attempt, with total memory bounded by the destination count rather than by traffic. Give the structure, its exact memory, and the rule that stops a destination with three attempts from opening a circuit.

Approach

  1. Name the exact-deque version and then reject it as the default. Holding timestamps and advancing a tail pointer past anything older than now minus 60 seconds is a correct two-pointer window at amortised O(1) per attempt, but its memory tracks in-window traffic, so one destination in a retry storm holds hundreds of thousands of entries while thousands of quiet destinations hold none.
  2. Use a ring of 60 one-second buckets per destination, each bucket a pair of counters for attempts and failures. On an attempt, advance the ring by the elapsed whole seconds, zeroing at most min(elapsed, 60) buckets, then increment the head. That is amortised O(1) with a fixed footprint per destination.
  3. State the footprint: 60 buckets times two 4-byte counters is 480 bytes of payload per destination, so 40,000 destinations is roughly 20 to 25 MB with per-entry overhead, bounded by the catalogue rather than by the rate. The cost is granularity, since the oldest bucket ages out in whole seconds, which is far tighter than the decision needs.
  4. Require a minimum sample before the circuit may open. A destination with three attempts and three failures reads as 100 percent and is not evidence; a floor of roughly 20 attempts in the window makes the ratio meaningful, and below that floor use a run of consecutive failures as the trigger instead.

Follow-up

  • The fleet is 30 instances and each sees roughly a thirtieth of a destination's traffic. Where does the rate actually live, and what does a per-instance answer get wrong?
  • A destination answers in 9.5 seconds and succeeds. It is not failing but it is consuming your per-destination concurrency. What signal should open the circuit here?

Explain how state management works with Redux Toolkit (RTK Query), and define concepts like staleTime and ca

Medium · Frontend Engineering (React, Angular & J

Explain how state management works with Redux Toolkit (RTK Query), and define concepts like staleTime and cache invalidation.

Approach

  1. Name the grain you start from and join outward from it.
  2. Check whether any join is one-to-many before aggregating, or the sums inflate.
  3. Say which index the query would use, and what makes it unusable.
  4. Handle the rows that do not match: that is usually the actual question.

Follow-up

  • How does the query change if that join becomes one-to-many?
  • What happens to this when the table is ten times larger?

How do you optimize a slow-performing SQL query using indexing, execution plans, and query refactoring?

Medium · Databases, Cloud & System Architecture

Approach

  1. Name the grain you start from and join outward from it.
  2. Check whether any join is one-to-many before aggregating, or the sums inflate.
  3. Say which index the query would use, and what makes it unusable.
  4. Handle the rows that do not match: that is usually the actual question.

Follow-up

  • How does the query change if that join becomes one-to-many?
  • What happens to this when the table is ten times larger?

How do you ensure zero-downtime deployments when updating cloud instances or database schemas?

Medium · Databases, Cloud & System Architecture

Approach

  1. Name the grain you start from and join outward from it.
  2. Check whether any join is one-to-many before aggregating, or the sums inflate.
  3. Say which index the query would use, and what makes it unusable.
  4. Handle the rows that do not match: that is usually the actual question.

Follow-up

  • How does the query change if that join becomes one-to-many?
  • What happens to this when the table is ten times larger?

Explain the internal working of HashMap and HashSet in Java, including how hash collisions are handled.

Medium · Core Java, Spring Boot & Backend Enginee

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. Work from the requirement backwards to the design.

Follow-up

  • What assumption would you test first?
  • How would you know your answer was wrong?

What is the difference between fail-fast and fail-safe iterators in Java?

Medium · Core Java, Spring Boot & Backend Enginee

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. Work from the requirement backwards to the design.

Follow-up

  • What assumption would you test first?
  • How would you know your answer was wrong?

How do Java 8 features like the Streams API and Lambda expressions improve code performance and readability?

Medium · Core Java, Spring Boot & Backend Enginee

Approach

  1. Say who the caller is and what they do when the call fails halfway.
  2. Define the identity of a request so a retry cannot double-apply it.
  3. Separate accepted, pending, failed and confirmed; they are different facts.
  4. Design the error taxonomy before the success shape; callers branch on it.

Follow-up

  • What happens if the caller retries after a timeout?
  • How does a client discover it is on an old version of this contract?

What is the difference between method overloading and method overriding, and how does dynamic method dispatch

Medium · Core Java, Spring Boot & Backend Enginee

What is the difference between method overloading and method overriding, and how does dynamic method dispatch work?

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. Work from the requirement backwards to the design.

Follow-up

  • What assumption would you test first?
  • How would you know your answer was wrong?

How do you create and handle custom exceptions in Java, and what is the difference between checked and uncheck

Medium · Core Java, Spring Boot & Backend Enginee

How do you create and handle custom exceptions in Java, and what is the difference between checked and unchecked exceptions?

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. Work from the requirement backwards to the design.

Follow-up

  • What assumption would you test first?
  • How would you know your answer was wrong?

Explain the internal security flow of JWT and OAuth2 in a microservices environment.

Medium · Core Java, Spring Boot & Backend Enginee

Approach

  1. Fix the scope first: who calls this, how often, and what they do when it fails.
  2. Name the read and write paths separately; they rarely have the same bottleneck.
  3. Choose a partition key and say what query it makes expensive.
  4. State the consistency you need, and where you are willing to be stale.

Follow-up

  • What breaks first when traffic grows ten times?
  • How does this behave when that dependency is down for an hour?

How do Kafka topics, partitions, and consumer groups operate in event-driven backend architectures?

Medium · Core Java, Spring Boot & Backend Enginee

Approach

  1. Fix the scope first: who calls this, how often, and what they do when it fails.
  2. Name the read and write paths separately; they rarely have the same bottleneck.
  3. Choose a partition key and say what query it makes expensive.
  4. State the consistency you need, and where you are willing to be stale.

Follow-up

  • What breaks first when traffic grows ten times?
  • How does this behave when that dependency is down for an hour?

What are the key differences between useLayoutEffect and useEffect in React?

Medium · Frontend Engineering (React, Angular & J

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. Work from the requirement backwards to the design.

Follow-up

  • What assumption would you test first?
  • How would you know your answer was wrong?

How do you implement error boundaries in React to prevent component tree crashes?

Medium · Frontend Engineering (React, Angular & J

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. Work from the requirement backwards to the design.

Follow-up

  • What assumption would you test first?
  • How would you know your answer was wrong?

How do TypeScript generics enhance type safety in large-scale component libraries?

Medium · Frontend Engineering (React, Angular & J

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. Work from the requirement backwards to the design.

Follow-up

  • What assumption would you test first?
  • How would you know your answer was wrong?

Explain the difference between PUT and PATCH HTTP methods when consuming RESTful APIs from a client app.

Medium · Frontend Engineering (React, Angular & J

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. Work from the requirement backwards to the design.

Follow-up

  • What assumption would you test first?
  • How would you know your answer was wrong?

Demonstrate how to build a state-driven component (e.g., a toggle button or traffic light system) using plain

Medium · Frontend Engineering (React, Angular & J

Demonstrate how to build a state-driven component (e.g., a toggle button or traffic light system) using plain React hooks.

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. Work from the requirement backwards to the design.

Follow-up

  • What assumption would you test first?
  • How would you know your answer was wrong?

What is the difference between IEnumerable and IQueryable in Entity Framework / LINQ, and how does executi

Medium · .NET Core, C# & Enterprise Frameworks

What is the difference between IEnumerable and IQueryable in Entity Framework / LINQ, and how does execution deferral work?

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. Work from the requirement backwards to the design.

Follow-up

  • What assumption would you test first?
  • How would you know your answer was wrong?

Explain the difference between SingleOrDefault and FirstOrDefault in C#.

Medium · .NET Core, C# & Enterprise Frameworks

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. Work from the requirement backwards to the design.

Follow-up

  • What assumption would you test first?
  • How would you know your answer was wrong?

How does dependency injection work in ASP.NET Core, and what are the lifecycles of Transient, Scoped, and Sing

Medium · .NET Core, C# & Enterprise Frameworks

How does dependency injection work in ASP.NET Core, and what are the lifecycles of Transient, Scoped, and Singleton services?

Approach

  1. Clarify what is being asked and what a complete answer contains.
  2. State your assumptions explicitly before working the problem.
  3. Say what you would check first and why it is the highest-information step.
  4. Work from the requirement backwards to the design.

Follow-up

  • What assumption would you test first?
  • How would you know your answer was wrong?

What are the main principles of Microservices Architecture, and how do service discovery and API Gateways func

Medium · Databases, Cloud & System Architecture

What are the main principles of Microservices Architecture, and how do service discovery and API Gateways function?

Approach

  1. Fix the scope first: who calls this, how often, and what they do when it fails.
  2. Name the read and write paths separately; they rarely have the same bottleneck.
  3. Choose a partition key and say what query it makes expensive.
  4. State the consistency you need, and where you are willing to be stale.

Follow-up

  • What breaks first when traffic grows ten times?
  • How does this behave when that dependency is down for an hour?

Explain the differences between public, private, and hybrid cloud deployment models in AWS or Azure.

Medium · Databases, Cloud & System Architecture

Approach

  1. Fix the scope first: who calls this, how often, and what they do when it fails.
  2. Name the read and write paths separately; they rarely have the same bottleneck.
  3. Choose a partition key and say what query it makes expensive.
  4. State the consistency you need, and where you are willing to be stale.

Follow-up

  • What breaks first when traffic grows ten times?
  • How does this behave when that dependency is down for an hour?

Walk me through a complex architectural project on your resume, detailing your specific contributions and tech

Medium · Behavioral, Project & Problem-Solving

Walk me through a complex architectural project on your resume, detailing your specific contributions and technology choices.

Approach

  1. Fix the scope first: who calls this, how often, and what they do when it fails.
  2. Name the read and write paths separately; they rarely have the same bottleneck.
  3. Choose a partition key and say what query it makes expensive.
  4. State the consistency you need, and where you are willing to be stale.

Follow-up

  • What breaks first when traffic grows ten times?
  • How does this behave when that dependency is down for an hour?

How do you diagnose and resolve API slowness and memory leaks in a.NET Core backend?

Medium · .NET Core, C# & Enterprise Frameworks

Approach

  1. Establish what changed and when, before forming any theory.
  2. Pick a bisection that eliminates candidates whichever way it turns out.
  3. Check the instrumentation before believing the symptom.
  4. Separate the trigger from the cause; the deploy is rarely the bug.

Follow-up

  • What would you look at first, and what would it rule out?
  • How would you tell a cause from a coincidence here?

Suggested practice checklist

Built from the rounds and topics Capgemini candidates report.

Day 1 — Map the Capgemini loop

  • Write out the reported sequence: Automated Online Assessment, Recruiter Phone Screening, Technical Round L1, Technical Round L2, Managerial Assessment, HR Round.
  • For each round, write one sentence on what it is judging, from the description above, and mark the one you are least ready for.

Deliverable: A one-page map of the 6 reported rounds, with the weakest marked.

Day 2 — Work Java

  • Spend the session on Java, which Capgemini candidates report being tested on.
  • Write one worked example in Java and time yourself on it.

Deliverable: One timed worked example in Java.

Day 3 — Work Spring Boot

  • Spend the session on Spring Boot, which Capgemini candidates report being tested on.
  • Write one worked example in Spring Boot and time yourself on it.

Deliverable: One timed worked example in Spring Boot.

Day 4 — Work React

  • Spend the session on React, which Capgemini candidates report being tested on.
  • Write one worked example in React and time yourself on it.

Deliverable: One timed worked example in React.

Day 5 — Answer out loud: Core Java, Spring Boot & Backend Engineering

  • Answer aloud, timed: Explain the internal working of HashMap and HashSet in Java, including how hash collisions are handled.
  • Answer aloud, timed: What is the difference between fail-fast and fail-safe iterators in Java?

Deliverable: Spoken answers to 2 reported Core Java, Spring Boot & Backend Engineering question(s), under time.

Day 6 — Answer out loud: Frontend Engineering (React, Angular & JavaScript)

  • Answer aloud, timed: What are the key differences between useLayoutEffect and useEffect in React?
  • Answer aloud, timed: Explain how state management works with Redux Toolkit (RTK Query), and define concepts like staleTime and cache invalidation.

Deliverable: Spoken answers to 2 reported Frontend Engineering (React, Angular & JavaScript) question(s), under time.

Day 7 — Answer out loud: .NET Core, C# & Enterprise Frameworks

  • Answer aloud, timed: What is the difference between IEnumerable and IQueryable in Entity Framework / LINQ, and how does execution deferral work?
  • Answer aloud, timed: Explain the difference between SingleOrDefault and FirstOrDefault in C#.

Deliverable: Spoken answers to 2 reported .NET Core, C# & Enterprise Frameworks question(s), under time.

Behavioural preparation

Behavioural rounds judge the decision you made and what it cost.

Give an example of how you demonstrated teamwork and alignment with client objectives under a tight delivery d

Medium · Behavioral, Project & Problem-Solving

Give an example of how you demonstrated teamwork and alignment with client objectives under a tight delivery deadline.

Approach

  1. Pick a story where you made the decision, not one where you watched it.
  2. State the situation in two sentences and spend the rest on the reasoning.
  3. Give the blast radius: what could have broken, and what you measured.
  4. Name the disagreement and how you resolved it with evidence.

Follow-up

  • What would you do differently if you ran that again?
  • How did you know your change caused the improvement?

Estimate work you have never done and defend the range

Hard · estimation · backfills · expand-contract

You are asked to estimate a change you have never attempted: add a column to a 100-million-row table, populate it, move reads across, and drop the old shape. Give a range with the assumptions that generate it, including batch size, the signal your backfill throttles on, and wall-clock hours, and name the three unknowns that would move the number most. Then describe a real estimate you gave under comparable ignorance: how you expressed its uncertainty, what you committed to, and how wrong you turned out to be.

Approach

  1. Decompose into independently deployable steps before estimating anything: add the column nullable, write both shapes, backfill in batches, verify, move reads, stop writing the old shape, drop it. That is four deploys spread over days, and the calendar estimate is dominated by them rather than by the loop's runtime.
  2. Do the arithmetic aloud for the part that has arithmetic in it: batch size times number of batches times per-batch duration, at a write rate the primary can absorb alongside roughly 1.2k writes per second of production traffic. The loop is throttled by replication lag and lock waits, not by how fast it can issue statements.
  3. Price the schema step by its lock rather than its statement duration. In PostgreSQL an ALTER TABLE taking ACCESS EXCLUSIVE waits for every open transaction on that table while later queries queue behind it, so a millisecond change issued during a thirty-second analytics query stalls that table for thirty seconds. Adding a nullable column with a non-volatile default avoids a rewrite from version 11; a new index wants CREATE INDEX CONCURRENTLY, which cannot run inside a transaction block and leaves an invalid index behind if it fails.
  4. Express the answer as a range whose endpoints each trace to a stated assumption, then name the cheapest experiment that collapses it, which is almost always running one real batch against the real table and multiplying.

Follow-up

  • How do you verify the backfill genuinely finished, given rows written by production traffic while it ran?
  • Where does the backfill resume from after a worker is killed mid-batch, and what makes that resume point trustworthy?

Tell callers you do not own that their integration breaks

Medium · deprecation · compatibility · stakeholders

A field in a write endpoint's response must change shape. You own the endpoint; you do not own the four internal callers or the outbound webhook consumers who read it. Describe a deprecation you were responsible for: what you shipped first, how you established who was actually reading the field, the window you gave and what set its length, what you did about the consumer who never moved, and how you decided removal was safe. Name the signal you used, not the announcement you sent.

Approach

  1. Establish the reader set empirically rather than from a wiki of owners: per-field usage counters keyed by principal, or access logs attributed to a consumer. State the blind spot of whichever you pick, since a consumer that reads the field only on a monthly job will not appear in a week of logs.
  2. Ship additive first. Populate the new field alongside the old one so no reader is forced to move, which is also what keeps a rolling deploy safe, because old and new instances answer the same requests at the same time and a rollback must still find the old shape present.
  3. Set the window from the slowest legitimate consumer's release cadence, not from your calendar, and decide separately what to do for a consumer with no release process at all, such as an external webhook endpoint you can only email.
  4. Convert silence into evidence before you rely on it: a short, low-traffic removal window that makes a still-dependent consumer fail visibly and loudly while you are watching, rather than at three in the morning after you have moved on.

Follow-up

  • How would you detect a consumer that reads the field only during a monthly export?
  • One caller refuses to move and has a commercial relationship behind it. What changes in your plan and what does not?