InterviewStack.io LogoInterviewStack.io

Data Processing and Transformation Questions

Focuses on algorithmic and engineering approaches to transform and clean data at scale. Includes deduplication strategies, parsing and normalizing unstructured or semi structured data, handling missing or inconsistent values, incremental and chunked processing for large datasets, batch versus streaming trade offs, state management, efficient memory and compute usage, idempotency and error handling, and techniques for scaling and parallelizing transformation pipelines. Interviewers may assess problem solving, choice of algorithms and data structures, and pragmatic design for reliability and performance.

HardTechnical
34 practiced
Given a high-volume stream of nested JSON events where each event can contain arbitrarily large arrays of items, describe a streaming parser (in Python or pseudocode) to normalize into two relational outputs: events and event_items. The parser must avoid buffering entire events in memory, manage schema changes over time, and write partitioned Parquet outputs with small memory footprint. Include how you'd handle backpressure and partial failures.
EasyTechnical
30 practiced
You have a semi-structured free-text address field 'raw_address' with inconsistent layouts across countries. Describe a robust Python-based strategy to parse and canonicalize into components: street_address, city, state/region, postal_code, country. Mention regex heuristics, parsing libraries (libpostal), confidence scoring, and how you'd validate or improve accuracy with external services (geocoders).
HardTechnical
39 practiced
Implement (or describe in code/pseudocode) an algorithm to compute a rolling 7-day sum per user for a dataset that doesn't fit in memory. You may use Python plus a disk-backed KV store (RocksDB, SQLite) or external sorting. Explain how you will stream input, maintain per-user rolling state efficiently, flush and compact state, and emit results partitioned by date.
MediumTechnical
28 practiced
Given a 'transactions' table(transaction_id, user_id, amount, occurred_at), write SQL using window functions to: (a) flag duplicate transactions for a user with identical amount occurring within 60 seconds, and (b) flag per-user outliers where amount > mean + 3*stddev over the user's prior 365 days. Provide SQL compatible with PostgreSQL or BigQuery and explain handling of users with limited history.
HardTechnical
29 practiced
For fuzzy duplicate detection across 500M customer profiles (name, address, email), evaluate using Locality Sensitive Hashing (MinHash) to find candidate pairs. Discuss how to choose shingle/tokenization strategy, MinHash signature size, banding parameters, expected index size and memory needs, distributed implementation considerations, and how to evaluate precision/recall. Propose a pipeline to confirm candidate pairs efficiently.

Unlock Full Question Bank

Get access to hundreds of Data Processing and Transformation interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.