Capgemini FSSBU · Software Engineer
Updated · 2026-10-02

Capgemini FSSBU Software Engineer
Interview Guide

THE 60-SECOND BRIEF

Capgemini FSSBU is the Financial Services Strategic Business Unit of Capgemini, an IT consulting firm. Candidates describe it as working with banks, capital markets firms and insurers on their software systems. The role description lists Java and microservices work on core banking backends, React or Angular front ends, and deployments on Azure and GCP. A Software Engineer works in agile squads next to business analysts, solution architects, quality engineers and client stakeholders, builds REST services, integrates third-party financial APIs, manages database schemas, writes unit and integration tests, and on some projects helps refactor legacy monoliths into cloud-native microservices.

This guide is for candidates applying as a Software Engineer at Capgemini FSSBU, whether through a campus drive or as a lateral hire. It covers the three reported rounds, the five groups of questions candidates report (OOP and CS fundamentals, Java and .NET backend frameworks, frontend, databases with cloud and architecture, and coding), and a plan that practises each group. It does not cover other roles in the unit.

Candidates report three rounds over roughly 3-5 weeks: an Online Assessment, Technical Interviews and a Final HR Round. Campus and lateral hires describe somewhat different routes through them.

Data Structures & Algorithms (DSA)Object-Oriented Programming (OOP)Programming Fundamentals

48 min read

Browse Software Engineer questions

See the practice prompts

30Practice promptsAcross five skill areas

The reported questions fall into five groups of five. Core OOP and CS fundamentals cover encapsulation versus abstraction, overloading versus overriding, interface versus abstract class, .NET garbage collection and the internals of HashMap and HashSet. Backend framework questions cover LINQ, dependency injection in Spring Boot and .NET Core, building a REST microservice, fail-fast versus fail-safe iterators and IEnumerable versus IQueryable. The frontend group covers Redux versus Context, useEffect versus useLayoutEffect, error boundaries, Angular versus React components and a timer-driven traffic signal component. The fifth group is databases, cloud and architecture, and the sixth is plain coding: palindrome, Fibonacci, pattern printing, duplicates with two pointers and Java Streams.

Almost every one of these is a how-does-it-actually-work question rather than a puzzle. Candidates are told to understand the mechanics of their main stack instead of memorising framework documentation, so the useful practice is to explain each mechanism out loud with a small piece of code beside it: what the hash function does to a key, what a scoped service is scoped to, what SQL an IQueryable turns into.

The questions mix Java and .NET, and the role requirements list Java, C#, C++ or Python as the core language, with Spring Boot, .NET Core, React and Angular as frameworks. You will not know both stacks equally. Prepare your primary stack to the level of internals, and know enough of the other to give a side-by-side answer for the questions that name both, such as dependency injection and its lifecycles.

Because the unit serves financial clients, the scenario questions candidates describe lean on money-handling concerns: a resilient microservice that loses no transaction data, a slow query across ledger tables, and a production container updated without dropping sessions. Idempotent writes, transactions, indexes and rolling deployments are therefore worth rehearsing. Candidates also report that resume projects get probed in every round, so each project on your resume needs a short architecture explanation ready.

01

Online Assessment

reported

Candidates report an online assessment with aptitude tests and coding challenges. For campus hires it is described as an automated screen on a platform such as Superset, covering quantitative aptitude, logical reasoning, verbal ability, pseudo-code analysis and basic DBMS, OS and OOP, sometimes with game-based memory and pattern quizzes, followed by an automated coding test. Lateral accounts instead describe a recruiter screening before the technical rounds. Coding assessments are reported to range from pseudo-code tests to live exercises on arrays, strings and data structures, so the coding questions in this guide (palindrome, Fibonacci, pattern printing, duplicates and two pointers) are the types worth practising for this stage. Approach it as a timed screen: read each problem fully, handle the edge case first, and leave time to run your code against a few inputs.

What to demonstrate

  • Aptitude and logical reasoning, as reported for the online screen
  • Pseudo-code reading and basic DBMS, OS and OOP knowledge for campus screens
  • Coding on arrays, strings and basic data structures

How to prepare

  • Trace short pseudo-code snippets by hand, writing the value of every variable per loop iteration, until you can do it without running anything
  • Solve the palindrome, Fibonacci, pattern-printing and duplicate-finding questions in your chosen language with no built-in reverse and no library helpers
  • Write two-sentence answers to the encapsulation versus abstraction and overloading versus overriding questions, since basic OOP is reported on the screen
