Menu

Course · Interview foundations

DSA

DSA rounds in Data Engineering interviews are usually easy to medium problems on arrays, hashing, strings, two pointers and sliding windows, sometimes graphs or DP.

Lessons
16
Interview questions
67
Projects & case studies
0
Reading time
~5 h

About this course

Data Engineering interviews usually include at least one coding round. It is rarely the hardest part of the loop, but it is the easiest one to fail through lack of practice. Expect easy to medium problems built on arrays, hashing, strings, two pointers and sliding windows, with graphs (especially topological sort for dependency resolution) and dynamic programming appearing at some companies.

This course teaches each pattern once, properly: how to recognise it, a tested Python template, its complexity, the common bugs, and where the same idea shows up in real pipeline work. Start with the pillar guide, then work through the patterns in order.

Your progress

Saved in this browser only

Practise

Course structure

Lessons

Work through the lessons in order. Completed lessons show a tick; lessons you have opened are outlined.

Start here

The complete overview of the course in one read.

  1. Data Structures and Algorithms for Data Engineers: How to PrepareBig-O, a repeatable method for coding rounds, the Python built-ins that solve most problems, and a study plan for the 157 practice problems in the planner.Beginner19 min

Beginner

Core concepts you will use every day.

  1. Arrays and Hashing: Sets, Hash Maps, Prefix Sums and IntervalsThe most common coding-interview pattern: seen sets, value-to-index maps, counting, prefix sums, Kadane, intervals, matrices and bit tricks, with tested Python.Beginner25 min
  2. Strings for Coding Interviews: Immutability, Scanning and ParsingHow Python strings work, the scanning and parsing templates behind string problems, and how they map to cleaning keys and parsing messy fields in pipelines.Beginner9 min
  3. Two Pointers: Converging, Read-Write and Partitioning TemplatesUse two indices to replace nested loops: converging pointers on sorted data, read-write compaction, three-way partitioning, and the sort-merge join behind them.Beginner12 min
  4. Queues: FIFO Buffers, Ring Buffers and Queue Design ProblemsHow queues work, deque versus list, building queues from stacks and a ring buffer, time-window counters, and the buffering ideas behind message queues and Kafka.Beginner11 min

Intermediate

Patterns used in production pipelines.

  1. Sliding Window: Fixed, Variable and Monotonic-Deque TemplatesSolve contiguous subarray and substring problems in one pass with fixed and variable windows and a monotonic deque, and see how they power streaming metrics.Intermediate13 min
  2. Stacks: Matching, Evaluation and Monotonic Stack TemplatesUse Python lists as stacks for bracket matching, expression evaluation, min-tracking and monotonic stacks, with tested code and the pipeline jobs they map to.Intermediate12 min
  3. Binary Search: Exact Match, Boundaries and Searching the AnswerOne reliable binary search template for exact matches, first and last positions, rotated arrays and searching on the answer, plus as-of lookups and partition pruning.Intermediate13 min
  4. Linked Lists: Pointer Rewiring, Fast and Slow Pointers, LRU CacheReverse, merge, split and reorder linked lists safely with dummy nodes and fast and slow pointers, then build an LRU cache and a k-way merge in Python.Intermediate20 min
  5. Binary Trees and Tries: DFS, BFS and Prefix Search TemplatesTraverse binary trees with recursive and iterative DFS and level-order BFS, return values up the tree, build and serialise trees, and use tries for prefix search.Intermediate21 min
  6. Binary Search Trees: Ordering, Validation, Insert and DeleteUse the BST ordering rule to search, validate, insert, delete and find the k-th smallest value, and see how the same idea underlies B-tree indexes and range scans.Intermediate13 min
  7. Heaps and Priority Queues: Top-K, Scheduling and Running MediansUse Python's heapq for top-K, k-th largest, k-way merges, task scheduling and running medians, with the bounded-memory streaming patterns Data Engineers rely on.Intermediate18 min
  8. Greedy Algorithms and Intervals: Safe Local Choices and SweepsWhen a locally best choice is provably safe: reach, gas station, grouping and partition problems, plus interval sweeps used for sessionisation and time ranges.Intermediate16 min

Advanced

Performance, internals and edge cases.

  1. Backtracking: Subsets, Combinations, Permutations and Grid SearchOne choose-explore-unchoose template for subsets, combinations, permutations, partitions, word search and N-Queens, with duplicate handling, pruning and itertools.Advanced17 min
  2. Graphs: BFS, DFS, Topological Sort, Union-Find and Shortest PathsModel problems as graphs and solve them with grid DFS and BFS, topological sort for DAG dependencies, union-find, Dijkstra, Bellman-Ford and minimum spanning trees.Advanced29 min
  3. Dynamic Programming: States, Transitions and the Classic DP FamiliesA repeatable method for dynamic programming: define the state and transition, pick memoisation or a table, then solve 1D, grid, string and knapsack problems.Advanced27 min

Resources

Related courses

Plan your learning

Search
Filter by type