Reviewed by Aditya Kumar · Last reviewed 2026-03-24
**Why Merge Sorted Arrays:** Mergesort's merge step, merge K sorted streams (logs from multiple sources), and combining partitioned data. **Two Arrays:** Two pointers, O(m+n). K arrays: (1) Merge pairwise—O(N log K). (2) Heap of (value, stream_id)—O(N log K). Python:...
Why Merge Sorted Arrays: Mergesort's merge step, merge K sorted streams (logs from multiple sources), and combining partitioned data.
Two Arrays: Two pointers, O(m+n). K arrays: (1) Merge pairwise—O(N log K). (2) Heap of (value, stream_id)—O(N log K). Python: heapq.merge(a, b, c)—lazy, memory-efficient for large streams.
Scalability: heapq.merge doesn't load all into memory—streams. For Spark: merge sorted part files via sortMerge join. At Pubmatic, we merge per-partition sorted event streams.
merged = list(heapq.merge(sorted_a, sorted_b)) # lazy
Red Flag: Concatenate then sort—O(N log N) vs O(N) for merge. Pro-Move: 'heapq.merge for 50 log streams—constant memory, single pass.'
According to DataEngPrep.tech, this is one of the most frequently asked Python/Coding interview questions, reported at 1 company. DataEngPrep.tech maintains an editor-reviewed database of 1,863 data engineering interview questions across 7 categories.