Data analysts at TCS usually work with a client's data, not their own company's: a bank's transactions, an insurer's claims, or a branch queue system. Reports run every month and are relied on by client managers, often under strict confidentiality rules. Prepare to explain how you check numbers others trust, find unusual records, match customers across systems and settle two reports that disagree. What to show here: numbers a client can rely on, explained in plain words. Each question below has what the interviewer is checking, an answer frame and a sample spoken answer to adapt.
How TCS hires, in its own words, and its questions for every job →
“I was preparing the monthly claims report for an insurance client when I noticed that reopened claims were counted twice, once for each opening. The report had gone out this way for months. I checked it against the source system for a sample, then measured how far each past month was off. I told my lead the same day, and we informed the client with corrected figures and a short explanation. It was uncomfortable, but they thanked us for finding it. I added a check that compares claim counts with the source system before each report goes out. The result was your result.”
Weak answers fix the report quietly going forward and hope nobody compares it with the old figures.
“For a bank client, all analysis had to run inside their environment through a remote desktop, and names and account numbers were masked before I saw them. I could not use my usual tools, so I learned the query tool they provided. Grouping by a masked id still worked for most questions. When I needed to link records from two tables and the masking differed, I asked their data team to create a consistent key rather than asking for the raw fields. Results left the environment only as aggregate tables, checked by their team. It was slower, but the client trusted the work. The result was your result.”
Weak answers copy data to a laptop to work faster, or treat the rules as an obstacle to work around.
“I would first build a baseline for each account from the previous several months: the average withdrawal and a measure of spread, using GROUP BY on the account. Then I join this month's withdrawals to that baseline on account id and keep rows where the amount is greater than the average by an agreed multiple. The median may be better than the average, because one earlier large withdrawal can raise the average. Accounts with very few past transactions need a separate rule, since their baseline means little. I would review a sample with the client before they use the list.”
Weak answers use one fixed amount for all accounts, or compare against a baseline that includes the current month.
“I would measure the time from when a customer takes a token to when service begins, using the system's own timestamps. The comparison must be fair, so I would match the same days of the week and the same part of the month as before, because month ends are busier. A trap is that the mix of visitors changes. If long waits made some customers leave before taking a token, the old figures were already flattering. I would report the median and the slowest tenth, split by branch and by type of service, because an average can hide a few branches that got worse.”
Weak answers compare one average before with one average after, without thinking about who is being measured.
“I would first standardise the fields: trim spaces, fix letter case, put dates of birth in one format and tidy addresses. Then I match in passes. The first pass uses strong combinations, like date of birth with phone number or a national id. The second pass uses looser rules, such as similar names with the same date of birth and postal code, and gives each pair a score. High scores are accepted, low scores rejected, and the middle band goes to a person for review. I would check a sample of accepted matches by hand to estimate errors, because merging two different people is worse than missing a match.”
Weak answers match on name alone, or accept every loose match without review.
“A policy can have many claims. When I join policies to claims, a policy with three claims appears in three rows, so its premium is added three times. Policies with no claims also vanish if I use an inner join. The fix is to total each table separately first. One subquery sums premium by policy type from the policies table. Another sums claims by policy type from the claims table, joined to policies only to get the type. Then I join the two small results on policy type with a LEFT JOIN. I confirm the premium total equals the sum from the policies table alone.”
Weak answers add DISTINCT and hope, without understanding why the rows repeated.
“I would not guess which is right. Often both are right for different definitions. I would compare what each report counts: whether returns are removed, whether tax is included, whether sales are dated by order or by invoice. Then I check the source tables and when each report was run, since late entries can change a month. To find the gap, I break both totals down by region and by week and see where they differ. Once I find the reason, I explain it to the client in one paragraph and propose one agreed definition, with its name written on both reports.”
Weak answers pick the report they built themselves, or give the client a technical answer they cannot use.
“I enjoy the moment when a number is finally explained and someone can act on it. At TCS the data would belong to client companies in banking, insurance, retail and other fields, so each project means learning how a different business works. I like that. I also understand the responsibility: the data is confidential, and client managers make decisions from what I send. I have worked on recurring reports and know the value of checks and clear definitions. I want to learn more domains and become an analyst a client asks for by name.”
Weak answers talk only about tools and dashboards, and show no interest in the client's business.
No figures on this page: pay depends on the level, the city and the offer in front of you. When the offer comes, the free salary negotiation script helps with that part.
ClapAssist is an AI interview assistant for Mac and Windows. It listens to the interview on your computer and shows you what to say, in short lines you can read while you talk. Your live interview audio and screen are never stored. Your resume and notes are saved to your account so the app fills them in on any computer. It is hidden from screen share on every plan, including Free; only you can see it.