InterviewStack.io LogoInterviewStack.io

Fundamental Algorithms and Techniques Questions

Covers core algorithmic concepts and problem solving patterns commonly assessed in technical interviews. Topics include searching algorithms such as binary search; sorting algorithms such as merge sort and quick sort; graph traversal methods such as breadth first search and depth first search; recursion and divide and conquer techniques; greedy heuristics; and dynamic programming including memoization and tabulation. Also includes implementation patterns such as two pointers, sliding window, prefix sums, and divide and conquer composition, as well as practical considerations like in place versus out of place implementations, stability for sorting, recursion stack and memory usage, and amortized analysis. Candidates should be able to implement these algorithms correctly, explain correctness and trade offs, analyze time and space complexity using Big O notation for best case average case and worst case, select appropriate approaches given input constraints, combine patterns to solve composite problems, and optimize or refactor solutions while handling edge cases.

HardSystem Design
71 practiced
Design an algorithm to compute the minimal set of delta log files to replay in order to reconstruct latest system state given periodic checkpoints and many append-only delta files. Describe data structures for indexing checkpoints, handling overlapping deltas, and minimizing IO during recovery. Consider compaction strategies and tradeoffs.
EasyTechnical
67 practiced
Implement two_sum(nums, target) in Python that returns indices of two numbers that add up to target. The array is unsorted and you should aim for O(n) time and O(n) space. Explain how you would adapt the approach if the numbers arrive as a large stream and you must answer many queries.
MediumSystem Design
89 practiced
Compare hash join and sort-merge join for joining two large relations in batch processing. Explain algorithms, memory usage, behavior when one side is much smaller, spill-to-disk mechanics, sensitivity to data skew, and how you would choose an algorithm for a particular data size and cluster resource profile.
HardSystem Design
67 practiced
Design a streaming pipeline that provides exactly-once semantics for aggregated counts when input is delivered at least once, messages may be retried, and sinks are external systems without native transactionality. Describe algorithms for deduplication, idempotent updates, checkpointing, and how frameworks like Flink or Kafka Streams achieve exactly-once guarantees. Discuss tradeoffs and performance implications.
HardTechnical
67 practiced
A Spark job performs a wide shuffle join and suffers from OOM errors and long GC pauses. As a senior data engineer, propose algorithmic and configuration changes to reduce memory pressure and shuffle cost. Address partitioning, broadcast join criteria, use of map-side combine, serialization, compressions, and speculative retries. Explain why each change helps.

Unlock Full Question Bank

Get access to hundreds of Fundamental Algorithms and Techniques interview questions and detailed answers.

Sign in to Continue

Join thousands of developers preparing for their dream job.