Data Structures & Algorithms
DSA is the study of how to organise data and traverse it efficiently, and the vocabulary of patterns that lets you recognise which technique a new problem wants. Its demand is driven mostly by hiring filters rather than daily work, but the pattern recognition genuinely transfers.
Assumes you know: Fluency in one language — loops, recursion, arrays, hash maps, classes, Comfort reading and reasoning about a function you did not write
Overview
What this area actually covers
Data structures and algorithms is two questions asked together: how do you lay data out so the operations you need are cheap, and what sequence of steps gets you an answer without redundant work. A data structure is a layout plus the cost of its operations — a hash map buys constant-average lookup at the price of ordering and memory, a balanced binary search tree buys ordering back at logarithmic cost, an array buys cache locality at the price of insertion. An algorithm is a strategy over that data, and the interesting ones exploit some structure the naive approach ignores: sortedness, monotonicity, overlapping subproblems, or the fact that you only need the best K of something rather than all of it.
The interview scope is narrower than the academic field. You are expected to be fluent with arrays and strings, hash maps and sets, linked lists, stacks and queues, heaps, trees, graphs, and the technique families — two pointers, sliding window, binary search on the answer, dynamic programming, greedy, backtracking, union-find, monotonic stacks. You are not expected to derive amortised bounds for a Fibonacci heap.
Three things get wrongly bundled in. Competitive programming is a genuinely different sport, optimised for speed under contest constraints and reaching into number theory and geometry interviews do not touch. System design is a separate discipline with separate rounds. And language trivia — how CPython's list growth works — is a language question wearing an algorithms costume.
Where to go next
Now practise it
57 interview questions in Data Structures & Algorithms, each with the rubric the interviewer is scoring against.
- Assign n tasks to n workers at minimum cost, with n up to 20. Why a bitmask, and what does it cost?
- Find the cheapest flight from one city to another using at most K stops. Why does plain Dijkstra give the wrong answer?
- Count the islands in a grid of land and water. Then land is added one cell at a time, and you report the island count after every addition.
- Find the rotation point of a rotated sorted array, then do it again when the array has duplicates.