Capgemini FSSBU Software Engineer candidate reports ↗
02

Technical Interviews

reported

Candidates report technical interviews that assess software development principles and hands-on experience. Lateral hires describe an L1 round on core languages, frameworks and live coding, then an L2 that is more advanced or client-facing, with scenario-based problem solving, system design and project achievements. Candidates report that most technical rounds include live coding in an online editor or over screen share: string and array logic, SQL queries, or a basic REST endpoint built from scratch. The reported questions across this stage's topics run from HashMap internals and dependency injection to React hooks, slow SQL and zero-downtime updates. Approach it by choosing your primary stack, preparing its internals with code, and practising coding aloud on a shared screen.

What to demonstrate

  • Core language, OOP and data structure fundamentals with code examples
  • Framework mechanics in your main stack: Spring Boot, .NET Core, React or Angular
  • Live coding, including string, array and SQL problems
  • Project experience and, for lateral hires, scenario-based and design discussion

How to prepare

  • Write and run small programs for the interface versus abstract class, HashMap collision and fail-fast iterator questions so each answer comes with real code
  • Build the Spring Boot (or .NET Core) REST service from an empty project, choosing dependencies yourself, and write the controller, service and repository layers with one test
  • Practise the slow-SQL and zero-downtime-update scenarios as step-by-step answers: what you check first, what you change, how you confirm it worked
  • Write a one-page architecture summary for each resume project: components, your exact contribution, tools and one problem you solved
Capgemini FSSBU Software Engineer candidate reports ↗
03

Final HR Round

reported

Candidates report the final round as an HR conversation on cultural fit, communication and career aspirations. For lateral hires it is described as an HR negotiation plus cultural-fit discussion. Candidates also report that salary expectations and notice period come up early in recruiter conversations, and that background verification of education and employment documents is strict, so those need to be accurate and to hand. Project and team-scenario questions in HR and managerial conversations are reported, and the STAR structure (Situation, Task, Action, Result) is the format candidates are advised to use.

What to demonstrate

  • Cultural fit and communication, as reported for this round
  • Career aspirations
  • Team and project scenarios, answered in STAR form

How to prepare

  • Write three STAR stories from your own projects, each ending in a result with a number you can defend
  • Prepare a straight answer on salary expectations and notice period, and gather the education and employment documents you will need to verify
  • Practise explaining one technical decision from your resume in plain language to a non-engineer, as you would to a client stakeholder
  • Write two questions to ask about the team, the client work and how projects are staffed
Capgemini FSSBU Software Engineer candidate reports ↗

PracHub editorial advice for the preparation topics above.

01

Defining overloading, overriding, abstraction or interfaces in words with no code

For each OOP question, write a short class hierarchy before the interview. Show overloading resolved at compile time from the argument types, overriding resolved at run time from the object, and an abstract class holding shared state and constructor logic that an interface cannot hold. Say when you would pick each, using a payment-processing example, so the answer is concrete rather than a textbook line.

02

Describing HashMap or garbage collection at slogan level ("it hashes the key", "it frees unused memory")

Learn the actual sequence. For HashMap: hash spreading, bucket index, equals and hashCode, chained collisions, load-factor resize and the switch from a linked chain to a tree for long chains. For .NET: roots, generations 0, 1 and 2, the large object heap, compaction and why Dispose differs from a finalizer. Be ready to say what breaks when hashCode is inconsistent with equals.

03

Answering the slow SQL question with only "add an index"

Give a sequence: reproduce the slow query, read its execution plan, find the scan or the bad join order, check selectivity, build a composite index with the filter column before the sort column, avoid functions on indexed columns, then re-read the plan and compare. For financial ledger joins, also check for row multiplication from one-to-many joins and for missing predicates on large tables.

04

Coding silently, or finishing the palindrome, Fibonacci or pattern problem without testing edge cases

Narrate the plan before you type. Name the inputs you will test: an empty string, a single character, mixed case and punctuation for the palindrome, zero and one for Fibonacci, one row for a pattern. State time and space cost, and say that plain recursive Fibonacci repeats work and what memoisation changes. Rehearse this on a shared screen, since live coding is reported for the technical rounds.

05

Giving vague answers about your resume projects, or arriving at the HR round without salary, notice-period and document answers

