Interview guides · Tata Consultancy Services (North America)
Tata Consultancy Services (North America) Software Engineer Interview Guide
Tata Consultancy Services (North America) Software Engineer interview guide: reported rounds, questions and how candidates describe the process.
The 60-second brief
A Software Engineer at Tata Consultancy Services (North America) plays a pivotal role in delivering cutting-edge technology solutions for some of the world’s most influential organizations. You will be responsible for designing, developing, and maintaining high-quality software systems that address complex client challenges. Whether working on large-scale enterprise applications, cloud infrastructure, or data-driven platforms, your work directly impacts the digital transformation journeys of clients across industries like banking, healthcare, and retail. This role is critical to the Tata Consultancy Services (North America) mission of becoming a leader in AI-led technology services. You will join a diverse, global team where you will be expected to contribute not just to the codebase, but to the architectural integrity and scalability of the solutions you build.
This guide is scoped to a Software Engineer candidate at Tata Consultancy Services (North America).
Focus areas
- Data Structures (DSA)
- Algorithms
- SQL Queries
The Tata Consultancy Services (North America) interview process
Tata Consultancy Services (North America) candidates report 3 rounds over 3-5 weeks. The stages below are what candidates describe, not a published process.
Online Assessment
Candidates take an online assessment to evaluate logical, verbal, and quantitative skills.
What to demonstrate
- Candidates take an online assessment to evaluate logical, verbal, and quantitative skills
- Depth in Data Structures (DSA)
How to prepare
- Answer aloud and timed: Explain the core principles of OOP (Object-Oriented Programming) and provide real-world examples of each.
- Answer aloud and timed: How do you handle exceptions in your preferred programming language (Java, Python, C++)?
Technical Interviews
A series of technical interviews covering fundamental concepts and project-specific applications.
What to demonstrate
- A series of technical interviews covering fundamental concepts and project-specific applications
- Depth in Data Structures (DSA)
How to prepare
- Answer aloud and timed: Explain the difference between a Class and an Interface.
- Answer aloud and timed: What is the difference between a Foreign Key and a Primary Key in SQL?
Managerial/HR Round
Final evaluation of communication skills, background, and cultural alignment.
What to demonstrate
- Final evaluation of communication skills, background, and cultural alignment
- Depth in Data Structures (DSA)
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 managerial/hr round above and write down what you would ask to confirm before it.
Where candidates lose points
Master your resume
You will be asked about every project you list. Be ready to explain your specific contributions and the technologies involved in detail.
Dress professionally
Even for virtual interviews, presenting yourself formally reflects the professionalism expected at Tata Consultancy Services (North America).
Be honest about your limits
If you don't know an answer, it is better to admit it and show a willingness to learn than to guess blindly.
Practice communication
The ability to explain a technical concept clearly is often as important as the concept itself.
Questions & practice
Describe how concurrency works in your primary development language.
Medium · Technical Fundamentals and Domain Knowle
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?
Write a program to reverse a linked list.
Medium · Coding and Problem Solving
Approach
- Restate the input: its shape, its size, and what is guaranteed about it.
- Name the brute-force solution and its complexity before improving on it.
- Choose the data structure from the access pattern, not from familiarity.
- 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?
Find the second-largest element in an array.
Medium · Coding and Problem Solving
Approach
- Restate the input: its shape, its size, and what is guaranteed about it.
- Name the brute-force solution and its complexity before improving on it.
- Choose the data structure from the access pattern, not from familiarity.
- 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?
Implement a stack or queue using arrays or linked lists.
Medium · Coding and Problem Solving
Approach
- Restate the input: its shape, its size, and what is guaranteed about it.
- Name the brute-force solution and its complexity before improving on it.
- Choose the data structure from the access pattern, not from familiarity.
- 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?
Write a program to check if a string is a palindrome.
Medium · Coding and Problem Solving
Approach
- Restate the input: its shape, its size, and what is guaranteed about it.
- Name the brute-force solution and its complexity before improving on it.
- Choose the data structure from the access pattern, not from familiarity.
- 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?
Find the subarray with the maximum sum (Kadane’s Algorithm).
Medium · Coding and Problem Solving
Approach
- Restate the input: its shape, its size, and what is guaranteed about it.
- Name the brute-force solution and its complexity before improving on it.
- Choose the data structure from the access pattern, not from familiarity.
- 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?
What is the difference between a Foreign Key and a Primary Key in SQL?
Medium · Technical Fundamentals and Domain Knowle
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?
Write a SQL query to find the second-highest salary from a table.
Medium · Coding and Problem Solving
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?
Explain the core principles of OOP (Object-Oriented Programming) and provide real-world examples of each.
Medium · Technical Fundamentals and Domain Knowle
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 a Class and an Interface.
Medium · Technical Fundamentals and Domain Knowle
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 monolithic and microservices architectures.
Medium · Technical Fundamentals and Domain Knowle
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?
One customer endpoint stalls deliveries to every other destination
Medium · bulkhead · timeouts · saturation
The egress service delivers about 1.5k webhooks/second across 40,000 destinations, with a per-destination concurrency cap of 4 and a 10-second connect-plus-read timeout. Throughput falls to 300/second, queue depth climbs, and p99 delivery latency for unaffected destinations goes from 200 ms to minutes, while the error rate barely moves. One tenant holds 900 destination rows whose URLs share a hostname that now answers in 9.5 seconds. Explain the mechanism with the arithmetic, then give the containment in the order you would apply it.
Approach
- Look at saturation before errors. A flat error rate with collapsing throughput says nothing is failing, things are waiting, so the first signal to pull is in-flight request count or pool wait time rather than the error counter. This is the distinction that decides the whole investigation.
- Group in-flight work by resolved host, not by destination id. The cap is keyed per destination row, so 900 rows sharing one hostname buy 3,600 concurrent slots against a single host, each held for 9.5 seconds. The bulkhead was never a bulkhead for that host, and grouping by the wrong dimension is why the dashboard looked healthy.
- Do the arithmetic in both directions. Required concurrency is arrival rate times latency, so 1.5k/second at 200 ms needs about 300 in flight, which is entirely consumed by 3,600 slow slots; conversely whatever concurrency is left sustains rate equals concurrency divided by 9.5 seconds, which is the 300/second you are seeing. Matching both numbers is what promotes this from a plausible story to the mechanism.
- Explain why the circuit breaker never helped. It opens on consecutive failures, and a 9.5-second response inside a 10-second timeout is a success. Slow is not failing, so an error-rate breaker cannot see this; you need a slow-call ratio, a deadline propagated from the caller's remaining budget, or a concurrency limiter.
Follow-up
- The host recovers to 80 ms. How long does the queue take to drain, and what does the drain do to the recovered host?
- Where should the 10-second timeout number actually come from?
Suggested practice checklist
Built from the rounds and topics Tata Consultancy Services (North America) candidates report.
Day 1 — Map the Tata Consultancy Services (North America) loop
- Write out the reported sequence: Online Assessment, Technical Interviews, Managerial/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 3 reported rounds, with the weakest marked.
Day 2 — Work Data Structures (DSA)
- Spend the session on Data Structures (DSA), which Tata Consultancy Services (North America) candidates report being tested on.
- Write one worked example in Data Structures (DSA) and time yourself on it.
Deliverable: One timed worked example in Data Structures (DSA).
Day 3 — Work Algorithms
- Spend the session on Algorithms, which Tata Consultancy Services (North America) candidates report being tested on.
- Write one worked example in Algorithms and time yourself on it.
Deliverable: One timed worked example in Algorithms.
Day 4 — Work SQL Queries
- Spend the session on SQL Queries, which Tata Consultancy Services (North America) candidates report being tested on.
- Write one worked example in SQL Queries and time yourself on it.
Deliverable: One timed worked example in SQL Queries.
Day 5 — Answer out loud: Technical Fundamentals and Domain Knowledge
- Answer aloud, timed: Explain the core principles of OOP (Object-Oriented Programming) and provide real-world examples of each.
- Answer aloud, timed: How do you handle exceptions in your preferred programming language (Java, Python, C++)?
Deliverable: Spoken answers to 2 reported Technical Fundamentals and Domain Knowledge question(s), under time.
Day 6 — Answer out loud: Coding and Problem Solving
- Answer aloud, timed: Write a program to reverse a linked list.
- Answer aloud, timed: Find the second-largest element in an array.
Deliverable: Spoken answers to 2 reported Coding and Problem Solving question(s), under time.
Day 7 — Answer out loud: Behavioral and Situational
- Answer aloud, timed: Tell me about yourself and your background.
- Answer aloud, timed: Why are you interested in joining Tata Consultancy Services (North America)?
Deliverable: Spoken answers to 2 reported Behavioral and Situational question(s), under time.
Behavioural preparation
Behavioural rounds judge the decision you made and what it cost.
How do you handle exceptions in your preferred programming language (Java, Python, C++)?
Medium · Technical Fundamentals and Domain Knowle
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?
Tell me about yourself and your background.
Medium · Behavioral and Situational
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?
Why are you interested in joining Tata Consultancy Services (North America)?
Medium · Behavioral and Situational
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?
Describe a time when you faced a significant challenge during a project; how did you overcome it?
Medium · Behavioral and Situational
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?
How do you handle working under pressure or tight deadlines?
Medium · Behavioral and Situational
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?
Why should we hire you over other candidates?
Medium · Behavioral and Situational
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?
Are you comfortable with relocation or working in different shift patterns?
Medium · Behavioral and Situational
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?