← Back to Directory

TCS

Large Enterprises

placeholder

2 interview notes · updated Jul 2026

TCS·Data Scientist·Technical Phone Screen

May 2026
TCS data scientist interview that went pretty deep into Tableau internals, specifically blending vs joining, order of operations, and LOD edge cases. Not a casual screen at all, felt more like a written technical exam disguised as an interview.
  • Given two Tableau data sources (Orders and Targets), walk through the exact rows and aggregated Sales/MonthlyTarget values that result from a physical inner join versus a left join on State and Category.
  • Explain precisely how Tableau's data blending works when Orders is the primary source and Targets is secondary, including what happens to unmatched combinations like NY-Technology, TX-Furniture, and FL-Technology in terms of null vs zero values.
  • How does Tableau's order of operations affect the view results when you apply each of the following separately: a dimension filter on Category from Orders, the same filter from Targets, a context filter on State, a measure filter on SUM(Sales), and a data source filter on Targets?
  • Describe two concrete scenarios where blending and joining produce different aggregate values due to granularity mismatches or many-to-many relationships, using the provided Orders and Targets data as examples.
  • When would you choose blending over joining in Tableau? Cover cross-database scenarios, granularity requirements, linking field behavior, performance implications, and limitations around FIXED LOD expressions and table calculations in secondary sources.

“I knew the mechanics but fumbled on spelling out which rows survive the inner join row by row.”

View Post

TCS·Data Scientist·Technical Phone Screen

Apr 2026
TCS Data Scientist interview that was basically one long algorithmic deep-dive on duplicate detection in Python lists. Pretty technical for a DS role, but they clearly wanted someone who could reason about complexity tradeoffs and not just pandas their way through everything.
  • Write an O(n) time solution to find all values appearing more than once in a Python list, along with their counts and first-occurrence index, preserving the order of first appearance.
  • If the integers are guaranteed to be in the range 0 to n-1 and you can modify the list in place, how would you find duplicates in O(n) time and O(1) extra space? How does your approach change if negative numbers might appear?
  • For a stream of up to 100 million integers that can't fit in memory, how would you design a solution to find duplicates? Walk through both disk-based and probabilistic approaches and discuss error bounds.
  • Compare hash-based counting, sort-based methods, and bitmap approaches for duplicate detection across large integer domains. What are the worst-case behaviors and cache implications of each?
  • Write comprehensive tests for your duplicate-finding function, covering edge cases like empty input, all-unique values, all-duplicates, very large inputs, and mixed positive/negative integers.

“Used a dict to track count and first index in one pass, then a separate list to preserve insertion order.”

View Post