Candidates report that resume projects get probed, so prepare an architecture sketch and a personal contribution statement in the first person for each one. Use STAR for scenario questions, with a measurable result. Settle your salary expectation and notice period before the first recruiter call, and check that your education and employment records match what you have said.

Choose a category, try a prompt, then open its approach, worked solution or follow-up when you need it.

27 technical prompts0 include a worked solution

How does memory management work in C# /.NET Core, and how do garbage collection cycles operate?

medium
Core Object-Oriented Programming & Compu

How does memory management work in C# /.NET Core, and how do garbage collection cycles operate?

Approach
  1. Start with value versus reference types: value-type locals live on the stack (or inline inside the object that contains them); reference-type objects live on the managed heap and are reclaimed by the garbage collector, not by scope exit.
  2. Explain the generational collector: generations 0, 1 and 2, most objects die young, survivors are promoted; a collection marks objects reachable from roots (stack references, statics, GC handles, registers), then sweeps and compacts.
  3. Cover the Large Object Heap: objects of 85,000 bytes or more go there, are collected with generation 2 and are not compacted by default, so it can fragment; mention workstation versus server GC and background GC for generation 2.
  4. Unmanaged resources: implement IDisposable and use using blocks; finalizers delay reclamation because the object survives an extra collection on the finalization queue; avoid calling GC.Collect in application code.
  5. Name real managed leaks: event handlers that keep subscribers alive, ever-growing static caches, and captured closures.
Follow-up
  • What is the difference between Dispose and a finalizer, and what does GC.SuppressFinalize do?
  • Why can large byte arrays cause memory pressure even when they are released?
  • How would you diagnose a memory leak in a running .NET service?

What is an Error Boundary in React, and how do you implement it to handle runtime rendering exceptions?

medium
Frontend Development & Web Technologies

What is an Error Boundary in React, and how do you implement it to handle runtime rendering exceptions?

Approach
  1. An error boundary is a class component that defines static getDerivedStateFromError (switch to fallback UI) and/or componentDidCatch(error, info) (report the error); there is no hook equivalent, though the react-error-boundary package wraps it.
  2. It catches errors thrown while rendering, in lifecycle methods and in constructors of components below it; since React 16 an uncaught render error unmounts the whole tree, which is why boundaries matter.
  3. It does not catch errors in event handlers, asynchronous code (setTimeout, promise callbacks), server-side rendering, or errors thrown by the boundary itself; handle those with try/catch and state.
  4. Placement: wrap routes and independent widgets separately so one failure does not blank the page; allow recovery by resetting the boundary, for example by changing its key or using resetKeys.
Follow-up
  • How would you surface an error from a failed fetch inside useEffect to the nearest boundary?
  • Where would you send the error details in componentDidCatch?
  • How would you let the user retry after the fallback is shown?

Write a program to check whether a given string is a palindrome without using built-in reverse functions.

medium
Problem Solving & Coding Challenges

Write a program to check whether a given string is a palindrome without using built-in reverse functions.

Approach
  1. Two pointers: i from the start, j from the end, compare characters and move inward until they meet; any mismatch returns false. O(n) time, O(1) extra space, and no reversed copy is built.
  2. Clarify the rules first: case-sensitive or not, and whether spaces and punctuation are ignored; if ignored, advance i and j past non-alphanumeric characters (Character.isLetterOrDigit) and compare with Character.toLowerCase.
  3. Edge cases: empty string and single character are palindromes; null input needs a defined behaviour; strings of only punctuation should return true under the ignore rule.
  4. Mention that Java strings are UTF-16, so characters outside the Basic Multilingual Plane are surrogate pairs; compare code points if that input is possible. A recursive version works but uses O(n) stack.
Follow-up
  • Return true if the string can become a palindrome by deleting at most one character.
  • Check whether an integer is a palindrome without converting it to a string.
  • Find the longest palindromic substring; what is the complexity of expanding around centres?

Implement a method to generate the Fibonacci sequence using both iterative and recursive approaches.

medium
Problem Solving & Coding Challenges

Implement a method to generate the Fibonacci sequence using both iterative and recursive approaches.

