Interview guides · NTT DATA
NTT DATA Software Engineer Interview Guide
NTT DATA Software Engineer interview guide: reported rounds, questions and how candidates describe the process.
The 60-second brief
As a Software Engineer at NTT DATA, you play a central role in driving modern digital transformation for global enterprises and enterprise clients. Operating as a major global IT services and consulting leader, NTT DATA positions its software engineers at the intersection of custom software development, modern enterprise architectures, and specialized client delivery. You will work on cross-functional teams building microservices, integrating cloud platforms, and modernizing complex systems for industry-leading clients across healthcare, finance, telecommunications, and public sector industries. The impact of this role extends across high-consequence enterprise applications and cloud transformations.
This guide is scoped to a Software Engineer candidate at NTT DATA.
Focus areas
- Java
- JWT (JSON Web Tokens)
- Angular
The NTT DATA interview process
NTT DATA candidates report 6 rounds over 4-6 weeks. The stages below are what candidates describe, not a published process.
Phone Screening
Initial screening conducted by a recruiter covering professional background, project experiences, and compensation expectations.
What to demonstrate
- Initial screening conducted by a recruiter covering professional background, project experiences, and compensation expectations
- 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.
Online Assessment
Candidates may complete an online assessment with analytical aptitude questions and coding tasks, especially for entry-level positions.
What to demonstrate
- Candidates may complete an online assessment with analytical aptitude questions and coding tasks, especially for entry-level positions
- Depth in Java
How to prepare
- Answer aloud and timed: How do Java Streams work internally, and how do you use functional interfaces to optimize collection filtering?
- Answer aloud and timed: Explain memory management and Garbage Collection (GC) generations in Java.
Technical Discussion L1
Initial technical evaluation covering core programming fundamentals and framework concepts.
What to demonstrate
- Initial technical evaluation covering core programming fundamentals and framework concepts
- Depth in Java
How to prepare
- Answer aloud and timed: What key changes and language features were introduced in Java from version 8 through recent LTS releases?
- Answer aloud and timed: What is the fundamental difference between
stateandpropsin React, and how do custom hooks work?
Technical Discussion L2
Advanced technical or architectural round to evaluate deeper technical knowledge.
What to demonstrate
- Advanced technical or architectural round to evaluate deeper technical knowledge
- Depth in Java
How to prepare
- Answer aloud and timed: How do Route Guards work in Angular, and how do you implement a custom auth guard?
- Answer aloud and timed: What are RxJS Observables, and how do they differ from Promises in handling async data streams?
Client Interview
Final interview to confirm domain fit and project-specific requirements for client-facing roles.
What to demonstrate
- Final interview to confirm domain fit and project-specific requirements for client-facing roles
- Depth in Java
How to prepare
- Answer aloud and timed: What is the difference between HTTP and HTTPS, and how does the SSL/TLS handshake mechanism work?
- Answer aloud and timed: Explain the difference between TCP and UDP, detailing when each protocol should be utilized in web architectures.
Managerial and HR Discussion
Final discussion to finalize compensation and logistical details.
What to demonstrate
- Final discussion to finalize compensation and logistical details
- Depth in Java
How to prepare
- Answer aloud and timed: How do you implement custom middleware in.NET Core or Spring Boot to intercept incoming web requests?
- Answer aloud and timed: How do you prevent cascading failures between dependent microservices? Explain patterns like Circuit Breaker.
Where candidates lose points
Master Your Core Stack Basics
Interviewers focus heavily on fundamental concepts. Ensure you can comfortably explain core language features (such as Java Streams, garbage collection, or React hook rules) without stumbling over syntax or basic definitions.
Structure Your Project Explanations
When discussing past project experience, use the STAR approach (Situation, Task, Action, Result). Highlight your specific technical contributions, architectural choices, and the measurable business impact of your work.
Be Prepared for Diagnostic Scenarios
Expect situational questions like "How would you debug a service taking 10 seconds to respond?" Practice walking through systematic diagnostic steps (checking network calls, analyzing logs, inspecting DB execution plans, checking CPU/memory metrics).
Clarify Client and Project Contexts
During technical and managerial rounds, ask thoughtful questions about the tech stack, team structure, client domain, and deployment environments. This shows professional maturity and engagement.
Questions & practice
What are the core pillars of Object-Oriented Programming (OOP) and how do you implement runtime polymorphism?
Medium · Core Java & Object-Oriented Programming
Approach
- Say what the runtime actually does before reasoning about the code.
- Name what is shared across threads and what owns each piece of state.
- Identify the window where an invariant is briefly untrue.
- 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?
What is the difference between HashMap, Hashtable, and ConcurrentHashMap in Java?
Medium · Core Java & Object-Oriented Programming
Approach
- Say what the runtime actually does before reasoning about the code.
- Name what is shared across threads and what owns each piece of state.
- Identify the window where an invariant is briefly untrue.
- 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?
Explain memory management and Garbage Collection (GC) generations in Java.
Medium · Core Java & Object-Oriented Programming
Approach
- Say what the runtime actually does before reasoning about the code.
- Name what is shared across threads and what owns each piece of state.
- Identify the window where an invariant is briefly untrue.
- 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?
What are RxJS Observables, and how do they differ from Promises in handling async data streams?
Medium · Frontend Frameworks & Web Fundamentals
Approach
- Say what the runtime actually does before reasoning about the code.
- Name what is shared across threads and what owns each piece of state.
- Identify the window where an invariant is briefly untrue.
- 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 write a SQL query to find the second highest salary in an employee table using subqueries or window
Medium · Databases & Data Engineering
How do you write a SQL query to find the second highest salary in an employee table using subqueries or window functions?
Approach
- Name the grain you start from and join outward from it.
- Check whether any join is one-to-many before aggregating, or the sums inflate.
- Say which index the query would use, and what makes it unusable.
- 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?
What are the key differences between SQL and NoSQL databases, and how do you decide which to use?
Medium · Databases & Data Engineering
Approach
- Name the grain you start from and join outward from it.
- Check whether any join is one-to-many before aggregating, or the sums inflate.
- Say which index the query would use, and what makes it unusable.
- 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?
What are the different types of SQL JOINs (INNER, LEFT, RIGHT, FULL) and how do query execution plans optimize
Medium · Databases & Data Engineering
What are the different types of SQL JOINs (INNER, LEFT, RIGHT, FULL) and how do query execution plans optimize them?
Approach
- Name the grain you start from and join outward from it.
- Check whether any join is one-to-many before aggregating, or the sums inflate.
- Say which index the query would use, and what makes it unusable.
- 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 Java Streams work internally, and how do you use functional interfaces to optimize collection filtering
Medium · Core Java & Object-Oriented Programming
How do Java Streams work internally, and how do you use functional interfaces to optimize collection filtering?
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- 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 key changes and language features were introduced in Java from version 8 through recent LTS releases?
Medium · Core Java & Object-Oriented Programming
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- 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 fundamental difference between state and props in React, and how do custom hooks work?
Medium · Frontend Frameworks & Web Fundamentals
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- 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 Route Guards work in Angular, and how do you implement a custom auth guard?
Medium · Frontend Frameworks & Web Fundamentals
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- 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 HTTP and HTTPS, and how does the SSL/TLS handshake mechanism work?
Medium · Frontend Frameworks & Web Fundamentals
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- 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 TCP and UDP, detailing when each protocol should be utilized in web architectur
Medium · Frontend Frameworks & Web Fundamentals
Explain the difference between TCP and UDP, detailing when each protocol should be utilized in web architectures.
Approach
- Fix the scope first: who calls this, how often, and what they do when it fails.
- Name the read and write paths separately; they rarely have the same bottleneck.
- Choose a partition key and say what query it makes expensive.
- 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 implement custom middleware in.NET Core or Spring Boot to intercept incoming web requests?
Medium · Backend Frameworks, Microservices & Inte
Approach
- Say who the caller is and what they do when the call fails halfway.
- Define the identity of a request so a retry cannot double-apply it.
- Separate accepted, pending, failed and confirmed; they are different facts.
- 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?
How do you prevent cascading failures between dependent microservices? Explain patterns like Circuit Breaker.
Medium · Backend Frameworks, Microservices & Inte
Approach
- Fix the scope first: who calls this, how often, and what they do when it fails.
- Name the read and write paths separately; they rarely have the same bottleneck.
- Choose a partition key and say what query it makes expensive.
- 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 JWT authentication flow and the signing algorithm mechanism used to secure REST APIs.
Medium · Backend Frameworks, Microservices & Inte
Approach
- Say who the caller is and what they do when the call fails halfway.
- Define the identity of a request so a retry cannot double-apply it.
- Separate accepted, pending, failed and confirmed; they are different facts.
- 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 role of Apache Kafka in distributed systems, and how does it manage event messaging across partiti
Medium · Backend Frameworks, Microservices & Inte
What is the role of Apache Kafka in distributed systems, and how does it manage event messaging across partitions?
Approach
- Fix the scope first: who calls this, how often, and what they do when it fails.
- Name the read and write paths separately; they rarely have the same bottleneck.
- Choose a partition key and say what query it makes expensive.
- 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 is dependency injection, and why is it critical for achieving loose coupling and testability in clean arc
Medium · Backend Frameworks, Microservices & Inte
What is dependency injection, and why is it critical for achieving loose coupling and testability in clean architecture?
Approach
- Fix the scope first: who calls this, how often, and what they do when it fails.
- Name the read and write paths separately; they rarely have the same bottleneck.
- Choose a partition key and say what query it makes expensive.
- 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 Primary Keys and Foreign Keys enforce integrity in Many-to-Many junction tables?
Medium · Databases & Data Engineering
Approach
- Clarify what is being asked and what a complete answer contains.
- State your assumptions explicitly before working the problem.
- Say what you would check first and why it is the highest-information step.
- 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 idempotency in REST API design, and why is it vital for retry logic in distributed architectures?
Medium · Software Design, Troubleshooting & Syste
Approach
- Say who the caller is and what they do when the call fails halfway.
- Define the identity of a request so a retry cannot double-apply it.
- Separate accepted, pending, failed and confirmed; they are different facts.
- 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?
Describe the principles of Hexagonal Architecture (Ports and Adapters) and how it decouples business logic fro
Medium · Software Design, Troubleshooting & Syste
Describe the principles of Hexagonal Architecture (Ports and Adapters) and how it decouples business logic from external frameworks.
Approach
- Fix the scope first: who calls this, how often, and what they do when it fails.
- Name the read and write paths separately; they rarely have the same bottleneck.
- Choose a partition key and say what query it makes expensive.
- 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 how you would design a scalable URL shortening service like Bitly, detailing database schema and hashi
Medium · Software Design, Troubleshooting & Syste
Explain how you would design a scalable URL shortening service like Bitly, detailing database schema and hashing strategies.
Approach
- Fix the scope first: who calls this, how often, and what they do when it fails.
- Name the read and write paths separately; they rarely have the same bottleneck.
- Choose a partition key and say what query it makes expensive.
- 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 troubleshoot a server that experiences intermittent performance degradation under unpredictable tra
Medium · Software Design, Troubleshooting & Syste
How do you troubleshoot a server that experiences intermittent performance degradation under unpredictable traffic spikes?
Approach
- Establish what changed and when, before forming any theory.
- Pick a bisection that eliminates candidates whichever way it turns out.
- Check the instrumentation before believing the symptom.
- 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?
What are DRS affinity and anti-affinity rules in virtualized environments, and how do they maintain continuous
Medium · Software Design, Troubleshooting & Syste
What are DRS affinity and anti-affinity rules in virtualized environments, and how do they maintain continuous system availability?
Approach
- Establish what changed and when, before forming any theory.
- Pick a bisection that eliminates candidates whichever way it turns out.
- Check the instrumentation before believing the symptom.
- 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 NTT DATA candidates report.
Day 1 — Map the NTT DATA loop
- Write out the reported sequence: Phone Screening, Online Assessment, Technical Discussion L1, Technical Discussion L2, Client Interview, Managerial and HR Discussion.
- 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 NTT DATA 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 JWT (JSON Web Tokens)
- Spend the session on JWT (JSON Web Tokens), which NTT DATA candidates report being tested on.
- Write one worked example in JWT (JSON Web Tokens) and time yourself on it.
Deliverable: One timed worked example in JWT (JSON Web Tokens).
Day 4 — Work Angular
- Spend the session on Angular, which NTT DATA candidates report being tested on.
- Write one worked example in Angular and time yourself on it.
Deliverable: One timed worked example in Angular.
Day 5 — Answer out loud: Core Java & Object-Oriented Programming
- Answer aloud, timed: What are the core pillars of Object-Oriented Programming (OOP) and how do you implement runtime polymorphism?
- Answer aloud, timed: What is the difference between
HashMap,Hashtable, andConcurrentHashMapin Java?
Deliverable: Spoken answers to 2 reported Core Java & Object-Oriented Programming question(s), under time.
Day 6 — Answer out loud: Frontend Frameworks & Web Fundamentals
- Answer aloud, timed: What is the fundamental difference between
stateandpropsin React, and how do custom hooks work? - Answer aloud, timed: How do Route Guards work in Angular, and how do you implement a custom auth guard?
Deliverable: Spoken answers to 2 reported Frontend Frameworks & Web Fundamentals question(s), under time.
Day 7 — Answer out loud: Backend Frameworks, Microservices & Integration
- Answer aloud, timed: How do you implement custom middleware in.NET Core or Spring Boot to intercept incoming web requests?
- Answer aloud, timed: How do you prevent cascading failures between dependent microservices? Explain patterns like Circuit Breaker.
Deliverable: Spoken answers to 2 reported Backend Frameworks, Microservices & Integration question(s), under time.
Behavioural preparation
Behavioural rounds judge the decision you made and what it cost.
How do you handle database migration, indexing strategies, and query performance tuning in large datasets?
Medium · Databases & Data Engineering
Approach
- Pick a story where you made the decision, not one where you watched it.
- State the situation in two sentences and spend the rest on the reasoning.
- Give the blast radius: what could have broken, and what you measured.
- 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?
Argue against a design, lose, and commit anyway
Medium · disagreement · service boundaries · decision 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
- 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.
- 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.
- 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.
- 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?
Narrate an outage you owned from page to postmortem
Hard · incident response · blast radius · postmortems
Pick an incident you personally drove, ideally one where writes were affected rather than reads. In six to eight minutes: state the symptom as it first appeared on a dashboard, the blast radius you established before you knew the cause, the mitigation you applied and when, the mechanism you eventually proved, and the follow-up that would prevent a repeat. Bring numbers: error rate, tenants affected, minutes to mitigate, minutes to resolve. If you cannot name what you measured, choose a different incident.
Approach
- Open on the signal rather than the cause: which metric at which percentile moved, on which service, at what time, so the listener follows the same evidence you had rather than a conclusion you already reached.
- Separate mitigation from diagnosis out loud. State what you did to stop the bleeding (flag off, shed traffic, drain a lease, roll back a deploy) and say plainly that you did it before the mechanism was known, because those are two jobs with different deadlines.
- Establish blast radius in countable terms: how many tenants, how many writes, and crucially whether the effect was loss or only delay. An append-only revision table or a pending outbox row means the change survived and the projection was merely behind, which is a repair rather than a data-loss incident.
- Prove the mechanism instead of asserting it. Name the trace span that grew, the plan that flipped to a sequential scan, the lease that expired, plus one alternative you ruled out and the signal that stayed flat while you ruled it out.
Follow-up
- What would you do differently in the first five minutes, given the same dashboard and no more information?
- Which follow-up action did you deliberately not take, and why was dropping it the right call?