Approach
  1. Fix the definition: F(0) = 0, F(1) = 1, F(n) = F(n-1) + F(n-2); confirm whether the task is the nth term or the first n terms, and reject negative input.
  2. Naive recursion mirrors the definition but makes an exponential number of calls (about phi^n, bounded by O(2^n)) with O(n) stack depth; show it, then explain why it is slow.
  3. Improve it: memoised recursion is O(n) time and O(n) space; the iterative version keeps two variables and is O(n) time, O(1) space.
  4. Overflow: an int holds up to F(46) = 1,836,311,903 and a long up to F(92); beyond that use BigInteger (or long with Math.addExact to detect overflow).
  5. Optional extension: matrix exponentiation or fast doubling computes F(n) in O(log n) arithmetic steps.
Follow-up
  • How many calls does the naive recursion make for n = 5, and why does it grow so quickly?
  • Does Java optimise tail recursion? What does that mean for a deep recursive version?
  • How would you compute F(n) modulo 1,000,000,007 for n around 10^18?

Write a program to solve pattern-printing logic using nested loops in your preferred programming language.

medium
Problem Solving & Coding Challenges

Write a program to solve pattern-printing logic using nested loops in your preferred programming language.

Approach
  1. Pin down the exact pattern by writing the n = 3 or n = 4 output first, then derive a per-row formula; for a centred star pyramid, row i (1 to n) has n - i leading spaces and 2i - 1 stars.
  2. Structure: an outer loop over rows, inner loops for spaces then symbols, a newline after each row; time is proportional to the number of characters printed, O(n^2) for a pyramid.
  3. Variants to have ready: right-angled and inverted triangles, a diamond (pyramid followed by an inverted pyramid of n - 1 rows), Floyd's triangle, and Pascal's triangle using C(r, k+1) = C(r, k) * (r - k) / (k + 1), multiplying before dividing so the result stays an integer.
  4. Build each row in a StringBuilder and print it once instead of many System.out calls; check n = 0 and n = 1 and trailing spaces, where off-by-one errors usually appear.
Follow-up
  • Print a hollow diamond for a given n.
  • Print Pascal's triangle without computing factorials. Why does the multiply-then-divide order matter?
  • How would the code change if n could be even for a symmetric pattern?

Implement array manipulation tasks, such as finding duplicate elements or reordering values using two-pointer

medium
Problem Solving & Coding Challenges

Implement array manipulation tasks, such as finding duplicate elements or reordering values using two-pointer techniques.

Approach
  1. Clarify for duplicates: return values or indices, is the array sorted, what is the value range, may the input be modified. A HashSet pass is O(n) time and O(n) space; sorting and comparing neighbours is O(n log n) time with little extra space.
  2. If n + 1 values lie in the range 1 to n, Floyd's cycle detection finds a duplicate in O(n) time and O(1) space without modifying the array; marking visited indices by negating values also works but mutates the input.
  3. Two-pointer reordering patterns: a write pointer to move zeros to the end preserving order; slow and fast pointers to remove duplicates from a sorted array in place; pointers from both ends to partition evens and odds; three pointers (Dutch national flag) to sort 0s, 1s and 2s in one pass.
  4. On a sorted array, the pair-with-target-sum problem uses lo and hi pointers moving toward each other, O(n) time and O(1) space.
  5. Edge cases: empty and single-element arrays, all-equal values, negative numbers, and integer overflow when adding values.
Follow-up
  • Find every duplicated value using O(1) extra space; what assumptions on the values make that possible?
  • Is your partition stable? How would you make it stable, and what does that cost?
  • How would you find duplicates in a file too large to load into memory?

The plan follows the reported question groups: OOP fundamentals, collections and runtime internals, coding problems, backend frameworks, frontend, SQL and cloud, then the HR round. Each day ends with something you can show: code, a diagram or a spoken answer.

Small steps. Visible outcomes.0 / 7 completed
ONE WEEK · YOUR PACE

Prepare, practise & reflect

One practical outcome each day. Spend longer where you need it.

0 / 7 done
01Map the loop and write the OOP examples
  • Write one page mapping the three reported rounds, marking whether you expect the campus route or the lateral route, and note which round you feel least ready for
  • Write a small Java or C# example with an Account class that hides its balance behind validated methods (encapsulation) and a PaymentProcessor interface with two implementations (abstraction), and explain the difference in two sentences
  • Write an overloading example resolved at compile time and an overriding example called through a parent-type reference, and say what the compiler checks in each
  • Write the interface versus abstract class decision rules: shared state, constructors, default methods, and multiple inheritance of type

Deliverable: A one-page route map plus three runnable OOP examples (encapsulation versus abstraction, overloading versus overriding, interface versus abstract class), each with a spoken two-sentence answer.

Practice prompt ↗Practice prompt ↗Practice prompt ↗
02Collections and runtime internals
  • Draw the HashMap structure: hash, bucket index, chained collisions, load-factor resize and treeified chains, and note that HashSet stores its elements as keys of a HashMap
  • Write a key class with a poor hashCode and one that breaks the equals and hashCode contract, then show what happens to lookups
  • Write code that modifies an ArrayList while iterating to trigger the fail-fast exception, then iterate a CopyOnWriteArrayList or ConcurrentHashMap through the same change and note the behaviour
  • Write a one-page summary of .NET memory management: stack versus heap, generations 0, 1 and 2, the large object heap, and Dispose versus finalizers

Deliverable: A HashMap diagram, two runnable demos (broken hashCode and fail-fast iteration) and a one-page .NET garbage collection summary.

Practice prompt ↗Practice prompt ↗Practice prompt ↗
03Coding problems for the assessment and live rounds
  • Solve the palindrome check with two pointers and no reverse function, skipping non-alphanumeric characters if asked, and state O(n) time and O(1) space
  • Write Fibonacci iteratively, recursively and with memoisation, and explain why the plain recursive version is exponential
  • Print a right triangle, a pyramid and a diamond using nested loops, deriving spaces and stars from the row index
  • Find duplicates with a HashSet and rearrange an array with two pointers, then write a Java Streams pipeline that filters, maps and groups a list of transaction objects

Deliverable: Five working solutions in your language, each with a stated time and space complexity and at least three test inputs including an empty or minimal case.

Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗
04Backend frameworks: Spring Boot, .NET Core and LINQ
  • Generate a Spring Boot project, choose the dependencies yourself (web, data access, validation), and write a controller, service, repository and one test for a small resource
  • Write a side-by-side table of dependency injection lifecycles: Spring singleton, prototype, request and session scopes against .NET singleton, scoped and transient, and explain the problem of a long-lived service holding a short-lived one
  • Write LINQ queries using FirstOrDefault and SingleOrDefault against a database context, read the SQL each generates, and note the exception SingleOrDefault throws on multiple matches
  • Show IEnumerable pulling rows into memory before filtering and IQueryable translating the filter into SQL, and say where AsEnumerable changes the answer

Deliverable: A running REST service with a test, a Spring versus .NET lifecycle table, and a LINQ note showing the generated SQL for each of the two comparisons.

Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗
05Frontend: React, Angular and the traffic signal
  • Build the traffic signal component in React with state, an effect that starts a timer and cleans it up on unmount, and then again in vanilla JavaScript with setTimeout
  • Write a small shared cart state with the Context API and again with Redux, and note what re-renders in each and how asynchronous work enters Redux through middleware
  • Write a demo where measuring a DOM node in useLayoutEffect avoids a visible flicker that useEffect shows, and write an error boundary class and list what it does not catch
  • Write a one-page comparison of an Angular component (decorator, template, injected services) and a React function component with hooks

Deliverable: A working traffic signal in two forms, a Context versus Redux example, an effect-timing demo with an error boundary, and an Angular versus React comparison page.

Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗
06SQL, cloud, API design, security and PracHub practice
  • Take a slow query that joins several ledger-style tables, read its execution plan, add a composite index, rewrite the query if needed and compare plans; then work the PracHub keyset paging and mid-deploy table stall practice questions
  • Write a zero-downtime update answer for a container on Azure or GCP: rolling or blue-green rollout, health checks, connection draining and a backward-compatible schema change
  • Write an answer on PUT versus PATCH and idempotence, noting that UPDATE is a SQL verb rather than an HTTP method
  • Write the protections against DDoS, CORS misconfiguration and CSRF for a microservice, then a project-based answer comparing WebSockets with HTTP polling

Deliverable: A before-and-after execution plan for one query, a written zero-downtime rollout checklist, a REST method comparison and a one-page security and WebSocket answer.

Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗Practice prompt ↗
07HR round and full mock
  • Write three STAR stories from your resume projects, each with your own contribution and a measurable result, and rehearse them aloud with the PracHub behavioral practice questions on unblocking a colleague, disagreeing with a design and resolving a review disagreement
  • Write your answers on salary expectations and notice period, and make a checklist of education and employment documents
  • Run a mock on a shared screen: explain one resume project's architecture, then solve one coding problem and one SQL problem while talking
  • Write the two questions you will ask the interviewer about team structure and client work

Deliverable: Three written STAR stories, a salary and notice-period answer with a document checklist, a recording or notes from one shared-screen mock, and your two closing questions.

Practice prompt ↗Practice prompt ↗Practice prompt ↗

Expand any day for tasks and deliverables. Your progress is saved on this device.

Candidates report that the Final HR Round covers cultural fit, communication and career aspirations, and that resume projects and team scenarios come up in HR and managerial conversations. The preparation advice candidates give is the STAR structure. For this role, that means each story should name your own contribution to a project, the technical choice you made, and a result you can state, and should show you explaining that choice clearly to a non-engineer such as a client contact.

Unblock an engineer without taking the keyboard

easy
mentoringleasesat-least-once

A teammate has spent two days on a job handler that occasionally writes duplicate rows. They are certain the queue is delivering twice by mistake. You suspect a lease expiring under a slow handler, so the job is running concurrently with itself. Describe how you have unblocked someone in this position: what you asked before offering a hypothesis, what you showed them rather than told them, and what you left them owning. Then say what you would do if their theory turned out to be the right one.

Approach
  1. Ask before diagnosing, and ask for things answerable from data they already have: the attempt count on the job rows that produced duplicates, the handler's observed duration against its lease expiry, and whether the duplicate rows share a natural key that a unique constraint could have caught.
  2. Teach the shape rather than the answer. A lease cannot distinguish a dead worker from a slow one, so a handler that outruns its lease is running twice by design, and deploys deliver the other half by killing handlers mid-run on every rollout. Both of their candidate theories produce identical duplicate rows, which is why the evidence has to come from timings rather than from argument.
  3. Hand over a checklist they execute: a natural key on every write the handler performs so the second copy collides rather than appends, the record of intent written before any external effect, a lease heartbeat while running, and the metric that shows it working.
  4. Keep ownership with them deliberately. Pair on the first write, then step back; if you finish it yourself you have closed one ticket and left the same person stuck on the next redelivery.
Follow-up
  • How would you distinguish a genuine double-delivery from a lease expiry using only the data already stored?
  • Their handler calls an external endpoint before recording that it did. What do you tell them to change first?

Argue against a design, lose, and commit anyway

medium
disagreementservice boundariesdecision records

Describe a design you argued against and lost. State the failure you predicted as a named mechanism, not a feeling about complexity: two services that would need one transaction, a projection with no rebuild path, a write path with no idempotency key. Say what evidence you brought, what the decision maker weighed instead, and what you did after the decision was made: what you instrumented, what you wrote down, and whether the prediction came true. Five minutes.

Approach
  1. State the prediction in falsifiable form up front: the mechanism, the condition that triggers it, and the observable outcome. A prediction that cannot be checked also cannot be credited to you later.
  2. Show the evidence you had at the time and label each piece honestly as measured, analogous, or intuition. Keeping the intuition is fine; disguising it as data is the thing that erodes your standing in the next argument.
  3. Represent the opposing case at full strength, including the constraint you did not control: a fixed date, a team boundary, or the fact that the decision was cheap to reverse and yours was not.
  4. Make disagree-and-commit concrete. Name the artefact you left behind so the prediction could be settled without you: the alert and its threshold, the counter on the dashboard, the decision note that recorded the trade-off and the condition that would revisit it.
Follow-up
  • What threshold on that alert would have proved you right, and did anyone ever look at it?
  • If the same proposal arrived tomorrow with the same deadline, would you argue it the same way?

Turn a code review disagreement into a decision

easy
code reviewoptimistic concurrencycommunication

A colleague's change updates a row with UPDATE resource SET version = version + 1 WHERE resource_id = $1 AND version = $2 and treats an affected-row count of zero as a successful no-op. You read that as a silently lost update; they think returning 200 is friendlier to clients than returning a conflict. Describe how you have handled a review disagreement of this shape: what goes in the comment, when you leave the thread, and who decides. Then write the comment you would leave here, in under 80 words.

Approach
  1. Sort the disagreement before writing anything. A silently discarded write is a correctness claim about data; the choice between 409 and 412 is taste. Only the first justifies blocking a merge, and saying which one you are doing is most of the value of the comment.
  2. Make the claim reproducible in the comment itself with an interleaving rather than a principle: A reads version 7, B reads version 7, B commits version 8, A's predicate matches zero rows, A is told it succeeded and A's edit is gone.
  3. Offer the alternative with its cost attached: return 409 carrying the current version and the revision that won, so the client can re-read and re-apply. Note that automatic retry is not the fix, because a retry re-reads the winner's state and reapplies an intent formed against data that no longer exists.
  4. Apply an escalation rule you can state: two round trips on the thread, then a call, and the service's owner decides rather than the reviewer. A reviewer who cannot be overruled is a bottleneck with extra steps.
Follow-up
  • Where would you put the test that fails if someone reintroduces the swallowed zero rowcount?
  • The author says clients cannot handle a 409. How do you check whether that is true?
  • 01

    Walk me through a project on your resume: your exact contribution, the architecture, the tools you used and one problem you solved.

  • 02

    Tell me about a time you explained a technical decision to someone who was not an engineer, and what you changed when they did not follow.

  • 03

    Tell me about a time a requirement changed late in a project and how you adapted your plan and your code.

  • 04

    Describe a disagreement with a teammate over a design or a code review and how it was resolved.

  • 05

    Where do you want your career to go over the next few years, and how does this role fit?

  • 06

    What are your salary expectations and notice period?

PracHub preparation framework ↗
What rounds do candidates report at Capgemini FSSBU for Software Engineer?

Candidates report three rounds over roughly 3-5 weeks: an Online Assessment with aptitude and coding, Technical Interviews, and a Final HR Round. Campus accounts describe an automated screen followed by an automated coding test and then technical and HR interviews. Lateral accounts describe a recruiter screening, an L1 technical round, an L2 advanced or client-facing round, and a final HR discussion. Some lateral accounts put the whole process at two to three weeks, so timing varies.

Capgemini FSSBU Software Engineer candidate reports ↗
Is there live coding in the technical rounds?

Candidates report that most technical rounds include live coding, either in an online editor or over screen share. The reported tasks are string and array logic, SQL queries and a basic REST endpoint written from scratch. Practise with the screen shared, talking through your plan, and finish by running your code on an empty or minimal input.

Capgemini FSSBU Software Engineer candidate reports ↗
Which language and framework should I prepare?

The role requirements list Java, C#, C++ or Python as the core language, with Spring Boot, .NET Core, React and Angular as frameworks. The reported questions mix Java and .NET, so prepare your primary stack to the level of internals (HashMap, dependency injection lifecycles, iterators or LINQ) and learn the other stack's equivalents well enough to compare them. Pick the frontend framework that appears on your resume.

Capgemini FSSBU Software Engineer candidate reports ↗
What does the online assessment cover?

For campus hires, candidates describe an automated screen on a platform such as Superset covering quantitative aptitude, logical reasoning, verbal ability, pseudo-code analysis and basic DBMS, OS and OOP, sometimes with game-based memory and pattern quizzes, then a coding test. Prepare by tracing pseudo-code by hand, revising OOP basics and solving array and string problems with no library helpers.

Capgemini FSSBU Software Engineer candidate reports ↗
Do I need banking or finance knowledge?

Financial services experience is listed as nice to have, not required. The scenario questions candidates describe use financial settings, such as a microservice that must not lose transaction data and a slow query over ledger tables. Prepare the general techniques behind them: idempotent writes, transactions and isolation levels, indexing, execution plans and rolling deployments.

Capgemini FSSBU Software Engineer candidate reports ↗
How should I prepare for the HR round and recruiter conversations?

Candidates report that salary expectations and notice period come up early with recruiters, and that background verification of education and employment documents is strict. Settle both answers beforehand, keep your documents accurate and to hand, and prepare STAR stories for project and team scenarios. Be ready to explain any technical decision from your resume in plain language.

PracHub Software Engineer practice ↗
How much data structures and algorithms should I practise?

Candidates report basic-to-medium problems on arrays, strings, linked lists, stacks, queues and maps, with time-complexity analysis, and advise prioritising OOP, language mechanics and SQL execution over memorising dynamic programming. Cover the reported coding tasks first: palindrome, Fibonacci, pattern printing, duplicates with two pointers and Java Streams. Then add linked list, stack, queue and map problems with complexity stated.

Capgemini FSSBU Software Engineer candidate reports ↗
Sources & methodology 3 sources ↗

No official company page is cited. Rounds and questions come from candidate reports and PracHub editorial material; each source shows the date it was read.